Easyhost Easyhost Easyhost Easyhost Easyhost

Optimizare WordPress dincolo de pluginuri

Dacă deții un site WordPress atunci probabilitatea este că folosești deja pluginuri de cache care să îți îmbunătățească viteza. Dar chiar și cele mai bune pluginuri de cache nu te vor putea ajuta când înregistrezi trafic intens. Conținutul site-ului de dimensiuni mari (imagini, widget-uri, videoclipuri) îți poate destabiliza serios performanța de încărcare și afișare a site-ului atunci când ai o creștere bruscă de vizitatori.

Amintește-ți cum a fost ultima oară când ai avut campanie pe canale de social media. Sau când backlinkurile ți-au adus mult extra trafic. Cât de bine au rezistat pluginurile instalate și cât de mulțumit ai fost de performanța acestora?

Performanță mai bună decât la pluginuri de cache

O alternativă la pluginurile de cache sunt acceleratorii HTTP de tip reverse proxy.

Varnish este o soluție de acest tip care se instalează deseori în ”fața” site-urilor WordPress pentru a acționa ca un extra layer de securitate și performanță. Varnish funcționează ca un intermediar transparent între utilizatorii site-ului și backendul web serverului, tot conținutul generat de backend cu headere de cache fiind stocat pentru o perioadă limitată de timp. Altfel spus, Varnish servește fișierele statice aflate în cache, pe care le salvează pentru 30 minute înainte de ștergere.

Spre desoebire de un plugin de cache, care rulează de pe serverul WordPress, server care poate ”obosi” pe măsură ce load-ul crește, o soluție de tip Varnish este specializată în requesturi de tip server cache și poate ajunge să fie, la propriu, de 100 ori mai eficientă decât un web server PHP.

Avantajele Varnish sunt numeroase, principalele fiind:

  • Deoarece conținutul este servit din cache-ul din memorie înseamnă că nu ai probleme de execuție înceată a PHP-ului sau interogări lente de MYSQL.
  • Varnish acționează și ca un prim layer de securitate în fața multitudinii de vizitatori anonimi ai site-ului tău.
  • Headerele din WordPress sunt respectate în totalitate ceea ce înseamnă că tot ce WordPressul cere pentru caching, Varnish va stoca temporar.
  • Varnish este compatibil cu orice site, indiferent dacă webserverul din spate folosește Apache sau NGINX sau IIS sau orice alt tip de webserver.
Odată cu instalarea unei soluții de tip reverse proxy, o mare parte din datele statistice ale site-ului tău vor fi servite direct din cache, după cum arată graficul de consum resurse.

Odată cu instalarea unei soluții de tip reverse proxy, o mare parte din datele statitice ale site-ului tău vor fi servite direct din cache, după cum arată graficul de consum resurse de mai sus.

Anumite pluginuri de cache WordPress (de exemplu, WP Super Cahe) funcționează pe un sistem în care salvează fișiere statice ale paginilor tale dinamice WordPress și direcționează vizitatorii tăi către acel content static. În teorie, aceste pluginuri ar putea înregistra rezultate comparabile cu Varnish în condiții de trafic intens, însă o serie de probleme au fost semnalate cu aceasta abordare a cachingului.

  • Probleme ale sistemului de fișiere. Pe anumite tipuri de sisteme de fișiere (de exemplu, NFS), performanța poate fi afectată atunci când scrii sau ștergi sau modifici multe fișiere în același timp, așa cum fac pluginurile de static cache. Asta fie duce la cazul în care site-ul nu mai cacheuiește date, devenind astfel încet, sau servește date cacheuite prost, facând site-ul să arate stricat. Pentru că Varnish stochează datele în RAM, problema se evită cu totul.
  • Fără protecție împotriva erorilor. Varnish recunoaște când apar probleme pe server și te ajută să treci mai ușor peste acestea, livrând conținut cu lag dar funcțional. Acest aspect poate reduce considerabil impactul downtime-ului, care în cazul unui plugin de cache s-ar fi tradus în full downtime.
  • Compresie ineficientă. Pluginurile de cache WP comprimă fișierele folosind GZIP la fiecare request. Prin comparație, Varnish stochează paginile comprimate și le livrează ca atare în web-browserele care suportă GZIP sau le decomprimă instant pentru browserele care nu suportă GZIP.
  • Reconfigurarea web serverului necesară. Anumite cache plugins necesită setări specifice pe web server pentru ca pluginul să funcționeze corect. Există însă riscul ca webmasterul să nu aibă acces pentru a efectua aceste operațiuni sau să nu poată efectua aceste operațiuni pentru că lucrează cu un server non-Apache.

Varnish este recomandarea Easyhost pentru toate site-urile WordPress. Serverele WP Easyhost rulează cu Varnish în față, iar performanța acestei soluții (versus pluginurile de cache) se reconfirmă zilnic.

Performanță de top cu Object Caching

Dincolo de acceleratoarele de tip reverse proxy, o altă soluție disponibilă pentru îmbunătățirea vitezei site-ului tău este o soluție dedicată de object caching. Object caching este o modalitate de stocare în memorie a datelor din bazele de date, în vederea prevenirii queriurilor inutile în DB.

Printre cele mai populare soluții de object caching se numără Redis, Memcached sau AWS ElastiCache. Platforma WordPress include o soluție internă de object cache, instrument recunoscut ca fiind destul de ineficient.

Atunci când un query este primit de către site, serverul va verifica dacă există răspunsuri pentru acest query în layer-ul de Object Caching. Dacă nu există, query-ul rulează în DB. În timp ce servește rezultatele interogării utilizatorului, serverul va salva o copie a rezultatelor în layer-ul de Object Cache pentru ca la următorul request să nu mai fie nevoie să ajungă până în DB.

Atunci când un query este primit de către site, serverul va verifica dacă există răspunsuri pentru acest query în layer-ul de Object Caching. Dacă nu există, query-ul rulează în DB. În timp ce servește rezultatele interogării utilizatorului, serverul va salva o copie a rezultatelor în layer-ul de Object Cache pentru ca la următorul request să nu mai fie nevoie să ajungă până în DB.

Easyhost folosește Redis pe serverele noastre WordPress, cea mai eficientă soluție de object cache dintre cele testate de noi. Principalele beneficii aduse de Redis site-ului tău WordPress includ:

  • Cache de sesiune. Spre deosebire de Memcached, de exemplu, Redis oferă persistență. Utilizatorii tăi se așteaptă la consistență, nu ar fi mulțumiți dacă sesiunile lor cu Coș ar dispărea, nu? Redis realizează cu brio cache la orice tip de sesiune, fiind integrat sub format plugin și în cele mai mari platforme de ecommerce din lume, cum ar fi Magento.
  • Full Page Cache (FPC). În plus față de tokenele clasice de sesiune, Redis vine și cu o platformă FPC foarte rapidă în care operează. Chiar și atunci când instanțele Redis nu mai funcționează, utilizatorii tăi nu vor constata o scădere vizibilă a vitezei de încărcare a paginilor, spre deosebire de cazurile în care există doar FPC nativ PHP-ului.
  • Afișarea eficientă a elementelor de pagină personalizate. Funcții precum listarea celor mai recente produse, ordonări de produse în funcție de popularitate, de voturi, de data adăugării și multe altele specifice zonei de ecommerce beneficiază masiv de modelul de stocare în memorie al Redisului, fiind livrate instant vizitatorilor tăi.

WordPress cu Varnish și Redis

Planurile Easyhost WordPress au fost dezvoltate pentru a oferi performanță site-urilor WP și includ soluțiile Varnish și Redis. Poți folosi planuri de shared hosting clasic cu pluginuri adăugate on top pentru rezultate modice. Sau poți alege o găzduire dezvoltată pentru specificul platformei tale, cu soluții de caching dedicate incluse, pentru rezultate impresionante.

Pentru orice întrebări sau sugestii legate de soluții de caching pentru site-ul tău WordPress, Divizia WordPress Easyhost așteaptă un semn la hello[at]easyhost.com.