Hastighedsoptimering Kim Tetzlaff · · 5 minutters læsning

To cache-plugins er værre end ét

Har du to cache-plugins kørende, er siden langsommere end med ét. Se hvorfor det sker, hvordan du opdager det, og hvilket ét du bør beholde.

To cache-plugins der behandler den samme fil efter hinanden og ødelægger resultatet

Det er den fejl jeg finder oftest, og det er også den mest kontraintuitive: to cache-plugins gør ikke siden dobbelt så hurtig. De gør den langsommere end ét.

Jeg har bygget detektionen ind i min egen hastighedstest, netop fordi den dukker op så tit. Testen kender 28 slugs der laver cache eller optimering, og finder den mere end ét af dem på samme side, siger den til. Det gør den ofte.

Sådan opstår det

Ingen installerer to cache-plugins med vilje. Det sker i lag, over tid:

Webbureauet satte WP Rocket op i 2023. Det virkede, og ingen har rørt det siden.

Hosten slog deres eget optimeringsplugin til. SiteGround Optimizer, Breeze hos Cloudways, eller LiteSpeed Cache som følger med serveren. Det sker ofte automatisk ved en flytning eller en opgradering, uden at nogen bliver spurgt.

Du læste en artikel om Autoptimize. Eller om Perfmatters, eller om et “speed booster”-plugin med gode anmeldelser. Du installerede det, siden blev ikke mærkbart hurtigere, og du lod det bare være.

Temaet har sin egen optimeringsfane. Nogle premium-temaer minificerer og cacher selv, og det står slået til fra start.

Tre af de fire er ting ingen aktivt valgte. Det er derfor det er værd at gå plugin-listen igennem, selv om du er sikker på at der kun er ét.

Hvorfor det gør skade

Der er tre måder det går galt på, og de kan alle tre optræde samtidig.

Dobbelt minificering ødelægger filerne

Minificering fjerner mellemrum og linjeskift fra CSS og JavaScript. Kører to plugins den samme fil igennem, behandler det andet det førstes output.

Som regel går det. Men JavaScript der mangler et semikolon kan sagtens køre så længe der er linjeskift, og holde op med at virke når linjeskiftene forsvinder — og gøre det igen anderledes når en anden minificering kører ovenpå. Det viser sig som en slider der ikke ruller, en menu der ikke folder ud, eller en formular der ikke sender. Fejl der er svære at finde, fordi de først opstår efter to lag behandling.

To systemer tror de ejer cachen

Plugin A gemmer den færdige side. Plugin B gemmer også den færdige side — måske plugin A’s version, måske sin egen. Når du retter noget, rydder plugin A sin cache, men plugin B serverer videre fra sin.

Det er derfor “jeg har ryddet cachen, men rettelsen slår ikke igennem” er så almindelig en oplevelse. Der er ikke én cache. Der er to, og de bliver ryddet på hver sin knap.

Arbejdet bliver lavet to gange

Begge plugins kører ved hver sidevisning. De skanner den samme HTML, tjekker de samme filer og skriver til de samme mapper. Det arbejde koster TTFB, og det er arbejde der ikke bliver til noget for besøgende.

Sådan opdager du det

Åbn din plugin-liste og se efter alt der har med cache, minificering, “optimize”, “speed” eller “performance” at gøre. Her er dem jeg oftest finder ved siden af hinanden:

PluginHvad det laver
WP Rocketsidecache, minificering, lazy loading
LiteSpeed Cachesidecache (kræver LiteSpeed-server), minificering, billeder
W3 Total Cachesidecache, objektcache, minificering
WP Super Cachesidecache
Cache Enablersidecache
WP Fastest Cachesidecache, minificering
Autoptimizeminificering og samling — ikke sidecache
Perfmattersslår scripts fra per side — ikke sidecache
Asset CleanUpslår scripts fra per side — ikke sidecache
SiteGround Optimizerhostens eget, sidecache og minificering
BreezeCloudways’ eget, sidecache og minificering
Jetpack Boostkritisk CSS og billeder
Swift Performance, NitroPack, Hummingbirdfuld pakke

Læg mærke til de tre i midten. Autoptimize, Perfmatters og Asset CleanUp er ikke cache-plugins — de laver noget andet, og de kan godt køre sammen med et sidecache-plugin. Det er kombinationen af to der cacher siden, eller to der minificerer, som gør skade.

Glem heller ikke temaets egen optimeringsfane, og ikke mindst hosten. Kører du hos en udbyder med server-cache, har du allerede et lag, før du overhovedet installerer noget.

Sådan rydder du op

  1. Skriv ned hvad du har nu. Kør en test og gem tallene — TTFB, LCP og TBT. Ellers ved du bagefter ikke om det blev bedre.
  2. Vælg ét plugin til sidecache. Det skal være det der passer til din server. Kører du på LiteSpeed eller OpenLiteSpeed, er LiteSpeed Cache oplagt og gratis. Gør du ikke, får du kun de generelle funktioner af det — og så er WP Rocket, W3 Total Cache eller Cache Enabler bedre valg.
  3. Slå de andres cache- og minificeringsfunktioner fra, før du deaktiverer dem. Nogle plugins efterlader filer og regler i .htaccess, som bliver ved med at virke efter deaktivering.
  4. Deaktivér, ryd op, og slet. Et deaktiveret plugin er stadig kode på serveren.
  5. Ryd al cache — også hostens og CDN’ets. Der kan ligge gamle versioner flere lag ude.
  6. Klik siden igennem. Forsiden, en produktside, kassen og en formular. Det er dér dobbelt minificering plejer at have efterladt noget i stykker.
  7. Mål igen. Sammenlign med tallene fra punkt 1.

Driver du webshop, er der en ting mere: kurv, kasse og Min konto må aldrig caches. Se hastighedsoptimering af WooCommerce.

Ofte stillede spørgsmål

Kan jeg køre WP Rocket og Autoptimize sammen?

Ja, hvis du er omhyggelig. Autoptimize er ikke et sidecache-plugin, så de to overlapper ikke på cachen. Men de overlapper på minificering, og den del skal kun være slået til ét sted. Vælg hvilket af dem der skal styre CSS og JavaScript, og slå det fra i det andet.

Hvad med hostens egen cache?

Server-cache hos hosten og et cache-plugin i WordPress er to lag, og de kan sagtens fungere sammen — men de skal ryddes begge steder når du retter noget, og undtagelserne skal sættes op begge steder. Spørg din host hvad de allerede kører, før du installerer noget.

Hvordan ved jeg hvilket plugin der faktisk leverer siden?

Kig i svarets HTTP-headere eller nederst i HTML’en. De fleste cache-plugins efterlader et spor — WP Rocket skriver en kommentar med tidspunktet for cachen, LiteSpeed sender en x-litespeed-cache-header. Finder du to spor, har du svaret.

Kontakt

Ring eller skriv — du taler med mig

Der er ingen salgsafdeling. Vælg den vej der passer dig bedst.

Få hastighedsoptimeret din wordpress hjemmeside i dag og få højere ranking på Google.

Danmarks bedste hastighedsoptimering af wordpress hjemmesider.

Gratis analyse →