Clean Wordpress Baza de date a scoate categorii goale

Scris pe 04 noiembrie 2009 / / Wordpress.

wp clean Clean Wordpress Database removing empty categories Dacă deţineţi un număr foarte mare de instalare Wordpress ca o am pe a face cu LinuxFeed, probabil că nu se poate uita manual pentru categoriile gol şi a le elimina de la panoul de administrare.

Cu 13.000 de posturi şi 14.000 + + categorii este destul de imposibil să folosească WordPress GUI pentru gestionarea, şi plugin-uri mari precum WP-Optimizaţi sau Optimizaţi PB-ar putea ajuta, dar acestea nu uita pentru categorii de gol. Aşa că am reuşit să creeze interogări simple pentru a selecta şi apoi scoateţi toate cele nefolosite.

Asiguraţi-vă să înţeleagă că, prin categoria I spun totul: categoria posturi, tag-ul de posturi şi categoria de link-uri. Toate acestea, dacă sunt goale, vor fi eliminate.

Va rog sa retineti

După efectuarea ştergere, nu este posibil pentru a anula. Vă rugăm să vă asiguraţi că toate datele de backup înainte de a continua. Reţineţi că această a lucrat pentru mine pe Wordpress 2.8.5, şi ar putea să nu funcţioneze cu alte versiuni. Mai departe, la propriul risc

Listă goală CATEGORII

De la instalarea dvs. phpMyAdmin sau prin intermediul MySql instrument de linie de comandă, încercaţi să rulaţi această interogare.

  SELECTATI
	 howmany x.count AS,
	 Numele t.name AS
 DE LA
	 wp_terms AS T,
	 wp_term_taxonomy ca x
 WHERE
	 t.term_id = x.term_id
 ORDER BY
	 x.count 

Rezultatul ar trebui dat lista de toate categoriile de dumneavoastră, împreună cu numărul de posturi conţinute. În plus, rezultatul este dispusă de către numărul de posturi, astfel încât categorii gol ar trebui să fie pe primele locuri.

Dacă doriţi doar să ieşire pisică goale, puteţi folosi ca declaraţie în care se arată mai jos

  SELECTATI
	 howmany x.count AS,
	 Numele t.name AS
 DE LA
	 wp_terms AS T,
	 wp_term_taxonomy ca x
 WHERE
	 t.term_id = x.term_id ŞI
	 x.count = 0
 ORDER BY
	 x.count 

În cazul meu am primit 1252 rezultat care este de 8.78% din categoriile mele.

Rezultate rânduri 0 - 29 (1252 total, interogare a luat 0.0110 sec)

Del-le pe toate

Dacă faceţi dublu verificat că sunt într-adevăr lor goale, puteţi începe prin ştergerea tot ceea ce enumerate mai înainte. Iată de interogare

  DELETE t, x
 DE LA
 wp_terms AS T,
 wp_term_taxonomy ca x
 WHERE
 t.term_id = x.term_id ŞI
 x.count = 0 

Aşa cum această interogare nu a şterge atât numirea categoria şi de masă sale taxonomie, ar trebui să aveţi eliminat aproape de 2 ori numărul de rânduri returnate de către selectaţi precedent. În cazul meu

Rânduri şterse: 2503 (interogare a luat 0.8415 sec)

Tabelul de optimizare

După o astfel de operaţiune Ştergere este bine pentru a optimiza tabele afectate MySql, atât pentru a spaţiu liber deasupra capului şi pentru a îmbunătăţi performanţele. Chiar dacă aveţi posibilitatea să efectuaţi o astfel de operaţiune, direct de la GUI phpMyAdmin, de mai jos este codul SQL pentru a rula de optimizare.

  OPTIMIZAŢI TABLE `wp_terms`, `wp_term_taxonomy` 

Cron ea

Probabil că este o bună practică pentru a menţine tabele curat, poate rulează această procedură ca un Cron. Am creat un loc de muncă simplu, ştergerea tuturor categoriilor de gol în fiecare luni, la 3:00. tu ar trebui să creeze o suită la mai bine necesitatilor dumneavoastra.


  • Multumesc mult pentru acest post. Am avut o stivă de tag-uri a lua autogenerated de un plug-in fructe cu coajă lemnoasă plecat, şi sa încheiat cu peste 5000 de tag-uri .. făcute WP sooooo lent. Acest lucru stabilit-o pentru mine .. Am lucrat, probabil, ar fi putut să-l dar Google gasit tu primul!

    O favoare în schimb: Am avut o stivă de comentarii de stabilire a aproximativ de la posturile pe care am avut elimină. Următoarele SQL vă permite să găsiţi orfani comentarii

    SELECT * FROM `wp__comments`
    Cazul în care nu există (SELECT ID-ul de la wp_posts în cazul în care wp_comments.comment_post_ID = wp_posts.ID)
  • Multumesc mult, SQL-ul este teribil de util! Am avut prea orfan comentarii (şi nu am ştiut la)
comentarii blog-ul creat de Disqus