LiteSpeed Cache til WordPress og en webshop
Vores servere kører på LiteSpeed. Til WordPress er den gratis plugin LiteSpeed Cache derfor det oplagte valg som cacheplugin: den gemmer færdigbyggede sider på serveren, så de ikke skal bygges op igen ved hvert besøg. Din side bliver hurtigere, og din pakke får mindre arbejde. Ved en webshop skal du dog vide, hvilke sider der aldrig må caches. Denne artikel giver dig det grundlæggende og det, der kommer i tillæg med WooCommerce.
Det grundlæggende
- Gå i WordPress til Plugins > Tilføj ny, søg på "LiteSpeed Cache", kontroller at udgiveren er LiteSpeed Technologies, og installer og aktiver pluginet.
- Åbn i menuen LiteSpeed Cache > Cache og kontroller, at Enable Cache er slået til.
- Bruger du en anden cacheplugin, skal du slå den fra. To caches ved siden af hinanden giver mærkelige fejl.
- Test derefter din side i et privat vindue.
Vil du vide mere om, hvorfor din side er langsom, og hvad der ellers hjælper, så læs Min hjemmeside er langsom eller bruger for meget CPU: sådan gør du den hurtigere.
Webshop: to typer sider
| Type side | Eksempler | Sidecache? |
|---|---|---|
| Ens for alle | Forside, butikside, kategorier, produktsider | Ja, det er her den største gevinst ligger |
| Forskellig pr. besøgende | Indkøbskurv, betaling, Min konto, fortrydelsesformularen | Aldrig |
Går det galt, ser en kunde indkøbskurven eller endda adressen tilhørende en anden. Det er også et datalæk; se Er er tale om et databrud, og skal du anmelde det?
Hvad WooCommerce og LiteSpeed Cache allerede klarer
WooCommerce markerer selv indkøbskurv, betaling og Min konto som "ikke caches", med en konstant (DONOTCACHEPAGE) og med no-cache-headere. Så snart nogen lægger noget i indkøbskurven, sætter WooCommerce cookies som woocommerce_items_in_cart, woocommerce_cart_hash og wp_woocommerce_session_. LiteSpeed Cache følger ifølge sin egen dokumentation disse regler fra WooCommerce. I en almindelig shop behøver du derfor ikke tilføje noget.
Når du selv tilføjer undtagelser
Undtagelser findes under LiteSpeed Cache > Cache, fanebladet Excludes:
- Do Not Cache URIs: adresser der aldrig må caches, én pr. linje. Tilføj dem, hvis du har givet butikssiderne et andet navn (f.eks.
/kurv/), hvis et oversættelsesplugin opretter egne adresser (som/de/warenkorb/), eller for fortrydelsesformularen under Min konto. - Do Not Cache Cookies: cookies hvor en side ikke må komme fra cachen. Vær tilbageholdende her: en cookie, der findes på hver side, slår cachen fra for hele din side.
Sæt desuden ikke et ekstra lag foran, der cacher alt. Et CDN med en regel som "cache everything" ignorerer WooCommerces headere; udeluk i så fald også shopsiderne og cookies der.
Objektcache med Redis
Indkøbskurv og betaling bliver altid bygget op igen fra databasen. En objektcache gemmer ofte brugte databaseresultater i hukommelsen, og det hjælper netop ved en shop. Redis findes i Power Webhost Three, Power Webhost Four og Power Reseller. Slå Redis til i DirectAdmin, slå PHP-udvidelsen redis til, og vælg i LiteSpeed Cache under Cache, fanebladet Object, metoden Redis med stien til socketen. Alle trin findes i Redis. Bruger flere sider i din pakke Redis, skal du give hver side sit eget Redis Database ID.
Kontroller at det er sat korrekt op
Åbn din side i et privat vindue, tryk på F12, vælg fanebladet Netværk, genindlæs siden og klik på den første forespørgsel.
- Forside eller produktside, indlæs to gange: anden gang står der
x-litespeed-cache: hit. - Indkøbskurv, betaling og Min konto: intet hit, men
x-litespeed-cache-control: no-cacheog encache-controlmedno-cache. - Læg et produkt i indkøbskurven og åbn en produktside: du ser din egen kurv, ikke en gemt version.
Hvad cachen ikke løser
Er din shop alligevel langsom ved travlhed, så kig også på en aktuel PHP-version, færre plugins og WooCommerces planlagte handlinger. En lang liste mislykkede handlinger gør databasen langsommere; se WooCommerce Status og Planlagte handlinger: find problemer.
Læs videre
- Gratis WordPress-kursus, lektion 6.2 Caching
- LiteSpeed Cache: indstillingerne på fanebladet Cache (engelsk)
- WooCommerce: opsætning af cacheplugins (engelsk)
