Når en WordPress-side eller webshop bliver langsom, er et plugin ofte den første mistænkte, og tit med rette. Men det er sjældent antallet af plugins, der er problemet. Det er, hvad det enkelte plugin gør på hver sidevisning: hvor mange databaseforespørgsler det laver, om det venter på andre servere, og hvor mange filer det lægger på siden.
Her gennemgår vi, hvordan du finder det plugin, der gør din side langsom, uden at gætte, og hvad du gør, når du har fundet det.
Er det antallet af plugins?
Nej. Et site med 40 små plugins, der hver gør én ting, når de skal bruges, kan være hurtigere end et site med fem, hvor ét af dem laver tunge forespørgsler på hver side. Det, der koster tid, er:
- Arbejde på hver sidevisning, også på sider, hvor pluginet ikke bruges.
- Tunge eller mange databaseforespørgsler, fx filtre og søgninger, der læser hele tabeller.
- Kald til andre servere, mens siden bygges: licenstjek, nyheder, priser eller lager.
- Scripts og CSS på alle sider, selv om funktionen kun bruges på én.
- Store data i autoload eller mange baggrundsjob, der kører oven i kundernes besøg.
Færre plugins er stadig en god idé, fordi hvert plugin er kode, der skal holdes opdateret. Men fjern dem, fordi de ikke bruges, ikke for at nå et bestemt tal.
Find det med Query Monitor
Query Monitor er et gratis plugin, der viser, hvad der sker, mens en side bygges. Installér det, helst på en kopi af shoppen, og åbn den side, der er langsom. Se især på:
| Panel | Hvad du ser efter |
|---|---|
| Queries by Component | Et plugin, der står for en stor del af databasetiden eller mange forespørgsler |
| Slow Queries og Duplicate Queries | Langsomme forespørgsler og den samme forespørgsel kørt mange gange, med det plugin, der kaldte dem |
| HTTP API Calls | Kald til andre servere, hvor lang tid de tog, og hvilket plugin der lavede dem |
| Scripts og Styles | Filer, der indlæses på siden, og hvilket plugin de kommer fra |
Query Monitor viser databasen og eksterne kald godt, men ikke hvor lang tid hvert plugins PHP-kode bruger. Er siden langsom, uden at forespørgslerne forklarer det, skal der en profiler til, der måler hver funktion. Hvordan det ser ud i praksis, viser vores eksempel med en JSON-funktion, der kostede 100 ms. Mere om PHP-siden står i PHP-optimering i WordPress.
Slå plugins fra, en gruppe ad gangen
Viser målingerne ikke en tydelig synder, så find den ved at slå plugins fra. Gør det på en kopi af shoppen, ikke på den rigtige, hvor kunderne handler.
- Mål den langsomme side med alle plugins slået til, så du har et udgangspunkt.
- Slå halvdelen af de plugins fra, der ikke er nødvendige for, at siden virker, og mål igen.
- Blev siden hurtig, er synderen i den halvdel, du slog fra. Ellers i den anden. Del igen, til du står med ét plugin.
- Slå de andre til igen, og bekræft, at siden er hurtig uden netop det ene.
Har du ikke en kopi, kan pluginet Health Check & Troubleshooting fra WordPress.org slå plugins fra kun for dig, mens kunderne stadig ser siden, som den er. Det er en nødløsning. En kopi er bedre, især når det er checkout, du tester.
Når det kun er admin, der er langsom
Mange plugins gør det meste af deres arbejde i admin: kontrolpanel-widgets, statistik, licenstjek og nyheder fra udvikleren. Er det især admin, der er langsom, så se vores guide til en langsom WooCommerce-admin. Plugins, der gemmer store mængder data i wp_options, gør både admin og resten af sitet tungere. Hvordan du finder dem, står i guiden til autoload i wp_options.
Scripts og CSS på alle sider
Formularer, sliders, chat, anmeldelser og pop-ups lægger tit deres JavaScript og CSS på alle sider, selv om de kun bruges på én. Det gør siderne tungere at hente og vise i browseren. Se i browserens udviklerværktøjer (F12) under Network, hvilke filer en almindelig produktside henter, og hvilke plugins de kommer fra.
Mange plugins har en indstilling til kun at indlæse filerne, hvor de bruges. Har de ikke, findes der plugins, der kan fjerne filer fra bestemte sider. Brug dem med omtanke: fjerner du en fil, et plugin skal bruge, holder funktionen op med at virke, og det opdager du måske først, når en kunde klager.
Når du har fundet det
- Opdatér det. Langsom kode kan være rettet i en nyere version.
- Gennemgå indstillingerne. Mange plugins kan slå tunge funktioner fra, fx statistik, logning eller automatisk synkronisering.
- Kontakt udvikleren med det, du har målt: hvilken side, hvilken forespørgsel eller hvilket kald.
- Udskift det, hvis der findes et alternativ, der gør det samme med mindre arbejde.
Slå ikke et plugin fra på den rigtige shop, før du ved, hvad det bruges til. Plugins til betaling, fragt og fakturering kan se ud som om, de intet laver, indtil en ordre går galt. Hvor plugins passer ind i fejlfindingen af en langsom shop, står i afsnittet om plugins og tema i fejlfindingsguiden.
Ofte stillede spørgsmål
Hvor mange plugins er for mange i WordPress?
Der er ikke et tal. Ét tungt plugin kan gøre mere skade end mange lette. Fjern dem, du ikke bruger, og mål dem, du bruger.
Er betalte plugins hurtigere end gratis?
Ikke nødvendigvis. Prisen siger ikke noget om, hvor meget arbejde pluginet laver på hver side. Mål det på din egen shop.
Vil du have hjælp?
At finde det langsomme plugin er tit hurtigt med de rigtige målinger. Det svære er at vide, hvad der kan erstattes uden at noget andet går i stykker. Vil du have, at vi finder det i din shop, så læs om optimering af en langsom WooCommerce-shop. Vi kigger gratis på din shop først og siger, hvad der skal til.