Optimizarea WordPress cu lac și W3 Total Cache

Acest tutorial urmează Instalarea programului WordPress în Cloud-ul Amazon, care arată cum să optimizați site-ul cu cache.

Dacă vă găzduiți WordPress, este recomandabil să implementați o soluție de caching. Indiferent dacă doriți să vă difuzați blogul într-o instanță economică micro la Cloud-ul Amazon (AWS) sau vă așteptați ca blogul dvs. să obțină scări semnificative sau spații de trafic, cache-ul va fi critic pentru a gestiona performanța. Caching-ul poate, de asemenea, să vă ajute la îmbunătățirea vitezei dvs. de pagină Google care afectează clasarea motorului dvs. de căutare.

În funcție de traficul site-ului dvs. și de complexitatea temei dvs. WordPress, performanța poate fi de fapt destul de lentă pe AWS. Recomandarea mea este de a combina utilizarea cache-urilor open source cache cu plugin-ul gratuit W3 Total Cache (W3TC). 

Lacul este o memorie cache care stochează copii ale paginilor pentru utilizatorii care nu sunt conectați (majoritatea cititorilor nu sunt). Când cererile vin pe serverul dvs., Varnish returnează instantaneu aceste pagini pre-construite, în loc să solicite Apache, PHP și WordPress să reconstruiască pagina pentru fiecare cerere. Ca scale de trafic, reconstruirea fiecărei pagini prin stiva WordPress poate literalmente să vă prăbușească serverul. Mai târziu, W3 Total Cache poate fi configurat pentru a pre-construi în mod regulat paginile site-ului dvs., astfel încât să fie întotdeauna gata pentru Varnish.

Notă: aceasta este, de asemenea, un motiv bun pentru a lua în considerare un plugin de comentarii externe, cum ar fi Disqus, mai degrabă decât built-in comentarii WordPress. Disqus JavaScript este cacheable. Dacă comentatorii dvs. se vor conecta la site-ul dvs. WordPress, cache-ul va fi folosit mai rar și scalabilitatea dvs. pentru cei mai activi vizitatori va fi mult redusă.

Puterea vopselei este dramatică atunci când vă interesează spikele site-ului dvs. Am executat cu succes site-ul meu cu această configurație folosind o instanță mică Amazon pentru aproximativ 14.95 dolari lunar cu succes gestionarea multe apariții pe BoingBoing, Slashdot et al.

Dacă doriți să aflați mai multe despre cache, beneficiile și W3TC, citiți introducerea lui Ahmad Awais în cache. 

Instalarea cache-ului pentru lacuri

Lacul Cache este un modul de cache pentru Linux. Vom seta Varnish pentru a asculta traficul HTTP (web) pe portul 80 cu Apache ascultând doar pe Varnish pe portul 8080. Când Varnish are nevoie de o pagină pentru a fi construită manual, aceasta va transmite cererea către portul Apache 8080.

Acest lucru poate fi un pic confuz la început - dar da, suntem, în esență, în mișcare Apache în spatele scenei. Lacul va acționa ca ușa din față a portului 80 pentru toate solicitările dvs. web. Apache va acționa într-un rol de sprijin pentru Varnish pe portul 8080. Nu există trafic public pe portul 8080, doar cererile private de la Varnish. Dacă sunteți curios de modul în care acest lucru se referă la grupurile de securitate AWS, nu este nevoie să deschideți portul 8080.

Pentru a începe, trebuie să instalați Varnish pe instanța noastră:

sudo apt-get instalați lac

Editați fișierul ports.conf al Apache pentru a asculta pe portul 8080:

sudo nano /etc/apache2/ports.conf

Iată cum ar trebui să arate:

Ascultați 8080

Editați fișierul de configurare a site-ului Apache pentru a răspunde la portul 8080:

sudo nano /etc/apache2/sites-available/wordpress.conf

Modificați linia VirtualHost de la *: 80 la *: 8080

Este posibil să trebuiască să modificați site-ul implicit Apache pentru a asculta pe portul 8080 sau să îl dezactivați:

sudo a2dissite 000-implicit

Mutați fișierele originale de configurare a lacului în directorul de acasă ca backup (în cazul în care decideți să le revizuiți mai târziu):

sudo mv / etc / implicit / varnish ~ / default-vernisaj sudo mv /etc/varnish/default.vcl ~ / varnish-default-vcl.old

Înlocuiți configurația implicită a lacului împreună cu fișierul disponibil aici pe bază. Puteți utiliza copierea și lipirea. 

sudo nano / etc / implicit / lac

Apoi, înlocuiți configurația VCL VCL cu fișierul de bază aici (din nou copiați și lipiți).

Avertizare: este posibil să primiți erori VCL atunci când încercați să reporniți Varnish dacă nu păstrați corect întreruperile de linii atunci când le lipiți. Pauzele de linie pot fi greu de detectat, deci revizuiți-l cu atenție. Dacă există erori atunci când reporniți Varnish, este destul de bun să vă spun care număr de linie să se uite la.

sudo nano /etc/varnish/default.vcl

Acum, să reluăm Apache și Varnish:

serviciul sudo apache2 reporniți serviciul sudo restart lacuit

Amintiți-vă că, dacă primiți erori VCL în acest moment, poate fi din cauza ruperii liniei întrerupte de la lipirea în fișierul default.vcl al lacului.

Vizitați site-ul dvs. la http://yourdomain.com și totul ar trebui să înceapă să lucreze cu Varnish. A doua oară când încărcați o pagină statică, ar trebui să fie mult mai rapidă.

Instalarea memoriei cache totale W3 

W3 Total Cache este un plugin WordPress remarcabil. Este gratuit și oferă o optimizare extraordinară a performanței pentru site-ul dvs. Puteți afla mai multe despre W3 Total Cache pe site-ul plugin-ului.

Conectați-vă la pagina de administrare WordPress la http://yourdomain.com/wp-admin utilizând numele de utilizator și parola pe care le-ați configurat în timpul configurării. Selectați Plugin-uri -> Adăugați noi din meniul barei din stânga. Căutați cache total W3.

Datorită puterii și sofisticării sale, W3 Total Cache are o gamă largă de setări care pot părea copleșitoare. Mai jos, vă ofer câteva setări recomandate care fac mai ușoară începerea.

Nu te copleși. Începeți cu setările generale afișate mai jos și mergeți de acolo. Dacă sunteți interesat să începeți mai repede, Am furnizat instrucțiuni pentru descărcarea setărilor implicite și importarea acestora (afișată mai jos).

Alternativ, W3 Total Cache oferă instalare plătită și asistență de la $ 150 și mai mult. Puteți ajunge la ele prin intermediul paginii de tablou de bord a pluginului sau al site-ului web al acestora. Acesta este un plugin extraordinar, așa că mă simt bine în a le recomanda. Am avut o experienta cu sprijinul lor platit si este in general bun. De asemenea, puteți să consultați prezentarea generală a instalării W3 Total Cache și FAQ-ul de pe site-ul pluginului pentru mai multe detalii.

La un nivel înalt, vă recomand să activați următoarele setări, pe care le detaliem mai detaliat mai jos:

  • Page Caching: Paginile cache pentru o încărcare mai rapidă și o livrare mai eficientă (separate de lac).
  • Comprimați: Scade și combină fișierele JS și CSS pentru o încărcare mai rapidă și o livrare mai eficientă.
  • Obiectul cache: Accelerează generarea de conținut de WordPress.
  • Browser Cache: Conținutul corect al etichetelor, astfel încât clienții browserului să minimizeze descărcările paginilor.
  • Reverse Proxy: Instrumentează W3TC pentru a curăța cache-ul de lacuri atunci când mesajele, paginile și colab. sunt actualizate.
  • Amazon CloudFront CDN: Asigură livrarea rapidă, fiabilă și geografică a fișierelor și imaginilor statice în apropierea vizitatorilor dvs..
  • Diverse: Utilizați un fișier index index de sitemap pentru a pre-cache pagini cu prioritate ridicată.

Instalarea componentelor suport

Înainte de a configura W3 Total Cache, să instalați și să activați un număr de componente Linux pe care le va solicita. Din nou, conectați-vă la instanță și efectuați următorii pași:

sudo apt-get instalare php5-dev php5-memcache memcache php-pec build-esențial php5-tidy php5-curl apache2-dev php-apc

Editați fișierul php.ini pentru a activa memcache:

sudo nano /etc/php5/apache2/php.ini

În secțiunea Extensii dinamice, adăugați liniile de mai jos:

extensie = apc.so extension = memcache.so

Spune-i lui Apache să activeze aceste module și să-l repornească:

sudo a2enmod rescrie sudo a2enmod expira sudo a2enmod anteturi sudo serviciu apache2 restart

Editați fișierul wp-config.php pentru a activa cache-ul:

sudo nano /var/www/wordpress/wp-config.php

Adăugați următoarea definiție WP_CACHE deasupra liniei de editare oprire:

define ('WP_CACHE', adevărat); / * Asta e tot, opriți editarea! Happy blogging. * /

Revizuirea stării de configurare

În acest moment, este util să vizitați tabloul de bord al plugin-ului W3TC și să verificați dacă toate componentele corespunzătoare sunt active. Dar, mai întâi, trebuie să activați Fancy Permalinks pentru formatele URL, ceea ce va optimiza site-ul nostru pentru indexarea motoarelor de căutare. Din tabloul de bord al programului WordPress Admin, selectați Setări -> Perioadă, selectați Ziua și numele și faceți clic pe Salvați modificările. 

Apoi, din bara laterală din stânga, faceți clic pe Performanță -> Tablou de bord, apoi pe butonul de verificare a compatibilității. Ar trebui să arate ceva de genul:

Notă: puteți salva ceva timp dacă alegeți o temă și instalați celelalte pluginuri pe care intenționați să le utilizați înainte de a finaliza restul procesului de configurare W3 Total Cache. Schimbarea temelor și adăugarea de pluginuri va necesita probabil să eliminați și să retestați setările W3 Total Cache.

setari generale

W3TC funcționează, în general, cu setările implicite. Deci, va trebui în primul rând să configurați pagina Setări generale și să nu intrați în fiecare zonă de caracteristici.

Vizitați pagina Setări generale W3TC. Din bara laterală din stânga, faceți clic pe Performanță -> Setări generale. Putem efectua un nivel înalt stabilit aici, dar vom face, de asemenea, setări mai detaliate pe paginile de setări individuale. Am lăsat off (neconfirmat) "Togglează toate tipurile de caching pe sau pe (oprit)" în caseta generală.

Activați cache-ul de pagini cu Opcode Alternative PHP Cache (APC):

Activați Minify cu următoarele setări. Folosesc modul manual deoarece minifiia poate sparge anumite teme dacă setările sunt prea agresive (cu toate acestea, tema aleasă poate funcționa bine):

Am lăsat cache-ul de baze de date neefectuat / dezactivat, deoarece acest lucru este recomandat numai dacă nu activați cache-ul de obiecte.

Activați memoria cache a obiectelor:

Activați memoria cache a browserului:

Activați proxy-ul invers:

Configurați W3TC pentru a curăța în mod regulat cache-ul de lacuri de la 127.0.0.1 (localhost).

Setări cache pentru pagini

Din bara laterală din stânga, faceți clic pe Performanță -> Cache de pagină. Derulați în jos până la caseta Preload. Activați funcția "Pregătiți automat cache-ul paginii". Introduceți adresa URL a sitemap-ului dvs.. 

Notă: Va trebui să aveți instalat Mai bun plugin WordPress Google XML Sitemaps înainte ca aceasta să funcționeze corect.

Dacă utilizați un CAPTCHA pe formularele de contact, veți dori să includeți calea către aceste pagini în excluderea de cache. Caching-ul unei CAPTCHA va întrerupe funcționalitatea. Derulați în jos până la caseta Setare avansată. Adăugați calea fișierului, de ex. contactați aici:

Grupuri de agenți utilizator

Deoarece tema mea este receptivă, am cache-ul separat de utilizatorii de dispozitive mobile și tabletă. Cu alte cuvinte, Varnish cache copii ale diferitelor aspecte receptive ale site-ului meu. Atunci când un utilizator de telefonie mobilă vine pe site, ei primesc un fișier specific față de când un utilizator de desktop ajunge. Dacă conținutul site-ului dvs. este reactiv dinamic (de exemplu, numai modificările în Javascript și CSS), nu va trebui să faceți acest lucru.  

Dacă doriți să faceți acest lucru, activați grupurile de agenți de nivel înalt și inferior:

Grupuri de recomandatori

De asemenea, permit grupurilor de referință pentru motoarele de căutare:

Reduceți setările

Minify comprimă codul HTML, JS și CSS și combină fișierele atunci când este posibil. Acest lucru accelerează livrarea paginilor dvs. și reduce lățimea de bandă. Cu toate acestea, uneori poate rupe codul temei.

Este posibil să fie necesar să ajustați setările pentru tema aleasă. Am constatat că dezactivând miniaturile CSS inline, tema mea funcționează bine. Din bara laterală din stânga, faceți clic pe Performanță -> Minificare:

Importarea setărilor exemplu (opțional)

Dacă preferați să începeți prin importarea fișierului de setări, urmați acești pași:

  1. Descărcați fișierul cu setări de exemplu
  2. Vizitați Setările generale W3TC, de ex. stânga bara laterală, Performanță -> Setări generale și defilați la zona de jos cu setări de import / export (vedeți mai jos).
  3. Pe lângă configurarea Import, dă clic pe Alegeți fișierul și selectați fișierul de setări de exemplu pe care l-ați descărcat. Apoi, faceți clic pe încărcare.
  4. Răsfoiți setările W3TC și asigurați-vă că au sens pentru site-ul dvs. WordPress.
  5. Poate fi necesar să personalizați setările pentru site-ul dvs. după import, de ex. Google PageSpeed, Amazon CloudFront CDN, etc.

Folosind CDN Amazon CloudFront

Este cu siguranță merită să activați un CDN. CDN este foarte util pentru reducerea încărcării globale pe serverul dvs. De exemplu, W3TC poate redirecționa cererile pentru imagini și fișiere statice, cum ar fi scripturile și css-urile către Amazon's CDN.

Dacă doriți să faceți acest lucru, urmați instrucțiunile de pe site-ul meu pentru activarea cloud-ului Amazon CloudFront. În prezent folosesc metoda Pull (tutorialul meu descrie metoda Push mai veche).

Monitorizarea performanței

Există multe modalități diferite de a monitoriza performanța serverului dvs. W3TC acceptă integrarea cu modulul de monitorizare New Relic. W3TC oferă un widget de tablou de bord pentru Google Page Speed ​​și există și un plugin Google Page Speed ​​pentru WordPress. Acestea vă vor fi de folos în evaluarea performanțelor în desfășurare ale blogurilor dvs..

Felicitări!

Acum ar trebui să fii proprietarul mândru al unui site WordPress complet optimizat, găzduit de noi în Amazon Cloud folosind Varnish și W3 Total Cache. Sper că ați găsit această serie de două părți utile. Spuneți-ne ce a funcționat bine pentru dvs. și ce nu.

Cod