Optimizare ziar online: Observator de Bacau

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 o gazduire dedicata, schimbarea temei WordPress cu una mai lightweight si, evident, rezolvarea widgeturilor respective.

7 responses

  1. Avatar Cristi
    Cristi

    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

    1. Avatar Andrei Chira
      Andrei Chira

      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.

      1. Avatar Cristi
        Cristi

        Mersi de info.

        Ce tool ai folosit pentru masurarea vitezei de incarcare a site-ului?

        1. Avatar Andrei Chira
          Andrei Chira

          O extensie de Chrome, PageRank Status se cheama.

          1. Avatar Cristi
            Cristi

            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”

  2. Avatar Farcas+Gelu+Danut
    Farcas+Gelu+Danut

    Observatorul de Bacau vad ca este gazduit de Talex Web, nu?

    1. Avatar Andrei Chira
      Andrei Chira

      Da, asa este, a plecat de la noi pentru că avea nevoie de o soluție completă: găzduire, mentenanță, administrarea conținutului, design / programare, iar noi nu oferim decât găzduire, optimizare de performanță și mentenanță (tehnică).

Lasă un răspuns

Adresa ta de email nu va fi publicată.