Hraðari WordPress-vefur

Kafli 3 af 5

Skyndiminni (caching) og CDN

4 mín. lestur

Skyndiminni sparar vefnum að búa til sömu síðuna aftur og aftur, og CDN færir skrárnar nær gestunum. Hér förum við yfir tegundir skyndiminnis og hvenær CDN borgar sig.

Í hvert sinn sem einhver opnar síðu á WordPress-vef fer töluvert í gang á bak við tjöldin. Þjónninn keyrir PHP-kóða, sækir efni úr gagnagrunninum, raðar saman þema, viðbótum og texta og sendir loks tilbúna HTML-síðu til vafrans. Þetta tekur kannski hálfa sekúndu, en ef hundrað manns opna sömu síðuna er verið að endurtaka nákvæmlega sömu vinnuna hundrað sinnum.

Skyndiminni (e. cache) leysir þetta með því að geyma tilbúnu niðurstöðuna og afhenda hana beint næst. Það er ein áhrifaríkasta leiðin til að gera WordPress-vef hraðari.

Þrjár tegundir skyndiminnis

  • Síðuskyndiminni (page cache): geymir heilar, tilbúnar síður. Næsti gestur fær síðuna strax án þess að PHP eða gagnagrunnurinn komi við sögu. Þetta skilar mestu og styttir tímann sem það tekur þjóninn að svara.
  • Vafraskyndiminni (browser cache): segir vafra gestsins að geyma skrár eins og myndir, letur, CSS og JavaScript í ákveðinn tíma. Þegar gesturinn skoðar næstu síðu þarf vafrinn ekki að sækja þær aftur.
  • Hlutaskyndiminni (object cache): geymir niðurstöður úr gagnagrunninum í hraðvirku minni, til dæmis með Redis eða Memcached. Það skiptir mestu á vefjum þar sem ekki er hægt að geyma heilar síður, til dæmis í vefverslun þar sem karfan er ólík fyrir hvern gest.

Manstu eftir ábendingunni „Use efficient cache lifetimes“ í PageSpeed-skýrslunni í fyrsta kaflanum? Hún snýst einmitt um vafraskyndiminni: sumar skrár segja vafranum að geyma þær í of stuttan tíma, eða alls ekki.

Hvernig kveikirðu á skyndiminni?

Það fer eftir hýsingunni. Sumar hýsingar sjá um síðuskyndiminni á þjóninum sjálfum, og þá þarftu yfirleitt ekki að gera neitt nema kannski að hreinsa það eftir stórar breytingar. Annars eru til skyndiminnisviðbætur sem gera þetta innan úr WordPress, og margar þeirra sjá líka um vafraskyndiminni og fleiri hraðastillingar í leiðinni.

  1. Athugaðu fyrst hvort hýsingin þín býður upp á skyndiminni. Ef svo er skaltu nota það frekar en að bæta við viðbót.
  2. Ef ekki, settu inn eina vel þekkta skyndiminnisviðbót. Aldrei tvær í einu; þær rekast á.
  3. Virkjaðu síðuskyndiminni og vafraskyndiminni með sjálfgefnum stillingum.
  4. Opnaðu vefinn í huliðsglugga (incognito), þar sem þú ert ekki innskráð/ur, og skoðaðu nokkrar síður.
  5. Mældu aftur í PageSpeed Insights og berðu saman við fyrri mælingu.

ÁbendingEf breyting sem þú gerðir birtist ekki á vefnum er skyndiminnið líklegasta skýringin. Hreinsaðu það og prófaðu aftur.

Farðu varlega með háþróaðar stillingar eins og að sameina eða fresta CSS- og JavaScript-skrám. Þær geta skilað góðum árangri, en geta líka brotið útlitið eða virkni eins og valmyndir og greiðslusíður. Kveiktu á einni í einu og prófaðu vefinn vel á milli.

CDN: skrárnar nær gestunum

CDN (Content Delivery Network) er net af þjónum um allan heim sem geyma afrit af skrám vefsins, til dæmis myndum, CSS og JavaScript. Gestur í New York fær þá skrárnar frá þjóni í New York en ekki frá Reykjavík. Cloudflare er þekktasta dæmið og býður upp á ókeypis grunnáskrift.

Hvort CDN borgar sig fer eftir gestunum. Ef nær allir gestir eru á Íslandi og vefurinn er hýstur hér á landi er ávinningurinn yfirleitt lítill, því skrárnar eru þegar nálægt. Ef vefurinn er hýstur erlendis, eða ef margir gestir koma að utan, til dæmis á vef ferðaþjónustu, getur CDN munað miklu. Mörg CDN bjóða líka upp á vörn gegn árásum og sjálfvirka myndþjöppun.

Í næsta kafla skoðum við hvað viðbætur, þema og skriftur frá þriðja aðila gera fyrir hraðann.