Optimizare blog personal: arielu.ro

Optimizare viteza website

Ariel Constantinof este omul din spatele Tribul.eu – primul și probabil singurul serviciu de curierat pe bicicletă din București.

Arielu.ro, blogul personal, are câteva sute de unici zilnic. Problema apărea la publicarea câte unui articol mai popular. Serverul vechi nu reușea să susțină spike-urile de trafic care se ridicau până la 1000 unici pe zi.

Prima pagina a blogului are 41 componente și o mărime totală de 2402,2K din care imaginile totalizau 2232,4K. Timpul mediu de încărcare este de 3,94 secunde.

Tema folosită e destul de minimalistă, numărul de fisiere JS și CSS e la un nivel normal. Singura problemă e cu pozele, sunt 2MB de poze care se încarcă pe prima pagină.

O altă problemă cu pozele este că sunt încărcate la rezoluție 960x456px dar sunt afișate la rezoluție 422x202px. Asta înseamnă că browserul lucrează ca să le redimensioneze, ceea ce afectează perfomanța. Rezoluția mai mare înseamnă de obicei și mai mulți KB.

Soluția ar fi încărcarea de poze exact la rezoluția 422x202px. Acest lucru ar mai diminua dimensiunea totală în KB a paginii însă ar rămâne totuși destul de mare, peste 1MB.

Ideal aici este să implementăm Lazy Load și astfel pozele să se încarce treptat, pe măsură ce utilizatorul face scroll, mărind astfel viteza de încărcare percepută de utilizator.

Rezultatul este că prima pagină (above the fold) are acum 26 componente totalizând 199,4K.

În continuare, ne-am îndreptat atenția și către paginile interne, pentru că vizitatorii nu ajung mereu pe prima pagină ci mai degrabă intră pe paginile articolelor venind de pe Facebook, Twitter, etc.

O singură problemă am descoperit, se încarcă de 2 ori JS-ul Facebook, asta înseamnă 174K în plus. Un JS e încărcat de pluginul de share iar celălalt de widgetul „Urmărește-mă pe Facebook”.

Recomandarea mea este să se înlocuiască pluginul de share cu Jetpack for WordPress care folosește un singur JS de 38,5K. Astfel se elimină o serie întreagă de JS-uri: și cel de Facebook de 174K, și cel de Twitter de 87K, și cel de Google Plus de 99,4K.

Asta ar însemna o reducere cu 50% a dimensiunii paginii.

Tema & Pluginuri

Tema folosită nu pare a avea probleme de performanță, este o temă bine făcută. Există implementat un page cache, nu e cel mai bun plugin pentru asta dar e destul de ok.

Dintre pluginuri, singurul care este cunoscut ca fiind cu probleme este WP PostViews care face scrieri foarte ineficiente în baza de date la fiecare afișare a unei pagini.

Recomandarea este să se folosească Jetpack Stats sau Google Analytics pentru statistici. Însă dacă obiectivul este să se afișeze vizitatorilor câte afișări are articolul pe care-l citesc, din păcate trebuie folosit WP PostViews (cel puțin până dezvoltă cineva un plugin asemănător dar care să folosească API-ul Jetpack).

Alte recomandări

De șters pluginurile și temele nefolosite și de actualizat la ultima versiune pe cele folosite.

De exemplu, se folosește un plugin care scanează pentru exploit-urile timthumb.php. Timthumb nu este folosit de tema activă dar există pe server în alte teme nefolosite. Ideal ar fi să fie șterse temele respective ceea ce ar face ca pluginul respectiv să devină inutil și să poată fi șters la rândul lui.

Nu se știe niciodată ce probleme pot exista în codul sursă al diverselor teme și pluginuri. Eliminarea celor nefolosite de pe server previne potențialele găuri de securitate. Totodată, elimină și nevoia de a avea activate pluginuri de securitate care în general afectează performanța site-ului deoarece scanează permanent serverul.

În privința securității, e de ajuns un plugin care să blocheze încercările neautorizate de logare în wp-admin. Singura condiție este ca WordPress-ul, tema și pluginurile active să fie actualizate iar fișierele și folderele care sunt în plus să fie șterse de pe server.

Concluzie

Mutarea la Simplenet și optimizarea site-ului au însemnat pentru arielu.ro:

  • viteză mai bună de încărcare a blogului
  • susținerea unui trafic mai mare

Viteza de încărcare a paginii principale a blogului s-a îmbunătățit de la 3,9 sec la 873 ms.

Dacă înainte de mutare blogul începea să dea rateuri când se apropia de 1000 unici pe zi, după mutarea la Simplenet arielu.ro a susținut cu brio un vârf de trafic de 11.284 unici.

PS: la câteva săptămâni după publicarea acestui articol arielu.ro a reușit să-și bată recordul de trafic zilnic cu un impresionant 26.070 unici.


Comments

3 răspunsuri la „Optimizare blog personal: arielu.ro”

  1. Avatar Evan Punkt
    Evan Punkt

    Am citit cartea lui Ariel dupa ce am gasit-o in storeul iBooks si am ramas placut surprins. Acum ma plimbam prin site-ul vostru si am dat de acest articol si de bloglul lui. Buna cartea, frumos blog si interesant proiect (Tribul).

    1. 5-6 ani după acest comentariu, la 2 noaptea, ajung totally random aici și găsesc textul de mai sus. doamne’, ce mă unge pe suflet! one love <3

    2. Avatar Stefan-Alexandru
      Stefan-Alexandru

      Pacat ca ai inchis tribul.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *