Wat HTTP-statuscodes werkelijk betekenen voor SEO
Een praktische gids voor de responscodes die invloed hebben op crawlen, indexeren, redirects en deïndexering — zonder elke code als een rankingcrisis te behandelen.
Inhoudsopgave
- De statuscode is niet het hele SEO-verhaal
- 200 OK: indexeerbaar, maar niet automatisch waardevol
- 301 en 308: permanente redirects
- 302 en 307: tijdelijke redirects
- 304 Not Modified: nuttig, maar geen rankingsnelkoppeling
- 404 Not Found: normaal wanneer een pagina weg is
- 410 Gone: sterker dan 404, maar voorzichtig gebruiken
- 401, 403 en geblokkeerde toegang
- 429 Too Many Requests: crawlcontrole met gevolgen
- 500, 502, 503 en 504: betrouwbaarheidssignalen
- Redirectketens en loops verdienen extra aandacht
- De praktische prioriteitenlijst
- Een eenvoudige regel om de juiste code te kiezen
HTTP-statuscodes zijn zo’n onderwerp waarbij SEO-advies opvallend dramatisch kan worden. Eén 404 wordt “verloren autoriteit”. Een redirect wordt “lekkage van link equity”. Een 500 wordt een noodgeval, zelfs als die tijdens een deploy zes minuten duurde.
De rustigere versie is dit: HTTP-statuscodes zijn instructies en signalen. Ze vertellen browsers, bots, caches en andere clients wat er gebeurde toen ze een URL opvroegen. Zoekmachines gebruiken die responses om te bepalen of ze een pagina moeten crawlen, indexeren, behouden, vervangen of verwijderen.
Maar niet elke statuscode heeft hetzelfde SEO-gewicht. Sommige zijn routine. Sommige zijn alleen op schaal een probleem. Een paar verdienen onmiddellijke aandacht.
De statuscode is niet het hele SEO-verhaal
Een statuscode is slechts één onderdeel van de HTTP-response. Zoekmachines kijken ook naar:
- de uiteindelijke URL na redirects
- canonical-tags
- robots-directives
- pagina-inhoud
- interne links
- sitemap-signalen
- historisch crawlgedrag
- serverbetrouwbaarheid in de loop van de tijd
Dat betekent dat “de pagina geeft 200 terug” niet hetzelfde is als “de pagina is indexeerbaar”. Een URL kan 200 teruggeven en toch worden geblokkeerd door noindex, elders canonicalized zijn, of als soft 404 worden behandeld omdat de inhoud dun of leeg is.
Andersom is een 404 niet automatisch slecht. Een verwijderde pagina hoort meestal 404 of 410 terug te geven. Het SEO-probleem is niet dat ontbrekende pagina’s bestaan. Het probleem ontstaat wanneer belangrijke pagina’s de verkeerde code teruggeven, of wanneer je site tegenstrijdige signalen afgeeft.
Als je dit in productie debugt, vertrouw dan niet alleen op wat een browser toont. Inspecteer de daadwerkelijke responseketen. Een ruwe headercheck, command-line request of redirecttrace vertelt je meer dan de zichtbare pagina. We behandelden een praktische workflow in een kleine toolkit voor het debuggen van redirects en HTTP-headers in productie.
200 OK: indexeerbaar, maar niet automatisch waardevol
Een 200 OK-response betekent dat de aanvraag is gelukt en dat de server content heeft teruggegeven. Voor SEO is dit de normale response voor pagina’s die je wilt laten crawlen en mogelijk indexeren.
Maar 200 is geen garantie op indexering. Zoekmachines kunnen er nog steeds voor kiezen de pagina niet te indexeren als die dubbel, van lage kwaliteit, geblokkeerd door directives op paginaniveau, of niet via links vindbaar is.
De meest voorkomende SEO-fout met 200-responses is dat ze worden teruggegeven voor pagina’s die geen echte pagina’s zijn:
- lege pagina’s met zoekresultaten
- verwijderde productpagina’s met tekst als “sorry, niet beschikbaar”
- locatiepagina’s zonder betekenisvolle inhoud
- kapotte templates die alleen een shell renderen
- verlopen vermeldingen die verwijderd of omgeleid zouden moeten worden
Dit kunnen soft 404’s worden. Een soft 404 ontstaat wanneer de server “OK” zegt, maar de inhoud tegen de crawler zegt: “hier is niets nuttigs”. Zoekmachines kunnen die URL dan alsnog behandelen als een ontbrekende pagina.
Een goede vuistregel: als een mens zou zeggen “deze pagina bestaat niet meer”, moet de server waarschijnlijk geen 200 zeggen.
301 en 308: permanente redirects
301 Moved Permanently en 308 Permanent Redirect vertellen clients dat een URL permanent is verplaatst. Voor SEO zijn dit de juiste middelen wanneer een pagina een duidelijke vervanging heeft:
- migratie van HTTP naar HTTPS
- oude slug naar nieuwe slug
- samengevoegd artikel naar sterker artikel
- niet meer leverbaar product naar een nauw verwante opvolger
- normalisatie van trailing slash of canonical host
Zoekmachines dragen canonicalization-signalen doorgaans over via permanente redirects. In gewone taal: als je de oude URL naar de juiste nieuwe URL redirect, kunnen zoekmachines veel van de signalen die bij de oude pagina horen consolideren.
Het risico is niet dat een 301 op zichzelf schadelijk is. Het risico is slechte mapping.
Slechte redirectpatronen zijn onder meer:
- elke oude URL naar de homepage redirecten
- verwijderde pagina’s naar vaag gerelateerde categoriepagina’s redirecten
- ketens maken zoals A → B → C → D
- redirecten naar een URL die geblokkeerd is,
noindexheeft, of elders canonicalized is - mobiel en desktop inconsistent redirecten
Een permanente redirect moet één vraag beantwoorden: “Wat is het beste huidige equivalent van deze URL?” Als er geen equivalent is, is een 404 of 410 mogelijk eerlijker.
302 en 307: tijdelijke redirects
302 Found en 307 Temporary Redirect geven aan dat de verplaatsing tijdelijk is. De oorspronkelijke URL wordt verwacht in de loop van de tijd de hoofd-URL te blijven.
Gebruik tijdelijke redirects voor echt tijdelijke situaties:
- kortlopende campagnerouting
- geolocatie of A/B-tests die de canonical URL niet moeten vervangen
- tijdelijke onderhoudsalternatieven
- voorraad- of beschikbaarheidsflows die vaak veranderen
Voor SEO is ambiguïteit het belangrijkste probleem. Als een “tijdelijke” redirect maanden of jaren blijft bestaan, kunnen zoekmachines de bestemming uiteindelijk toch als canonical behandelen. Maar je moet niet op die interpretatie vertrouwen.
Als de verplaatsing permanent is, gebruik dan een permanente redirect. Als die tijdelijk is, gebruik dan een tijdelijke redirect. Het saaie antwoord is het juiste.
304 Not Modified: nuttig, maar geen rankingsnelkoppeling
304 Not Modified maakt deel uit van HTTP-caching. Het vertelt een client dat de resource niet is gewijzigd sinds de versie die de client al heeft.
Deze code is goed voor crawlefficiëntie en performance-hygiëne. Hij kan onnodige datatransfer verminderen en herhaalde requests goedkoper maken. Maar het is geen directe rankingfactor in simplistische zin.
Zie 304 als infrastructuurkwaliteit. Het helpt clients en crawlers efficiënt met je site te werken. Het maakt zwakke content niet sterk.
404 Not Found: normaal wanneer een pagina weg is
404 Not Found betekent dat de server de gevraagde resource niet kan vinden. Dit is niet automatisch een SEO-ramp.
404’s zijn passend wanneer:
- een pagina is verwijderd en geen vervanging heeft
- een slechte externe link naar een niet-bestaande URL wijst
- gebruikers URL’s verkeerd typen
- oude test- of staging-URL’s nooit bedoeld waren om te bestaan
Zoekmachines zullen aanhoudende 404-URL’s uiteindelijk uit de index verwijderen. Dat is meestal wat je wilt.
Je moet 404’s oplossen wanneer ze invloed hebben op URL’s die ertoe doen:
- pagina’s met waardevolle backlinks
- URL’s met betekenisvol verkeer
- belangrijke pagina’s die per ongeluk tijdens een migratie zijn verwijderd
- interne links die naar ontbrekende pagina’s wijzen
- sitemap-URL’s die 404 teruggeven
Redirect niet elke 404 naar de homepage. Dat is verwarrend voor gebruikers en zoekmachines. Als er een relevante vervanging is, redirect dan. Zo niet, geef 404 terug en bied een nuttige foutpagina voor mensen.
410 Gone: sterker dan 404, maar voorzichtig gebruiken
410 Gone betekent dat de resource bewust weg is en niet verwacht wordt terug te keren.
Voor SEO kan 410 nuttig zijn wanneer je URL’s besluitvaardiger wilt verwijderen:
- verlopen juridische pagina’s
- verwijderde gebruikersprofielen
- verwijderde spampagina’s
- verouderde landingspagina’s zonder vervanging
Zoekmachines kunnen 410 behandelen als een sterker verwijderingssignaal dan 404. Het praktische verschil zit vaak in snelheid, niet in uitkomst. Zowel aanhoudende 404- als 410-responses kunnen leiden tot deïndexering.
Gebruik 410 wanneer je zeker weet dat de pagina permanent weg is. Als een pagina mogelijk terugkeert, is 404 of tijdelijke afhandeling wellicht veiliger.
401, 403 en geblokkeerde toegang
401 Unauthorized betekent dat authenticatie vereist is. 403 Forbidden betekent dat de server de aanvraag heeft begrepen, maar toegang weigert.
Voor SEO voorkomen deze codes doorgaans normaal crawlen en indexeren van de beschermde content. Dat is prima voor privédashboards, accountomgevingen, staging-systemen en betaalde content die niet openbaar geïndexeerd moet worden.
Problemen ontstaan wanneer publieke pagina’s per ongeluk 401 of 403 teruggeven aan crawlers door:
- regels voor botbescherming
- verkeerd geconfigureerde firewalls
- blokkering per land
- CDN-regels
- verlopen aannames over authenticatie
- staging-beperkingen die naar productie zijn meegenomen
Een pagina die voor jou werkt terwijl je bent ingelogd, werkt mogelijk niet voor een crawler. Test altijd als niet-geauthenticeerde client.
429 Too Many Requests: crawlcontrole met gevolgen
429 Too Many Requests vertelt clients dat ze worden geratelimited. Dit kan passend zijn wanneer bots je infrastructuur echt overbelasten.
Maar 429 te makkelijk gebruiken kan crawlactiviteit verminderen. Zoekmachines kunnen requests vertragen als ze herhaaldelijk rate limiting tegenkomen. Dat kan de ontdekking van nieuwe of bijgewerkte content vertragen.
Als je rate limiting nodig hebt, wees precies. Voorkom dat je grote zoekcrawlers per ongeluk blokkeert. Gebruik serverlogs om agressief scrapen te onderscheiden van legitiem crawlen. Geef indien mogelijk een Retry-After-header terug, zodat goed opgevoede clients weten wanneer ze terug kunnen komen.
500, 502, 503 en 504: betrouwbaarheidssignalen
De 5xx-familie betekent dat de server een geldige aanvraag niet kon uitvoeren.
Veelvoorkomende voorbeelden:
500 Internal Server Error502 Bad Gateway503 Service Unavailable504 Gateway Timeout
Incidentele 5xx-responses komen voor. Een kort deployprobleem is meestal niet catastrofaal. Aanhoudende 5xx-fouten zijn anders. Ze vertellen crawlers dat je site onbetrouwbaar is, en zoekmachines kunnen de crawlsnelheid verlagen of getroffen pagina’s tijdelijk verwijderen als ze die herhaaldelijk niet kunnen ophalen.
503 Service Unavailable is de juiste code voor gepland onderhoud, vooral met een Retry-After-header. Hij zegt: “Dit is tijdelijk; kom later terug.” 200 teruggeven voor een onderhoudspagina is slechter, omdat crawlers de onderhoudscontent als de pagina-inhoud kunnen behandelen.
Als een storing belangrijke URL’s raakt, monitor dan het herstel. Zorg ervoor dat de oorspronkelijke pagina’s weer 200 teruggeven, en geen gecachte foutpagina’s, redirectloops of tijdelijke onderhoudstemplates.
Redirectketens en loops verdienen extra aandacht
Redirects zijn normaal. Redirectketens zijn vermijdbare schuld.
Een eenvoudige redirect van oude URL naar nieuwe URL is prima. Een keten van vijf redirects verhoogt latency, verspilt crawlbudget en creëert meer plekken waar de request kan mislukken. Een loop is erger: de client bereikt nooit een eindpagina.
Houd bij SEO-migraties een redirectmap bij en test die vóór de lancering. Elke buiten gebruik gestelde URL zou idealiter in één hop naar de uiteindelijke bestemming moeten gaan. Neem na de lancering steekproeven van oude URL’s, URL’s met veel verkeer en URL’s met veel backlinks.
Dit is ook waar performance en SEO elkaar overlappen. Redirects vertragen de start van de echte paginalading. Als je gebruikerservaring naast crawlbaarheid beoordeelt, kan een Lighthouse-rapport lezen zonder in paniek te raken helpen om serieuze laadproblemen te scheiden van ruis in diagnostics.
De praktische prioriteitenlijst
Als je statuscodes audit, behandel dan niet elke waarschuwing hetzelfde. Begin hier:
- Belangrijke URL’s die 5xx teruggeven — los serverbetrouwbaarheid eerst op.
- Indexeerbare pagina’s die de verkeerde status teruggeven — herstel de bedoelde 200-responses.
- Redirectketens en loops — vereenvoudig naar redirects met één hop.
- Sitemap-URL’s die non-200-responses teruggeven — houd sitemaps schoon.
- Interne links naar 404’s — herstel navigatie- en contentlinks.
- Soft-404-patronen — stop met 200 teruggeven voor lege of verwijderde pagina’s.
- Per ongeluk crawlers blokkeren — onderzoek onverwachte 401-, 403- en 429-responses.
Het doel is niet een site zonder enige 404. Dat is onrealistisch en vaak onnodig. Het doel is een site waarbij elke URL een eerlijk, consistent antwoord geeft.
<!-- tool-cta:start -->
💡 Probeer dit: Controleer welke statuscodes je URL's daadwerkelijk retourneren met Redirect Checker, die de volledige keten toont die crawlers zien.
<!-- tool-cta:end -->
Een eenvoudige regel om de juiste code te kiezen
Kies bij twijfel de code die overeenkomt met de waarheid voor de gebruiker:
- De pagina bestaat en moet beschikbaar zijn:
200 - De pagina is permanent verplaatst:
301of308 - De pagina is tijdelijk verplaatst:
302of307 - De pagina bestaat niet meer en heeft geen vervanging:
404 - De pagina is bewust voorgoed weg:
410 - De pagina is tijdelijk niet beschikbaar:
503 - De request is geblokkeerd of privé:
401of403
Zoekmachines zijn goed in het omgaan met gewone rommeligheid op het web. Wat SEO-problemen veroorzaakt, is inconsistentie op schaal: permanente verplaatsingen die als tijdelijk zijn gemarkeerd, verwijderde pagina’s die doen alsof ze geldig zijn, serverfouten die niet worden opgelost, en redirectlogica die niemand sinds de laatste migratie heeft getest.
HTTP-statuscodes zijn geen magische SEO-hendels. Het zijn basale websemantiek. Gebruik ze eerlijk, en het grootste deel van het SEO-voordeel volgt vanzelf.