Optimizare blog personal: arielu.ro

Ariel Constantinof este omul din spatele Tribul.eu – primul si probabil singurul serviciu de curierat pe bicicleta din Bucuresti.

Arielu.ro, blogul personal, are cateva sute de unici zilnic insa problema aparea la publicarea cate unui articol mai popular atunci cand serverul vechi nu reusea sa sustina spike-urile de trafic care se ridicau pana la 1000 unici pe zi.

Prima pagina a blogului are 41 componente si o marime totala de 2402,2K din care imaginile totalizau 2232,4K. Timpul mediu de incarcare este de 3,94 secunde.

Tema folosita e destul de minimalista, numarul de fisiere JS si CSS e la un nivel normal, singura problema e cu pozele, sunt 2MB de poze care se incarca pe prima pagina.

O alta problema cu pozele este ca sunt incarcate la rezolutie 960x456px dar sunt afisate la rezolutie 422x202px. Asta inseamna ca browserul lucreaza ca sa le redimensioneze, ceea ce afecteaza perfomanta, iar rezolutia mai mare inseamna de obicei si mai multi KB.

Solutia ar fi incarcarea de poze exact la rezolutia 422x202px. Acest lucru ar mai diminua dimensiunea totala in KB a paginii insa ar ramane totusi destul de mare, peste 1MB.

Ideal aici este sa implementam Lazy Load si astfel pozele sa se incarce treptat, pe masura ce utilizatorul face scroll, marind astfel viteza de incarcare perceputa de utilizator.

Rezultatul este ca prima pagina (above the fold) are acum 26 componente totalizand 199,4K.

In continuare, ne-am indreptat atentia si catre paginile interne, pentru ca vizitatorii nu ajung mereu pe prima pagina ci mai degraba intra pe paginile articolelor venind de pe Facebook, Twitter, etc.

O singura problema am descoperit, se incarca de 2 ori JS-ul Facebook, asta inseamna 174K in plus. Un JS e incarcat de pluginul de share iar celalalt de widgetul „Urmareste-ma pe Facebook”.

Recomandarea mea este sa se inlocuiasca pluginul de share cu Jetpack for WordPress care foloseste un singur JS de 38,5K, eliminandu-se astfel o serie intreaga de JS-uri: si cel de Facebook de 174K si cel de Twitter de 87K si cel de Google Plus de 99,4K.

Asta ar insemna o reducere cu 50% a dimensiunii paginii.

Tema & Pluginuri

Tema folosita nu pare a avea probleme de performanta, este o tema bine facuta. Exista 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 in baza de date la fiecare afisare a unei pagini.

Recomandarea este sa se foloseasca Jetpack Stats sau Google Analytics pentru statistici insa daca obiectivul este sa se afiseze vizitatorilor cate afisari are articolul pe care-l citesc, din pacate trebuie folosit WP PostViews (cel putin pana dezvolta cineva un plugin asemanator dar care sa foloseasca API-ul Jetpack).

Alte recomandari

De sters pluginurile si temele nefolosite si de actualizat la ultima versiune pe cele folosite.

De exemplu, se foloseste un plugin care scaneaza pentru exploit-urile timthumb.php. Timthumb nu este folosit de tema activa dar exista pe server in alte teme nefolosite. Ideal ar fi sa fie sterse temele respective ceea ce ar face ca pluginul respectiv sa devina inutil si sa poata fi sters la randul lui.

Nu se stie niciodata ce probleme pot exista in codul sursa al diverselor teme si pluginuri iar eliminarea celor nefolosite de pe server previne potentialele gauri de securitate. Totodata, elimina si nevoia de a avea activate pluginuri de securitate care in general afecteaza performanta site-ului deoarece scaneaza permanent serverul.

In privinta securitatii, e de ajuns un plugin care sa blocheze incercarile neautorizate de logare in wp-admin. Singura conditie este ca WordPress-ul, tema si pluginurile active sa fie actualizate iar fisierele si folderele care sunt in plus sa fie sterse de pe server.

Concluzie

Mutarea la Simplenet si optimizarea site-ului au insemnat pentru arielu.ro:

  • viteza mai buna de incarcare a blogului
  • sustinerea unui trafic mai mare

Viteza de incarcare a paginii principale a blogului s-a imbunatatit de la 3,9 sec la 873 ms.

Daca inainte de mutare blogul incepea sa dea rateuri cand se apropia de 1000 unici pe zi, dupa mutarea la Simplenet arielu.ro a sustinut cu brio un varf de trafic de 11.284 unici.

PS: la cateva saptamani dupa publicarea acestui articol arielu.ro a reusit sa-si bata recordul de trafic zilnic cu un impresionant 26.070 unici.

3 responses

  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. Avatar Ariel
      Ariel

      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

      1. Avatar Stefan-Alexandru
        Stefan-Alexandru

        Pacat ca ai inchis tribul.

Lasă un răspuns

Adresa ta de email nu va fi publicată.