Optimizarea WordPress”,

  • 15 Acțiuni
  • Facebook
  • Stare de nervozitate
  • pinterest

Folosesc WordPress ca CMS în miezul.net, spațiul mamă al site-ului meu, și ca manager de blog în copiii originalului, printre care se numără lectii (acest blog). De ceva vreme am probleme la postarea postărilor, mai ales pe site-ul părinte. După stocarea articolului în baza de date, apărea o pagină de eroare și dacă încercam să accesez pagina de start a site-ului nu se încărca sau apărea goală. Am verificat baza de date, scripturi și tot ce controlează managerul, dar în ciuda diferitelor modificări (chiar am schimbat șablonul) eroarea a continuat să apară.

unde a fost vina?

Ieri am început să studiez cu atenție baza de date. Deja descoperisem că era o masă mare, wp_postmeta (prefixul, wp, poate fi diferit dacă a fost schimbat în instalarea WordPress). L-am studiat in detaliu si am descoperit ca exista un parametru care se repeta de mai multe ori si ca era insotit, intr-un alt camp (meta_value, de tip longtext), de continut care ocupa mult spatiu. Am descoperit că respectivul parametru corespundea unui plugin, Conținut mai bine înrudit. Am dezactivat pluginul și am făcut o curățare a tabelului menționat folosind următoarea interogare SQL în phpMyAdmin:

DELETE FROM wp_postmeta WHERE meta_key = "better-related-";

Optimizați tabelul

Apoi am optimizat tabelul verificându-l și folosind opțiunea de meniu corespunzătoare (dreapta jos a phpmyAdmin: Optimize Table). Dimensiunea bazei de date a fost redusă cu peste 130 de megaocteți, de la peste 170 la puțin peste 40. În miezul.net Am publicat vreo 2.400 de bilete. Rezultatele au fost total satisfăcătoare. Bug-urile au dispărut și paginile, cel puțin până acum, se încarcă mai repede.

Mai multa curatenie

Notă: Am repetat operația anterioară în toate blogurile în care instalasem respectivul plugin. Am profitat de procesul de curățare ștergând alte meta_keys din același tabel. Am folosit următoarea interogare SQL:

DELETE FROM wp_postmeta WHERE meta_key = "_edit_lock"; DELETE FROM wp_postmeta WHERE meta_key = "_edit_last"; DELETE FROM wp_postmeta WHERE meta_key = "_wp_old_slug";

Amintiți-vă că poate fi necesar să vă schimbați wp_postmeta cu un alt nume, cel care corespunde tabelului din baza ta de date. Trebuie doar să modificați prefixul.

________________________________

Actualizare (6-04-2011): Continuand cu procesul de curatare am descoperit ca mai exista o masa, wp_commentmeta, care are și o dimensiune peste normală. Acest lucru se datorează faptului că menține relații între poartă, aici stocate, și comentariile. Nu are prea mult sens ca unele dintre aceste domenii să existe, deoarece acea relație nu mai există. Ce am facut? Curățați acest tabel folosind următoarea instrucțiune din fereastra de interogare phpMyAdmin SQL:

DELETE FROM wp_commentmeta WHERE comment_id NOT IN (SELECTARE comment_id FROM wp_comments);

________________________________

Actualizare (24-09-2011): In masa wp_options cu prefixul se acumulează o serie de date _tranzitoriu care provin din datele acumulate în cache, cum ar fi datele din fluxurile RSS. Aceste jurnale ocupă spațiu inutil, așa că este o idee bună să le ștergeți. Pentru a face acest lucru, trebuie să folosim o interogare SQL în phpMyAdmin cu următoarea instrucțiune:

SELECTează opțiunea_nume FROM wp_options WHERE opțiunea_nume LIKE '_transient_timeout%' AND option_value < now();

Rețineți că dacă tabelele din instalarea dvs. WordPress nu au prefixul wp_, trebuie să-l schimbați în instrucțiunea anterioară.

  • 15 Acțiuni
  • Facebook
  • Stare de nervozitate
  • pinterest

Lasă Un Comentariu

Please enter your comment!
Please enter your name here