Ubrzanje WordPress sajta uz W3 Total Cache

W3 Total Cache uputstvo

U prethodnom članku smo govorili o tome koliko je SEO optimizacija važna za nastup na internetu. Jedan od bitnih aspekata dobre SEO optimizacije je i brzina sajta koju možete značajno poboljšati keširanjem sadržaja. Još jedan bitan razlog zbog koga bi trebalo da se pozabavite performansama sajta je svakako korisnički doživljaj.

W3 Total Cache je trenutno najkompletnije rešenje za optimizaciju WordPress-a. Popularan je i fleksibilan, koristi se na sajtovima sa velikom posetom i sadrži dosta opcija, pa podešavanje ovog dodatka za početnika može predstavljati izazov.

Zbog jednostavnosti, fokusiraćemo se na podešavanje W3TC-a na deljenom hostingu. Ako koristite VPS ili dedicated server, mnoge napredne opcije koje možete koristiti nisu obuhvaćene u ovom članku, mada svakako ovo osnovno podešavanje može da se koristi za sve tipove web hosting servisa.

Preporučujemo da pre podešavanja proverite brzinu vašeg sajta na Pingdom-u da biste kasnije mogli da uporedite rezultate, nakon podešenog keširanja.

Imajte u vidu da ovaj članak predstavlja samo opštu smernicu o tome na koji način bi dodatak za keširanje trebao da bude podešen i može biti dobar osnov za kasnija dodatna podešavanja, koja bi trebala da budu prilagođena specifičnim potrebama same aplikacije sajta.

Instalacija

W3 Total Cache instalacija dodatka

Nakon što pristupite admin panelu WordPress-a, otvorite stranu Plugins -> Add New, a u polje Search unesite “w3 total cache”. Kliknite na dugme Install Now u okviru prvog rezultata. Ako ste prethodno instalirali neki drugi dodatak za keširanje, obrišite ga jer bi aktivacija W3TC-a mogla da dovede do konflikta čime bi se poremetio rad sajta. Svakako je važno da u jednom trenutku imate instaliran i aktivan samo jedan dodatak za keširanje. Aktivirajte dodatak nakon instalacije i spremni ste za naredni korak – podešavanje.

Podešavanje W3 Total Cache-a

W3TC je veoma moćan dodatak i kao takav sadrži dosta opcija. Ovo je dobro sa jedne strane za korisnike koji umeju te opcije maksimalno da iskoriste, dok sa druge strane, za početnike veliki broj opcija može predstavljati problem. Proći ćemo kroz neke od bitnih opcija kako biste uspešno impementirali keširanje na sajtu…

General Settings

W3TC Generalna podesavanja

U okviru Performance menija kliknite na pod-stavku General Settings. Na toj strani se nalaze opšta podešavanja dodatka. Za optimalne performanse na deljenom hostingu, mogu biti dovoljni samo Page Cache i Browser Cache tipovi keširanja pa ćemo na ovoj strani omogućiti samo te dve opcije. U drugom delu članka ćemo objasniti šta one predstavljaju.

W3TC Page Cache

U sekciji Page Cache čekirajte Enable, a za Page cache method postavite Disk: Enhanced.

W3TC Browser Cache Settings

U sekciji Browser Cache takođe čekirajte Enable, a zatim kliknite na Save all settings da sačuvate podešavanja.

Sa ove dve aktivirane opcije će keširanje i ubrzanje sajta već raditi sasvim solidno i dalja podešavanja čak nisu ni neophodna, a u nastavku ćemo se baviti nekim dodatnim naprednijim optimizacijama konfiguracije, za postizanje boljih rezultata keširanja.

Kako biste stekli sliku o mogućnostima W3TC-a, neke značajnije opcije ćemo samo pomenuti i ukratko objasniti njihovo značenje u nastavku, ali ih nećemo detaljno obrađivati u ovom tekstu…

Prvo podešavanje na strani je Preview mod. Ova opcija može biti korisna ako želite da isprobate neka od podešavanja W3TC-a, pre nego što ih sačuvate i te promene postanu efektivne za sve posetioce sajta. Ako omogućite Preview mod klikom na Enable niko osim ulogovanog admin korisnika neće videti efekte W3TC-a sve dok ne primenite izmenjena podešavanja klikom na dugme Deploy.

VAŽNO: Opcije Database Cache i Object Cache ne treba koristiti na deljenom hosting serveru (u hosting paketu) jer mogu generisati milione fajlova i u većini slučajeva mogu prouzrokovati preveliki broj I/O operacija i dostizanje I/O i drugih limita hosting paketa, što bi dovelo do usporenja sajta i drugih problema u radu sajta. Ove opcije bi trebalo koristiti samo na dedicated serveru.

Minify omogućava smanjivanje veličine i broja statičkih CSS i JS fajlova kao i smanjivanje veličine generisanog HTML koda. Može značajno da ubrza response time sajta, ali ga je potrebno koristiti i podesiti sa posebnim oprezom, jer u nekim slučajevima može da poremeti izgled sajta. Svakako možete pokušati i omogućiti minifikaciju pa testirati različite opcije, ali ukoliko primetite probleme u izgledu sajta, verovatno je došlo do greške prilikom kombinovanja CSS fajlova ili JavaScript na strani ne radi, pa u tom slučaju ova opcija ne može raditi za vas.

CDN (Content Delivery Network), odnosno mreža za distribuciju sadržaja je sistem geografski disperziranih servera na internet mreži čiji je cilj visoka dostupnost i performanse sajta koji se postižu isporučivanjem statičkog sadržaja sajta sa servera koji je fizički najbliži posetiocu. Ova opcija zahteva zakup odgovarajuće CDN usluge kod provajdera koji nude takvu mogućnost, kao što su na primer MaxCDN, Amazon CloudFront, Akamai i slični servisi. Upotreba CDN-a može biti korisna za sajtove koji imaju posetu iz različitih zemalja i kontinenata. Kod sajtova koji imaju lokalizovanu posetu iz jedne zemlje ili regiona često nema značajnog efekta.

Reverse Proxy sekcija se koristi za podešavanje Varnish proksi servera koji se postavlja „ispred“ sajta i prihvata sve zahteve posetilaca. Ovaj server u pozadini komunicira sa serverom na kome se sajt nalazi, a odgovor tog servera kešira u memoriji i prilikom ponovnog zahteva posetiocu servira stranu direktno iz memorije. Ovo je veoma moćna tehnika keširanja koja pored značajnog ubrzanja sajta omogućava i prihvatanje većeg broja posetilaca. Varnish Cache je dostupan kao dodatna usluga u našoj ponudi. Više na strani SiteCache.

U sekciji User Experience možete dodatno uključiti opciju „Lazy Load Images“, koja služi da spreči nepotrebno učitavanje slika na celoj stranici sajta, koje niko nije ni video, već se slike učitavaju tek kada korisnik skroluje stranicu i kada zaista treba da se prikaže neka slika. To smanjuje opterećenje browsera korisnika i protok koji sajt generiše, a time će se svakako i ubrzati učitavanje sajta.

Debug može biti koristan za analizu rada dodatka za napredne korisnike. Ova opcija svakako treba standardno da bude isključena.

U sekciji Import / Export Settings možete u vidu fajla da izvezete podešavanja koja ste postavili i kasnije po potrebi ta ista podešavanja da uvezete na isti ili neki drugi sajt.

Page Cache

Standardno, bez keširanja stranica (Page Cache) kada posetilac pristupi web sajtu, WordPress u pozadini izvršava proces generisanja stranice koji pokreće PHP skripte i vrši upite ka bazi podataka. Ovaj proces se ponavlja pri poseti bilo kojoj stranici web sajta. Keširanje stranica će omogućiti da se umesto procesa generisanja posetiocu prikaže već generisana – keširana stranica, čime se ostvaruje znatno poboljšanje u brzini sajta.

Page Cache smo već omogućili u opštim podešavanjima, a sada je potrebno da ga dodatno konfigurišemo. Pod Performance kliknite na pod-stavku Page Cache.

W3TC Page Cache

U sekciji General možete podesiti opcije kao na slici. Ako koristite https (SSL sertifikat) na svom sajtu, opcija „Cache SSL (https) requests“ će biti podrazumevano uključena.

W3TC General Settings

Cache Preload je još jedna korisna funkcija koja se opciono može uključiti za poboljšanje rezultata. Ova opcija će omogućiti da W3TC unapred generiše keširane strance, kako bi što više stranica već bilo keširano i spremno za posetice, odnosno neće biti potrebno da neku stranicu prvi put neko poseti da bi se generisao ili osvežio keš koji je istekao.

W3TC Cache Preload

Generisanje keša će W3TC raditi automatski u definisanim intervalima i to za nekoliko stranica odjednom, što smanjuje mogućnost da se neki sadržaj novom posetiocu ne prikaže iz keša.

U sekciji Cache Preload u polje Update interval unosite vreme nakon kojeg će W3TC automatski generisati keš za određeni broj stranica. Broj stranica čiji se keš istovremeno generiše definišete u polju Pages per interval. Broj strana ne bi trebalo povećavati, jer može dovesti do povećanog opterećenja hosting paketa u generisanja keša za nove stranice.

Kod većine sajtova za Update interval možete ostaviti standardno podešeno vreme od 900 sekundi (15 minuta), pa čak i na podrazumevanih 10 stranica, mada to zavisi od hosting paketa koji koristite i zahtevnosti samog sajta, teme, broja dodataka i slično, pa je preporuka da se za svaki slučaj smanji Pages per interval limit na 5 stranica da bi se sprečilo povećano opterećenje hosting naloga prilikom generisanja keša za veći broj stranica u zadatim intervalima.

Neophodno je da se podesi i URL za validan sitemap, koji sadrži sve stranice sajta za koje želite da se unapred generiše keš. U suprotnom ova opcija neće imati efekta.

U polje Sitemap URL unesite putanju do „sitemap“ fajla koji definiše strukturu vašeg sajta. Za generisanje ovog fajla možete koristiti neki dodatak za tu namenu, na primer „XML Sitemaps“ ili neki od dodatka za SEO, koji uključuje i tu funkcionalnost. Ako na sajtu već koristite neki dodatak za SEO, najverovatnije se sitemap već generiše od strane takvog dodatka, pa to pre svega proverite. Sitemap fajl je svakako koristan i za SEO, jer pomaže bržem indeksiranju stranica na pretraživačima.

U Purge Policy sekciji definišemo stavke koje se automatski osvežavaju prilikom objave novog članka i tu možete ostaviti već obeležene opcije Front page, Post page, Blog feed i rss2.

U sekciji Advanced možete takođe ostaviti već podešene vrednosti.

Sačuvajte podešavanja klikom na Save All Settings.

Browser Cache

Klijentsko keširanje (Browser Cache) radi na taj način što prilikom posete sajtu brauzer posetioca preuzima i lokalno čuva (kešira) HTML, slike, css i JavaScript fajlove tako da se taj sadržaj prilikom sledeće posete nekoj od stranica učitava direktno iz brauzera. Time je izbegnut proces slanja zahteva i preuzimanja sadržaja sa servera. Ovo doprinosi brzini sajta, kao i smanjenju opterećenja na serveru, a ako imate sajt koji se dosta posećuje i koji često posećuju isti korisnici, kao na primer portal sa vestima ili blog, značajno se može smanjiti i mesečna upotreba protoka vašeg hosting paketa.

Browser Cache smo već omogućili u opštim podešavanjima na početku, a sada je potrebno dodatno da poboljšamo konfiguraciju.

W3TC Browser Cache Podesavanja

Kliknite na stavku menija Browser Cache i na toj strani u sekciji General uključite sledeće opcije, odnosno proverite da li već jesu i uključite dodatne opcije koje nisu bile uključene:

  • Set Last-Modified header
  • Set cache control header
  • Set entity tag (eTag)
  • Enable HTTP (gzip) compression
  • Prevent caching of objects after settings change
  • Don’t set cookies for static files

Skrolujte niže istu stranicu, do sekcije „HTML & XML“ i u toj sekciji isključite opcije „Set expires header“ i „Set cache control header“, a povećajte vrednost za „Expires header lifetime“ kao što je prikazano na slici ispod…

Vrednost koju ovde podesite za „Expires header lifetime“ će se koristiti kao vreme čuvanja keširanih stranica u okviru Page Cache funkcionalnosti, pa je zbog toga značajno da se poveća, a naša preporuka je da to bude 86400 sekundi (24 sata). Po želji možete podesiti i na nešto više ili manje od toga, ali je svakako preporuka da bude više od podrazumevanih 3600 sekundi.

U sekcijama „CSS & JS“ i „Media & Other Files“ opcije „Set expires header“ i „Set cache control header“ treba da ostanu uključene, pa i to za svaki slučaj proverite, jer je to dosta bitno.

S obzirom da će se statički JavaScript i CSS fajlovi, prema standardnim podešavanjima za vreme keširanja, čuvati dugo u brauzeru posetioca, ako izmenite bilo koji od CSS ili JavaScript fajlova teme koju koristite na sajtu, biće potrebno da kliknete na dugme Update media query string na vrhu strane kako bi forsirali učitavanje novih verzija fajlova u brauzeru posetioca.

W3TC Update Query String

To bi bilo sve. Sačuvajte podešavanja klikom na Save All Settings.

Kako bi proverili performanse obavite još dva puta test na Pingdom-u. Relevantan je rezultat drugog testiranja, jer prilikom prvog testiranja keš možda još uvek nije bio generisan, ako nije bila posećena u međuvremenu.

Dodatno, imajte u vidu da je potrebno i da prođe neko vreme, najbolje i nekoliko sati (zavisi od broja stranica i količine posetilaca na sajtu) da bi se generisao keš za što više stranica sajta i da bi brzina sajta bila primetna na svim delovima sajta.

Zaključak

Nakon testiranja, trebalo bi da vidite razliku u brzini sajta koju će i posetioci primetiti. Ako je vaš sajt i dalje često pod velikim opterećenjem i „udara“ u limite resursa hosting naloga, verovatno imate preveliku posetu koju deljeni hosting ne može da podnese.

Ako nisu moguće dodatne optimizacije sajta, podešavanjem ili uklanjanjem nekih nepotrebnih dodataka koji povećavaju opterećenje ili promenom teme sajta, u tom slučaju je najčešće potreban prelazak na zaseban (virtuelni ili namenski) server.

4 komentara na “Ubrzanje WordPress sajta uz W3 Total Cache

  1. Sigurno jedan od najboljih plugin-a za ovu namenu, tesko je zamisliti sajt koji radi na WP platformi bez njega.

  2. Marko says:

    Odličan dodatak.

  3. Uroš Pajić says:

    Moram se ne složiti sa vama. W3 Total Cache je prekomplikovan za korišćenje.
    Postoje po meni dva caching dodatka koja su mnogo bolja od gore pomenutog.

    Hummingbird
    Asset CleanUp: Page Speed Booster

    Ovaj drugi je čak i bolji od Hummnigbird jer ima opciju da grupiše css i js u jedan i tako smanji http upite.

    S obzirom da vaš hosting ima aktiviran http2 protokol ovo i nije tako bitno ali opet ubrzava sajt.

    BTW zaista sve pohvale za vašu hosting uslugu apsolutno sve ima što jednom novom i modernom sajtu je potrebno da ostvari dobru brzinu učitavanja stranica.

    1. Hvala na komentaru. Drago nam je da ste zadovoljni našom uslugom.

      Imajte u vidu da je ovaj članak pisan 2015. godine, kada pomenuti dodaci nisu ni postojali.

      Svakako smo imali u planu da testiramo i neke nove dodatke, a na prvom mestu upravo Hummingbird, pa ćemo možda u skladu sa rezultatima u budućnosti imati i neki novi članak na tu temu.

Ostavite odgovor na Dejan | DreamWeb Otkaži odgovor

Vaša e-mail adresa neće biti objavljena. Neophodna polja su označena *