Alle inzichten
Techniekjan 20265 min leestijd

Waarom laadt mijn website langzaam? Zeven oorzaken.

Op bijna elke trage website zie ik dezelfde problemen. Ze oplossen is meestal goedkoper dan eigenaren denken.

Op bijna elke trage website kom ik dezelfde problemen tegen. Ander systeem, andere branche, andere omvang, maar het komt neer op hetzelfde rijtje, ongeveer in dezelfde volgorde van ernst. Niets exotisch. Ik heb nog nooit een trage site opengemaakt en een slim, mysterieus probleem gevonden. Het zijn altijd de basisdingen, en juist die zijn goedkoop op te lossen. Vraag je je af waarom jouw website langzaam laadt? Grote kans dat het antwoord hieronder staat.

1. Afbeeldingen die niet zijn geoptimaliseerd.

Nog altijd nummer één. Foto's die rechtstreeks van een telefoon of camera komen, 4000 pixels breed, opgeslagen als JPEG en gedropt in een vakje dat op het scherm 400 pixels breed is. De browser downloadt het volledige bestand toch en verkleint het daarna pas. Op een overzichtspagina met 40 producten zijn dat 40 veel te grote afbeeldingen die tegelijk laden, terwijl de bezoeker naar een leeg raster zit te kijken. De oplossing is saai en werkt: verklein afbeeldingen naar het formaat waarop ze echt getoond worden, gebruik moderne formaten zoals WebP of AVIF, zet breedte en hoogte vast zodat de pagina niet staat te springen tijdens het laden, en laad alles onder de vouw pas als het nodig is. Een goede beeldverwerking regelt dit grotendeels vanzelf, zodra het eenmaal goed is ingesteld. Ik zie een pagina hiermee vaak van zes seconden naar onder de twee gaan.

2. Plugins en scripts die niemand heeft weggehaald.

Een chatwidget uit 2022 waar allang niemand meer op reageert. Een heatmaptool van een campagne die vorig voorjaar stopte. Een A/B-testscript van een adviseur die weg is. Een tweede analytics-tag die iemand ooit toevoegde en vergat. Elk van die dingen laadt nog steeds bij elk bezoek, praat met een server die je niet in de hand hebt, en houdt de pagina onderweg tegen. Ik open het netwerktabblad, zet op een rij wat de site allemaal laadt, en vraag de eigenaar waar elk ding voor is. De helft van de tijd weet niemand het. Die gaan er dezelfde middag uit. De doorlichting kost een paar uur en de pagina is aan het eind van de dag merkbaar lichter.

3. Geen caching.

Dynamische sites die grotendeels statisch zouden kunnen zijn, zijn dat niet. Een homepage die één keer per week verandert, wordt bij elk bezoek opnieuw opgebouwd. Een productoverzicht dat één keer per dag verandert, wordt honderden keren per uur vers uit de database gehaald. De server doet steeds hetzelfde dure werk voor pagina's die niet veranderd zijn. Je hebt er niets ingewikkelds voor nodig. Cachingheaders zodat terugkerende bezoekers hergebruiken wat ze al hadden, een CDN zodat bestanden vanaf een plek dicht bij de bezoeker komen in plaats van vanaf één server in Duitsland, en paginacaching voor alles wat niet op de seconde actueel hoeft te zijn. Op de meeste sites is dit de grootste winst aan de serverkant, en je hostingrekening gaat er ook nog van omlaag.

4. Lettertypes die het laden blokkeren.

Vier verschillende lettergewichten, opgehaald bij een externe dienst, zonder preload, die de tekst tegenhouden tot ze binnen zijn. Het staat op bijna elke trage site. Soms is de tekst een volle seconde onzichtbaar terwijl de browser wacht op een lettertype waarvan niemand had gemerkt dat het ontbrak. De oplossing kost meestal een uur. Host de lettertypes zelf in plaats van ze van de server van iemand anders te halen, preload de één of twee gewichten die je echt gebruikt, zet font-display: swap aan zodat de tekst meteen in een reservelettertype verschijnt en pas wisselt als het echte klaar is, en gooi de gewichten weg die je niet gebruikt. Nog nooit heeft iemand geklaagd dat een pagina één cursief lettertype minder had.

5. Geen monitoring.

Het engste is niet een trage site. Het is een site die om twee uur 's nachts op vrijdag uitvalt en waar niemand iets van merkt tot maandag, als een klant een geïrriteerde mail stuurt met de vraag of het bedrijf nog bestaat. Elk uur dat de site plat lag, was een uur waarin bestellingen naar een concurrent gingen. Uptime-monitoring is gratis, of bijna. Een dienst pingt je site elke minuut en stuurt je een bericht op het moment dat hij niet meer reageert. Het niet hebben is geen kwestie van budget, het is nalatigheid. Het is het eerste wat ik op elk project instel, voordat ik iets anders aanraak, zonder uitzondering.

6. Te veel JavaScript voor een simpele pagina.

Een brochuresite of een rechttoe rechtaan webshop heeft geen megabytes aan JavaScript nodig, maar veel ervan sturen het toch mee. Een zwaar thema, een pagebuilder die elke knop in vijf lagen verpakt, een sliderbibliotheek voor een slider die een jaar geleden is weggehaald. De telefoon moet het allemaal downloaden, uitpakken en uitvoeren voordat de bezoeker iets kan, en juist op de telefoon zit het grootste deel van je verkeer. Ik kijk hoe een site zich gedraagt op een gemiddelde Android via gewoon mobiel internet, niet op een snelle laptop op kantoorwifi. Dat is de echte test. Meestal is de oplossing om te snoeien in wat het thema laadt, een opgeblazen bouwer te vervangen door iets lichters, en de zware onderdelen alleen te laden op de pagina's die ze echt gebruiken.

7. Hosting die het niet bijhoudt.

Het goedkoopste hostingpakket zet je site op één machine met honderden andere erbij. Als een buurman een drukke dag heeft, wordt jouw site trager om redenen die niets met jouw site te maken hebben. Ik zie ondernemers betalen voor een eigen pand en eigen personeel, en dan de winkel draaien op vijf euro hosting per maand, met de vraag waarom het rond lunchtijd zo stroef voelt. Je hebt ook niet het duurste pakket nodig. Je hebt hosting nodig die past bij je verkeer, dicht bij je klanten staat en niet omvalt tijdens je drukste uur. Overstappen van overvol gedeeld hosting naar iets passends is vaak een kwestie van een dag, met meteen een duidelijk verschil.

De meeste van deze fixes kosten uren, geen weken. Wat het je kost om ze te negeren, is bijna altijd hoger dan wat het kost om ze op te lossen.

Je website sneller maken zonder alles opnieuw te bouwen.

Niets hiervan is spannend werk en niets vraagt om je site opnieuw te bouwen. Het is een checklist. Loop hem op volgorde af, los op wat je tegenkomt, en de meeste sites worden twee tot drie keer sneller zonder ook maar één nieuwe functie. Wil je de laadtijd van je website verbeteren, dan begin je hier, niet bij een dure herbouw.