Trećinu sajtova sa sadržajem na Internetu pokreće WordPress. Lakoća korištenja, aktuelan interfejs, obilje tema i dodataka i lakoća programiranja učinili su da ovaj CMS pregazi konkurenciju. Ako se ovom sistemu za upravljanje sadržajem mora zamjeriti, to je da su njegovi autori, zbog agilnog razvoja i koncentrisanja napora na druge stvari, zapostavili da se koncentrišu na performanse. Kad vaš sajt probije određene granice posjećenosti i kompleksnosti WordPressova glad za resursima, naročito na dijeljenim hosting paketima, postane nepodnošljiva. Vrijeme je da počnemo da pazimo na WordPress performanse i stavimo naš CMS na dijetu.

Wordpress-Speed-Optimization-Crunchify-Tips

Razmotrimo ograničavajuće resurse u hosting paketima. Praksa koja je zaostala iz nekih starijih vremena govori da kad biramo hosting obraćamo pažnju na dva resursa – prostor na disku i ograničenje protoka. Prvi govori koliko sadržaja (prije svega multimedijalnog) mi imamo pravo da stavimo na naš sajt, dok drugi ograničava količinu tih stvari koju u vremenskom intervalu korisnici mogu preuzeti. Unlimited hosting paketi u našoj ponudi ne ograničavaju ni jedan ni drugi resurs. Smanjivanje veličine datoteka koje korisnici preuzimaju uvijek je pametna stvar. Pluginovi kao što je Ewww Image Optimizer pomoći će vam da smanjite veličinu svih slika na sajtu, ujedno vam olakšavajući da se uklopite u ograničenja protoka i prostora, i ubrzavajući učitavanje vašeg sajta.

Kad je WP u pitanju, nažalost, ova dva ograničenja su najmanja briga. Dijeljeni hosting paketi imaju još tri resursa o kojima morate da se brinete – vrijeme kompjuterskog izvršavanja, količinu radne memorije i broj ulaznih procesa. Ti resursi su i kod paketa sa neograničenim prostorom i protokom izuzetno ograničeni, i oni su ti koji najčešće prave problem u radu WordPressa. Sledeće tehnike pomoći će vam da ubrzate WordPress tako što ćete njihovu potrošnju učiniti značajno efikasnijom.

PHP verzija

WordPress, naročito ako imate veći broj pluginova ili ako ga administratora koristi odjednom, izvršava veliki broj PHP instrukcija. Iako je kompatibilan sa starijim verzijama PHP-a, nove verzije ga čine značajno efikasnijim u korištenju serverskih resursa tokom ovog procesa. Naši hosting paketi u cPanelu nude opciju da promijenite PHP verziju. Postarajte se da za vaš WordPress sajt bude odabrana verzija 7.2 ili novija.

Keširanje

wp-super-cache

Apsolutno obavezan korak u radu sa WordPressom na shared hostingu. Svaka stranica na vašem sajtu sastoji se od okvirnog dizajna i niza instrukcija koje WP koristi da dobavi sadržaj koji se na tom mjestu nalazi. Svaki put kad neko učitava bilo koju od strana, WordPress mora da za svaki od tih parčića izvrši upit u bazu podataka, i da nakon toga primijeni transformacije potrebne da bi taj sadržaj pretvorio u formu za prikaz. Ideja iza keširanja je da te proračune ne vrši svaki put, već da njihove rezultate čuva na nekom mjestu, kako bi ih poslužio i svima onima koji ih zatraže u nekom narednom vremenskom periodu. Time efektivno razmjenjujete prostor (kog imate na pretek) za procesorsko vrijeme i memoriju (koji su vam kritični).

Keširanje sa sobom nosi i određene mane – korisnici će izmjene na vašem sadržaju ponekad vidjeti sa zakašnjenjem od par minuta (najčešće neće – pluginovi za keširanje dovoljno su pametni da osjete promjene sadržaja i ponište zastareli dio keša). WP super cache je plugin za keširanje koji dolazi od autora samog WordPressa, i najlakši je način da aktivirate keširanje sadržaja na svom blogu ili sajtu. Me-Netovi shared hosting paketi podržavaju njegovo mod_rewrite keširanje koje daje najbolje performanse, a u zavisnosti od toga da li vaša tema to podržava dodatne uštede možete napraviti i kompresovanjem stranica.

Jetpack, još jedan esencijalni WP plugin istih autora nudi i opciju korištenja Photon CDN-a, sistema koji će slike sa vašeg sajta izmjestiti na WordPressove servere i učitavati ih odatle. Ovo predstavlja značajan korak u poboljšanju brzine učitavanja vašeg sajta, ali u ovom trenutku donosi i popriličnu količinu glavobolje, naročito kad dođe do izmjene slika.

Ukoliko koristite hosting paket koji ima inode limit (ograničava ukupan broj fajlova nezavisno od njihove veličine), morate biti pažljivi da vas cache fajlovi koje generišete ne poguraju preko tog limita.

Minifikacija i kombinovanje fajlova

kompresija

Minifikacija je proces kojim kompresujete vaše CSS i Javascript direktive i kombinujete ih u manji broj fajlova kako biste ubrzali učitavanje. Ovo je kontroverzna tema jer je čitav proces minifikacije još jedan trn na putu kojim programer mora da prođe svaki put kada želi da nešto izmijeni u kodu, a uštede koje se dobijaju nije lako kvantifikovati. Ipak, kad ste zadovoljni time kako vam sajt izgleda i radi – minifikujte i objedinite CSS i JS fajlove.

Heartbeat kontrola

heartbeat

Ulazni procesi su najmističnije od ograničenja na dijeljenom hostingu. Predstavljaju broj “PHP skripti koje vaš hosting izvršava u jednom trenutku”. Učitavate stranicu koja vrši tri paralelna poziva prema bazi – tri ulazna procesa. Izvršavate ajax dobavljanje sadržaja za galeriju slika – bar još jedan ulazni proces. Shared hosting paketi najčešće limitiraju broj ulaznih procesa. Ograničenje je samo po sebi sasvim fer, osim jedne činjenice – WordPressov “Heartbeat” protokol ga dovodi do ludila, naročito ako imate stariju verziju PHP-a ili više administratora iz više tabova radi istovremeno.

Screen Shot 2015-04-09 at 13.32.22

Rješenje za ove muke je usporavanje “metabolizma” WP administracije. Instaliranjem plugina pruža vam se mogućnost da Heartbeat usporite na, recimo, 60 sekundi, i ograničite mu rad samo na dio za editovanje članaka. Komunikacija browsera i CMS-a biće nešto sporija, ali ćete sa ulaznim procesima imati mnogo manje muke.

Ovaj korak preporučujemo samo ako naiđete na pomenute probleme, pošto brži heartbeat obično znači responzivniji kolaborativni rad u WordPressu.

CDN

Ovi savjeti mogu vas dovesti samo do određenog dijela puta. Ako servirate stotine hiljada stranica dnevno, vrijeme je da počnete da razmišljate i o tome da dio sadržaja sa stranica izmjestite na mrežu za serviranje sadržaja (CDN). Pomenuti Photon je najprostija i najograničenija takva mreža. Među korisnicima WordPressa u posljednje vrijeme sve popularniji je i Cloudflare (dobar dio instalacije uradiće za vas, ako ste voljni da koristite njihove name servere), a Amazonov CloudFront CDN je najpopularnije rješenje za one koji žele CDN koji im pruža najnaprednije opcije. Naravno, sa tolikom posjećenošću vrijeme je da razmišljate i od naših VPS ili Dedicated Server rješenja.

Filtriranje zlonamjernih i beskorisnih posjeta

saobracajac

U posljednjih nekoliko godina sve je veća količina posjeta koja dolazi od algoritamskih pretraživača. Neki od njih su poželjni (Google-ov spider je jedan od najpoželjnijih posjetilaca sajta), ali jedan dio njih koristi se ili u zlonamjerne svrhe (pokušaji brute-force provaljivanja šifre, pokušaj da se mašinski identifikuju ranjive tačke sajta, DDOS napadi i slično). Pametnom kombinacijom pluginova poput Wordfence-a i Sucuri Security-ja zajedno sa logovima pristupa koje možete naći u kontrolom panelu vašeg dijeljenog hosting paketa, ovakve korisnike možete pronaći i zabraniti im pristup vašem sajtu. Ako koristite gorepomenuti Cloudflare, dio ovog posla već se obavlja za vas – pošto on blokira najzloglasnije izvore saobraćaja. Plaćeni paketi ovog i drugih CDN provajdera pružaju i naprednije algoritme za filtriranje ove vrste neželjenog sadržaja. U slučaju da ništa ne pomogne i sajt privremeno padne, Cloudflare i slični servisi serviraće korisniku zadnju aktivnu verziju vašeg sajta, dajući mu mogućnost da dođe do informacije čak i ako vi niste u stanju da mu je poslužite.

Ako možete da izdvojite dodatnih desetak eura mjesečno, komercijalna Sucuri Firewall i CDN usluga je nešto što bismo preporučili. Uz odličan komercijalni CDN, na raspolaganju vam je i odličan firewall koji je omiljen među našim programerima.

Od vizit-kartica do korisničkih interfejsa na tabletima, Milutin je Me-Netov dizajner svega i svačega.