Skip to content
Udgivet

Hvorfor WordPress-websites bliver langsomme

WordPress-websites bliver ikke langsomme af én universel årsag. Et site kan være begrænset af dyre databaseforespørgsler, sider uden caching, for store billeder, tredjepartsscripts, planlagte opgaver, hostingbegrænsninger eller kode, der kører på forespørgsler, hvor den ikke er nødvendig.

Derfor er installation af endnu et performance-plugin sjældent et pålideligt første svar. Det kan skjule et symptom, overlappe eksisterende funktionalitet eller tilføje endnu et konfigurationslag uden at finde flaskehalsen.

En praktisk audit begynder med at måle sitet, finde ud af hvor tiden bruges og ændre én væsentlig årsag ad gangen.

WordPress performance-audit med dashboard, plugin-moduler, database, cache og diagnoseværktøjer

Definér hvad langsomt betyder

“Sitet er langsomt” kan beskrive flere forskellige oplevelser:

  • Serveren er længe om at begynde sit svar
  • Siden starter hurtigt, men hovedindholdet vises sent
  • Layoutet flytter sig, mens ressourcer indlæses
  • Knapper og formularer reagerer langsomt
  • Administrationsområdet er vanskeligt at bruge
  • Checkout, søgning eller filtrerede arkiver er langsomme
  • Performance ændrer sig afhængigt af, om brugeren er logget ind

Hvert symptom kræver forskellig dokumentation. Langsom serversvartid peger mod PHP-kørsel, databasearbejde, caching eller hosting. Langsom rendering kan involvere billeder, CSS, JavaScript, fonte eller eksterne ressourcer. Et langsomt administrationsområde har ofte andre årsager end en langsom offentlig side.

Start med repræsentative sider og flows, ikke kun forsiden. Test en almindelig artikel, et arkiv, et søgeresultat, en formular, et produkt, checkout og en side for indloggede brugere, hvor det er relevant.

Opret et udgangspunkt før ændringer

Registrér tilstrækkelige oplysninger til at kunne sammenligne før og efter:

  • Serverens svartid
  • Hele sidens loading-waterfall
  • Core Web Vitals og visuel rendering
  • Antal og varighed af databaseforespørgsler
  • PHP-fejl, advarsler og langsomme requests
  • Cache hits og misses
  • Sidestørrelse og antal requests
  • Langsomme handlinger i administrationen
  • Performance i stille og travle perioder

Brug browserens udviklerværktøjer og en waterfall-test til frontend-adfærd. Gennemgå hostingmålinger, PHP-logs og databaseaktivitet for backend-adfærd. WordPress-udviklingsværktøjer og profileringsplugins kan hjælpe med at identificere hooks, forespørgsler, HTTP-kald og skabeloner, der bruger tid, men fjern diagnoseværktøjer fra produktion, når de ikke længere er nødvendige.

Formålet med udgangspunktet er ikke at indsamle alle tænkelige målinger. Det er at undgå at ændre sitet ud fra gæt.

Antallet af plugins er ikke den nyttige måling

En almindelig performance-regel siger, at et WordPress-site har for mange plugins. Antallet alene forklarer ikke problemet.

Tyve små, fokuserede plugins kan være lettere end ét stort plugin, der indlæser kode, databaseforespørgsler, eksterne kald og ressourcer på alle sider. Det afgørende er, hvad hvert plugin gør, hvornår det kører, og om arbejdet er nødvendigt.

Gennemgå plugins for:

  • Databaseforespørgsler ved hvert request
  • Eksterne API-kald under sidegenerering
  • Scripts og styles, der indlæses på hele sitet
  • Overlappende funktionalitet
  • Tungt arbejde i administrationsområdet
  • Store eller ofte opdaterede options
  • Baggrundsopgaver og planlagte events
  • Funktioner, der er aktive, men ikke bruges

Deaktivér kun et plugin i et kontrolleret miljø, mål derefter effekten, og test den berørte funktionalitet. Det er kun nyttigt at erstatte et plugin, når erstatningen løser samme forretningsbehov mere effektivt og kan vedligeholdes sikkert.

Gennemgå tema og skabeloner

Det aktive tema styrer mere end det visuelle design. Det kan også definere forespørgsler, billedstørrelser, indlæsning af ressourcer, navigation, page builders, blokke og skabelonlogik.

Se efter skabeloner, der:

  • Henter flere indlæg eller felter, end de viser
  • Kører gentagne eller ubegrænsede forespørgsler
  • Indlæser store sliders, biblioteker eller animationskode
  • Genererer mange billedvarianter
  • Indlæser scripts og styles på sider, der ikke bruger dem
  • Bygger kritisk indhold gennem langsom client-side JavaScript

En fokuseret temaændring kan ofte forbedre performance uden at erstatte designet. Indlæs ressourcer betinget, forenkle dyre skabeloner, definér nyttige billedstørrelser, og fjern funktioner, der ikke skaber værdi.

Undersøg databaseforespørgsler og gemte options

WordPress er meget afhængig af databasen. Når sitet vokser, kan gamle plugins, importer, revisioner, sessions, transients, logs og webshopaktivitet efterlade store tabeller eller dyre forespørgselsmønstre.

Vigtige områder at undersøge er:

  • Langsomme og gentagne forespørgsler
  • Manglende eller ineffektive indekser
  • Store tabeller med hyppig læsning eller skrivning
  • Autoloaded options, der indlæses ved mange requests
  • Gamle plugindata og efterladte tabeller
  • For mange revisioner, sessions, logs eller midlertidige data
  • Søge- og filtreringsforespørgsler, der ikke skalerer

Kør ikke en bred databaseoprydning uden at forstå dataene. En tabel eller option, der ser ubrugt ud, kan understøtte en integration, planlagt opgave eller rapportering. Tag backup, identificér ejerskab, test ændringen, og behold en vej tilbage.

Object caching kan reducere gentaget databasearbejde, men gør ikke ineffektive forespørgsler uskadelige. Ret forespørgselsmønstret, hvor det er praktisk, og brug derefter caching til at reducere nødvendigt gentaget arbejde.

Kontrollér planlagte opgaver og baggrundsprocesser

Planlagt arbejde kan stille og roligt påvirke både offentlige sider og administrationsområdet. Backups, importer, mailkøer, sikkerhedsscanninger, webshopopgaver, feedopdateringer og integrationer kan alle køre i baggrunden.

WordPress’ standardplanlægning, der udløses af trafik, er praktisk, men kørsel kan blive uregelmæssig på sites med lav trafik og tilføje arbejde til requests på travle sites. For sites med vigtige eller tunge planlagte opgaver er en reel systemplanlægger og kontrolleret baggrundsbehandling ofte mere forudsigelig.

Gennemgå:

  • Hvilke opgaver der er registreret
  • Hvor ofte de kører
  • Hvor lang tid de tager
  • Om fejlede opgaver forsøges igen uden stop
  • Om flere tunge opgaver kører samtidig
  • Om en opgave kan flyttes væk fra brugerrequests

Baggrundsarbejde bør være synligt i logs eller overvågning. En opgave, der fejler lydløst eller kører gentagne gange, kan skabe performance- og driftsproblemer længe før nogen opdager det.

Forstå hvert cachelag

Caching kan give store forbedringer, når lagene er tydelige.

Typiske lag omfatter:

  • Browsercaching af statiske ressourcer
  • CDN- eller edge-caching
  • Fuld sidecache
  • Object caching af gentagne data
  • PHP OPcache
  • Caching i applikationen af dyre operationer

Målet er ikke at aktivere alle cachefunktioner. Det er at forhindre unødvendigt gentaget arbejde uden at vise privat, forældet eller forkert indhold.

Dokumentér hvor caches findes, hvad der går uden om dem, hvordan de tømmes, og hvilke sider der skal forblive dynamiske. Sider for indloggede brugere, kurve, kontoområder, personaliseret indhold og formularer kræver mere omtanke end offentlige artikler.

En cache kan få en langsom side til at se hurtig ud for én besøgende, mens den underliggende forespørgsel uden cache stadig er dyr. Test både cache hits og misses.

Reducér frontend-arbejdet

Selv en hurtig server kan levere en langsom oplevelse, hvis browseren får for meget arbejde.

Gennemgå:

  • For store billeder og manglende responsive varianter
  • Ubrugt CSS og JavaScript
  • Render-blocking ressourcer
  • Fonte og ikonbiblioteker
  • Sliders, video, kort og embeds
  • Samtykkeløsninger, chatwidgets, analytics og reklamescripts
  • Layout shifts fra billeder, bannere eller indsat indhold

Optimér omkring reelle brugerrejser. Den offentlige forside kan være godt cachet, mens produktsiden eller kontaktformularen stadig indlæser flere megabyte scripts. Guiden om performance og Core Web Vitals giver en bredere ramme for indlæsning, stabilitet og respons.

Kontrollér hosting og PHP-konfiguration

Applikationsarbejde kan ikke fuldt ud kompensere for et uegnet miljø.

Gennemgå understøttelse af PHP-version, worker-kapacitet, memory limits, OPcache, databaseressourcer, lagerperformance, netværksforsinkelse, og hvordan hosten håndterer trafikspidser. Shared hosting kan være tilstrækkeligt for et enkelt site, men en ressourcekrævende webshop, medlemsløsning eller integration kan kræve en mere forudsigelig opsætning.

Et hostingskifte bør stadig følge dokumentation. Hvis applikationen laver hundredvis af ineffektive forespørgsler eller langsomme eksterne kald på hver side, gør en større server måske kun et dyrt mønster lidt hurtigere.

En praktisk rækkefølge for audit

En kontrolleret WordPress performance-audit kan følge denne rækkefølge:

  1. Tag backup af sitet, og bekræft rollback-processen.
  2. Vælg repræsentative sider og brugerrejser.
  3. Registrér udgangspunkt for frontend, server, database og cache.
  4. Identificér de største målbare flaskehalse.
  5. Genskab og undersøg dem uden for produktion, hvor det er muligt.
  6. Implementér én fokuseret forbedring.
  7. Test funktionalitet, og mål igen.
  8. Udgiv forsigtigt, og overvåg resultatet.

Denne rækkefølge gør årsag og virkning synlig. Hvis fem optimeringsplugins, en ny host, en databaseoprydning og en temaændring sker samtidig, bliver det svært at vide, hvad der hjalp, og hvad der skabte et nyt problem.

Når specialudvikling er den rigtige løsning

Konfiguration kan løse mange performanceproblemer, men nogle problemer kræver kodeændringer.

Specialudvikling kan være berettiget, når et kritisk plugin udfører unødvendigt arbejde, en temaforespørgsel ikke skalerer, en integration blokerer sidevisninger, eller en vigtig arbejdsgang afhænger af en langsom generisk løsning. Målet er ikke at erstatte standard WordPress-adfærd for sin egen skyld. Det er at forbedre den del, der har en tydelig betydning for drift eller brugere.

Det mest nyttige WordPress-performancearbejde er ofte ikke dramatisk: mål, fjern unødvendigt arbejde, cache det rigtige output, ret dyr kode, test vigtige flows, og fortsæt overvågningen. Det skaber et hurtigere site uden at gøre performanceopsætningen til endnu et system, der er svært at vedligeholde.

Flere artikler