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 važi za sve tipove web hosting servisa.

Preporučujemo da pre podešavanja proverite brzinu vašeg sajta na Pingdom-u da biste kasnije videli rezultate keširanja.

Instalacija

w3tc_install

Nakon što pristupite admin panelu WordPress-a, otvorite stranu Plugins -> Add New, a u polje Search unesite “w3 total cache”. Kliknite na dugme Install 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_general_settings

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

U sekciji Browser Cache takođe čekirajte Enable.

Preostale opcije isključite, jer neće biti korišćene, a zatim kliknite na Save all settings da sačuvate podešavanja.

Kako biste stekli sliku o mogućnostima W3TC-a, preostale 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.

Object Cache i SQL Cache se ne preporučuju za korišćenje na deljenom hosting serveru jer u većini slučajeva može prouzrokovati opterećenje na hard disku servera zbog intenzivnih I/O operacija, što bi zapravo dovelo do usporenja sajta. Ove opcije bi trebalo koristiti samo na VPS ili 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.

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.

Monitoring pruža mogućnost detaljnog uvida u performanse sajta, ali je pre svega potrebno da softver koji se koristi za analize bude dostupan na serveru na kome se sajt hostuje. Zbog nemogućnosti lake implementacije, to je uglavnom moguće samo na zasebnom serveru.

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 u 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.

w3tc_menu_page_cache

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_general

U sekciji General možete podesiti opcije kao na slici. Ako koristite https (SSL sertifikat) na svom sajtu obeležite i opciju Cache SSL (https) requests

Osvežavanje keša (Cache Preload) je još jedna bitna stavka koja se mora adekvatno podesiti za optimalne rezultate.

w3tc_page_cache_cache_preload

Osvežavanje keša W3TC radi automatski u intervalima i to za nekoliko stranica odjednom, tako da je veoma mala mogućnost da se neki sadržaj novom posetiocu ne prikaže iz keša. Ovo je veoma moćan način rada koji W3TC izdvaja od drugih dodataka za keširanje.

U sekciji Cache Preload u polje Update interval unosite vreme nakon kojeg će W3TC automatski osvežiti keš za određeni broj stranica. Broj stranica čiji se keš istovremeno osvežava definišete u polju Pages per interval i tu možete ostaviti standardno podešavanje od 10 strana. Broj strana ne bi trebalo da bude preveliki.

Na sajtu sa velikom posetom i čestim izmenama sadržaja za Update interval možete ostaviti standardno podešeno vreme od 3600 sekundi (1 sat). Za sajtove sa manjom posetom i retkim izmenama, možete postaviti vreme osvežavanja od na primer 14400 sekundi (4 sata) ili više.

U polje Sitemap URL unesite putanju do fajla koji definiše strukturu vašeg sajta. Sitemap fajl može biti izuzetno koristan za SEO, jer pomaže bržem indeksiranju stranica na pretraživačima. Za generisanje ovog fajla možete koristiti dodatak WordPress SEO by Yoast.

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. Tu je korisno promeniti Garbage collection interval, tačnije vreme nakon kojeg W3TC briše istekle keš fajlove. Za sajtove sa manjom posetom možete ostaviti standardno podešenu vrednost od 3600 sekundi. Za sajtove sa velikom posetom je dobro podesiti i manju vrednost.

w3tc_page_cache_advanced_gc

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. Sada je potrebno da dodatno podesimo HTTP zaglavlja sa instrukcijama koje će brauzeri koristiti za keširanje sadržaja.

Browser cache

Kliknite na stavku menija Browser Cache i na toj strani u sekciji General omogućite samo sledeće opcije:

  • Set Last-Modified header
  • Set expires 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 file

Ostale opcije u drugim sekcijama ostavite onako kako su već standardno podešene.

S obzirom da će se statički JavaScript i CSS fajlovi prema standardnim podešavanjima za vreme keširanja u W3TC-u č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 novog fajla, odnosno osvežavanje keša u brauzeru posetioca.

w3tc_media_query

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 stranica možda nije još uvek bila keširana, ako nije bila posećena u međuvremenu.

Zaključak

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

U tom slučaju bi vam verovatno pomoglo naprednije keširanje kao što je SiteCache ili prelazak na zaseban 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 komentar

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