Geeft je website 404 Not Found? Zo vind je kapotte links, zet je 301-redirects, herstel je permalinks en voorkom je soft 404’s in Google Search Console. Met stappen.
Een 404 Not Found betekent dat de server bereikbaar is, maar op dat adres niets heeft staan. Voor een bezoeker is dat een doodlopende weg; voor jou als eigenaar een signaal dat een link, menu of zoekresultaat naar een adres wijst dat niet (meer) bestaat.
De gebruikelijke oorzaken op een eigen site: een pagina is verwijderd of hernoemd zonder doorverwijzing, de structuur van adressen (permalinks) is veranderd, de site is verhuisd en de rewrite-regels zijn niet meegekomen, of iemand linkt met een tikfout naar je site. Werkt alleen de homepage en geven álle andere pagina’s 404, dan ontbreken bijna altijd de rewrite-regels van de webserver.
Een losse 404 is normaal en schaadt je site niet. Het wordt een probleem als belangrijke pagina’s, pagina’s waar veel links naartoe gaan of pagina’s die goed vindbaar waren in Google ineens 404 geven.
Menunamen kunnen per versie of toestel iets anders heten. Loop de stappen op volgorde af en stop zodra het werkt.
Kijk of het adres een tikfout bevat of half is gekopieerd. Haal het laatste deel van het adres weg en ga één niveau hoger, of gebruik het menu of de zoekfunctie van de site. Een oude bladwijzer kan verwijzen naar een pagina die verplaatst is.
Een foutpagina moet ook status 404 (of 410) teruggeven. Met curl zie je de status; dat maakt meteen duidelijk of je met een echte 404 of een soft 404 te maken hebt.
curl -sI https://www.voorbeeld.nl/oude-pagina/ | head -n 1In Google Search Console staat onder Indexering › Pagina’s welke adressen Google als ‘Niet gevonden (404)’ of als ‘Soft 404’ ziet. Daarnaast laat het toegangslog van de webserver zien welke adressen bezoekers het vaakst met een 404 opvragen. Ook een crawl met de website-scan vindt interne links die nergens heen gaan.
awk '$9 == 404 {print $7}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -n 20Wijzen je eigen menu, footer of teksten naar een verkeerd adres, pas die links dan aan. Dat is beter dan een redirect ertussen: bezoekers en zoekmachines gaan dan direct naar de goede pagina.
Is een pagina verhuisd of hernoemd, stuur het oude adres dan met een 301 (permanente doorverwijzing) naar het nieuwe. Zo komen bezoekers en externe links op de juiste plek en neemt Google het nieuwe adres over. Verwijs naar een pagina met dezelfde inhoud, niet alles naar de homepage.
# nginx
location = /oude-pagina/ {
return 301 /nieuwe-pagina/;
}
# Apache (.htaccess, mod_alias)
Redirect 301 /oude-pagina/ /nieuwe-pagina/Geven alle pagina’s behalve de homepage een 404, dan stuurt de webserver mooie adressen niet door naar de applicatie. Op Apache zorgt een .htaccess met rewrite-regels daarvoor; nginx leest geen .htaccess en heeft een try_files-regel nodig. Bij WordPress kun je de permalinks opnieuw opslaan zodat de regels worden herschreven.
# nginx: stuur onbekende adressen naar index.php
location / {
try_files $uri $uri/ /index.php?$args;
}Maak een eigen foutpagina met een zoekveld en links naar de belangrijkste onderdelen, maar zorg dat de status 404 blijft. Een foutpagina met status 200, of alle onbekende adressen doorsturen naar de homepage, ziet Google als soft 404.
# nginx
error_page 404 /404.html;
# Apache
ErrorDocument 404 /404.htmlIs een pagina definitief verwijderd en is er geen vervanger, dan kun je 410 Gone teruggeven. Dat zegt duidelijk dat de pagina met opzet weg is en niet terugkomt.
# nginx
location = /actie-2024/ {
return 410;
}
# Apache
Redirect gone /actie-2024/Let op: Stuur niet alle onbekende adressen door naar de homepage. Bezoekers vinden zo niet wat ze zochten en zoekmachines behandelen het als soft 404.
Deze drie lijken op elkaar, maar zoekmachines gaan er verschillend mee om.
Na een verhuizing of nieuwe site is een lijst met oude en nieuwe adressen het belangrijkste hulpmiddel. Zie ook website verhuizen naar andere hosting.
Kom je er met deze stappen niet uit, of wil je het liever niet zelf doen? We kijken online mee of komen langs. Hulp op afstand kost €20 per uur; komen we langs, dan is de prijs op aanvraag. Je weet vooraf waar je aan toe bent.
Schrijf kort wat er misgaat en wat je al hebt geprobeerd. Kies of we bellen, online meekijken of langskomen.
Losse 404’s op pagina’s die echt weg zijn zijn normaal. Het wordt een probleem als belangrijke pagina’s of veel gelinkte adressen 404 geven; zet die door met een 301.
Een 404 zegt dat er niets staat, een 410 dat de pagina bewust en blijvend is verwijderd. Gebruik 410 als er geen vervangende pagina is.
Een pagina die ‘niet gevonden’ zegt of vrijwel leeg is, maar status 200 teruggeeft. Google merkt die als soft 404 aan; geef dan een echte 404 of zet een redirect naar een passende pagina.
De webserver stuurt de adressen niet door naar de applicatie. Op nginx ontbreekt meestal een try_files-regel, op Apache een .htaccess met rewrite-regels of AllowOverride.
Hulp nodig van een mens? Website-onderhoud · Hosting en onderhoud · Gratis website-scan · Alle oplossingen