Observatorul de Bacau este un saptamanal pe hartie si cotidian online cu stiri si informatii din judetul Bacau.
Timpul de incarcare al site-ului inainte de mutarea la Simplenet era de 6,37 secunde.
Prima pagina avea 66 de elemente cu o dimensiune totala de 1105.9 KB.
Problema principala nu era insa dimensiunea paginii, performantele slabe ale site-ului fiind date de lipsa de optimizare a bazei de date.
Optimizarea bazei de date
Desi e firesc ca un ziar online sa aiba o baza de date masiva datorita volumului mare de continut publicat de-a lungul anilor, am gasit la Observatorul de Bacau o baza de date extrem de mare, de 1.2 GB.
Ca sa va faceti o idee, un export al bazei de date a produs un fisier cu peste 200 milioane de linii.
In baza de date au ramas tabele create de pluginuri vechi, folosite o perioada si apoi dezinstalate, si am descoperit un spatiu destul de mare ocupat de indecsi, diverse tabele avand indecsi duplicati.
Ca exemplu, tabela wp_posts avea ~150 MB de date si ~450 MB de indecsi, deci de 3 ori mai mult spatiu ocupat de indecsi decat de datele propriu-zise.
Am curatat baza de date stergand indecsii duplicati si eliminand tabelele si datele vechi si nefolositoare. Am facut apoi o reparare si optimizare si am astfel am reusit sa reducem la mai putin de jumatate dimensiunea bazei de date, ~510MB.
Curatarea fisierelor
Spatiu ocupat pe server era de peste 13 GB, existau 6 instalari WordPress in diverse foldere si subfoldere, vechi, neactualizate si care nu mai erau folosite.
Acele instalari de WordPress cu toate temele si pluginurile vechi si neactualizate reprezinta potentiale probleme de securitate.
Totodata, am gasit error_logs de dimensiuni foarte mari, de peste 1 GB, cu erori datand din 2008.
Dupa ce am efectuat un backup al intregului cont de gazduire am inceput sa eliminam tot ce era in plus.
Optimizarea imaginilor
Un alt aspect care afecta performanta site-ului era data de pozele neoptimizate pentru web.
Aceasta e o problema obisnuita a ziarelor online, exista mai multi autori ce publica articole pe site si care, de multe ori, urca pozele direct la rezolutia facuta de aparatul foto.
Am gasit in galeria WordPress poze la rezolutii foarte mari, chiar si de 12 megapixeli, care ocupau foarte mult spatiu pe disk si care afectau viteza de incarcare a paginilor in care acestea erau afisate.
Am identificat aceste poze foarte mari si le-am facut resize la 1024*1024px, o rezolutie normala pentru vizualizarea pozelor online, dupa care le-am optimizat pentru a mai scade numarul de KB ocupati pe disk.
Am reusit prin acesta sa reducem spatiul ocupat pe disk de la 13 GB pana la sub 4 GB.
Optimizare pluginuri
Ziarul avea 22 de pluginuri active, unele dinte ele nerecomandate, cum ar fi WP Postviews care face scrieri destul de ineficiente in baza de date la fiecare afisare a unei pagini.
Am inlocuit pluginurile neperformante cu variante mai bune, am eliminat pluginurile redundante si am scazut numarul de pluginuri la 16.
Am mai adaugat o combinatie de pluginuri care fac page cache (fara sa consume multe resurse ale serverului) si database cache.
Avand in vedere ca exista un numar mare de imagini afisate pe site am implementat o solutie de incarcare intarziata a imaginilor (Lazy Load) pentru a obtine o viteza mai mare – imaginile din partea de jos a site-ului se incarca doar atunci cand vizitatorii fac scroll.
Am actualizat atat WordPress cat si toate pluginurile la ultimele versiuni, lucru pe care il recomandam tuturor proprietarilor de site-uri, de altfel.
Concluzie
Observatorul de Bacau este gazduit acum pe un pachet de hosting shared cu LiteSpeed iar, dupa optimizarea facuta, viteza medie de incarcare a site-ului este de 2,65 secunde, cu o imbunatatire de 60% fata de hostingul anterior.
S-ar putea si mai bine insa exista anumite lucruri externe care afecteaza negativ viteza de incarcare si anume widgeturile cu vremea si cursul valutar care preiau date de pe alte servere.
Pentru o viteza mai mare recomandam un pachet cu Nginx, schimbarea temei WordPress cu una mai lightweight si, evident, rezolvarea widgeturilor respective.
Foarte bun studiul de caz.
Desi ar prinde bine si un tutorial despre cum sa faci toti acesti pasi. Cum ai facut optimizarea bazei de date? cu un plugin sau se poate face manual intr-un fel?
Indecsii sunt buni? sau se pot sterge? nu stiu exact la ce se refera.
p.s. puteai sa pui si link spre site-ul optimizat. L-am gasit pe google, dar a fost un efort in plus :P
Din phpMyAdmin se poate face un REPAIR si un OPTIMIZE, care sunt operatii simple si se fac cu un click. Gasirea indecsilor duplicati si stergerea sunt operatii care se fac manual.
Indecsii sunt buni, noi am eliminat doar indecsii duplicati.
Am pus si link catre ziar, mersi.
Mersi de info.
Ce tool ai folosit pentru masurarea vitezei de incarcare a site-ului?
O extensie de Chrome, PageRank Status se cheama.
Ce tare, mersi! il aveam si eu instalat, dar doar ca sa vad pagerank-ul la site-uri. nu stiam ca poti verifica si viteza.
p.s. ar merge tradus formularul asta de comentat. „leave a replay, post comment, etc”
Observatorul de Bacau vad ca este gazduit de Talex Web, nu?
Da, asa este.