Waarom je WooCommerce traag wordt, en wat er dan aan de hand is

Bijna elke trage WooCommerce die wij openen faalt op dezelfde vier dingen. Geen daarvan vraagt een nieuwe webshop.

Techniek9 min lezen

Als een webshop traag wordt, valt al snel het woord herbouw. Dat is meestal het duurste antwoord op een vraag die nog niet gesteld is, namelijk waar de tijd precies blijft.

Vier oorzaken verklaren het merendeel, ze zijn alle vier saai, en ze zijn alle vier op te lossen zonder je winkel te veranderen.

1. De hosting is niet gebouwd voor een webshop

Dit is veruit de meest voorkomende. Een webshop doet voortdurend werk dat een gewone website niet doet: bestellingen verwerken, voorraad bijhouden, achtergrondtaken draaien, sessies bijhouden van iedereen met iets in zijn winkelwagen.

Op gedeelde hosting deel je die capaciteit met tientallen anderen. Het werkt tot je een drukke dag hebt, en dan werkt het niet meer.

2. Uitbreidingen die op elke pagina werk doen

Elke uitbreiding voegt code toe die meedraait. De meeste doen dat netjes en alleen waar nodig. Sommige laden hun bestanden op elke pagina, ook waar ze niets te zoeken hebben.

Een winkel met dertig uitbreidingen heeft er meestal een handvol die het grootste deel van de vertraging veroorzaken. Die vind je door te meten, niet door te gokken.

  1. Maak een lijst van wat er geïnstalleerd staat en wat je werkelijk gebruikt. Die twee lijsten verschillen bijna altijd.
  2. Verwijder wat niet gebruikt wordt, want uitgeschakeld is niet hetzelfde als weg.
  3. Meet per paginatype. Als je productpagina veel trager is dan je homepage, weet je waar je moet kijken.

3. Afbeeldingen die nooit geoptimaliseerd zijn

Het minst technische punt en vaak de grootste winst. Productfoto's worden geüpload zoals ze uit de camera komen, en elke bezoeker downloadt een bestand van enkele megabytes om iets te zien dat op vierhonderd pixels breed wordt getoond.

Moderne beeldformaten zijn een fractie van de grootte van dezelfde foto als JPEG, met hetzelfde zichtbare resultaat. Wie dat niet gebruikt betaalt daarvoor bij elke paginaweergave, en de bezoeker met een telefoon betaalt dubbel.

4. Een database die is volgelopen

WordPress bewaart standaard veel: revisies van elke pagina, verlopen tijdelijke gegevens, logboeken van uitbreidingen. Bij een webshop komen daar bestelgegevens en sessies bij.

Na een paar jaar is dat een database waarin de nuttige gegevens in de minderheid zijn. Opruimen helpt direct, en het is geen eenmalige klus maar iets dat automatisch hoort te gebeuren.

De volgorde waarin je het aanpakt

Hosting eerst, want als de omgeving het niet aankan blijft al het andere symptoombestrijding. Dan afbeeldingen, want dat is de grootste winst voor het minste werk. Dan uitbreidingen, en dan de database.

Wat je niet moet doen is beginnen met een cacheplugin. Die verbergt de symptomen zolang alles rustig is en laat je precies op het verkeerde moment in de steek.