» direct naar zoek en menu

Tijdschrift voor webwerkers » Artikel #27

Stop de ontketening - 404-fouten opsporen en voorkomen

Iedereen die wel eens inhoud voor het web maakt kent het probleem. Vrijwel ongemerkt verdwijnen pagina’s waar je ooit naar verwezen hebt. Pas wanneer je daadwerkelijk weer eens een keer op de link klikt en gaat kijken zie je de schade: waar eens een interessant artikel stond wordt nu een cryptische 404-foutpagina getoond.

Inhoud verhuist zonder dat er een adreswijziging wordt achtergelaten. In sommige gevallen is de inhoud voorgoed verdwenen. In andere gevallen kan de Google cache of de Wayback machine van Archive.org nog uitkomst bieden. Maar met de huidige groei van het web en de miljarden webpagina’s die er inmiddels zijn, laat een echt adequate oplossing voor deze linkrot nog wel even op zich wachten.

Geen terugkoppelingen

De principes die ervoor zorgen dat het web zo snel heeft kunnen uitdijen hebben ook hun keerzijde. Om onbeperkte groei te kunnen garanderen zijn de koppelingen op het web eigenlijk maar aan één kant vastgeklonken. Het web zoals we dat nu kennen bestaat grotendeels uit eenrichtingsverkeer. Terugkoppelingen zouden de schaalbaarheid immers ernstig belemmeren. Bij iedere verhuizing van een webpagina zouden alle externe links die er naar verwijzen automatisch mee moeten veranderen.

Linkstabiliteit

Linkstabiliteit is uitermate belangrijk voor de samenhang van het web. Omdat links naar een pagina niet meeveranderen als een pagina wordt verplaatst is het belangrijk om in de ontwerpfase al goed na te denken over de stabiliteit van je URL’s. Een goed gekozen URL hoef je niet te veranderen en zou eigenlijk altijd moeten blijven werken.

We zijn verhuisd

Bij de herbouw van websites wordt het principe van permanente URL’s echter vaak overboord gegooid. In het meest extreme geval breken zelfs de links binnen de website zelf, wat natuurlijk helemaal een amateuristische indruk geeft. De redenen die voor deze onachtzaamheid worden gegeven zijn onwetendheid, gemakzucht, of hebben betrekking op technische beperkingen van de server.

Zoals gezegd gaat het vaak fout wanneer een website wordt herbouwd. De koppelingen op externe sites verwijzen naar URL’s die ineens niet meer bestaan. Deze links naar je pagina’s zijn aangebracht door mensen die vonden dat de inhoud interessant genoeg was om naar te verwijzen. Bovendien gebruiken zoekmachines zoals Google en Teoma het aantal links naar een pagina om de relevantie voor een bepaald trefwoord vast te stellen. Je zou wel gek zijn als je de populariteit die een bepaalde pagina heeft opgebouwd zou weggooien door deze te verplaatsen. En met relatief eenvoudige middelen en een goede planning van je URL’s vooraf is het mogelijk om het aantal 404’s te beperken.

Gebruik redirects

De meest eenvoudige redirects zijn de meta-refresh redirect en de JavaScript-redirect. Beide redirects zijn eigenlijk HTML-pagina’s op de plek van het oude bestand. In de onderstaande voorbeelden zou dat bestand bijvoorbeeld over.html heten. Stel dat we van deze site het bestand ‘over.html’ verplaatsen van www.naarvoren.nl/over.html naar www.naarvoren.nl/over/.

Meta-refresh redirect

Bij de meta-resfresh redirects plaats je een meta-tag tussen de <head>-</head> van de pagina zoals in onderstaand voorbeeld. Het content-veld bestaat uit twee delen:

  1. het aantal seconden dat er gewacht moet worden voordat de redirect plaatsvindt.
  2. de URL naar de nieuwe locatie van het bestand.

Beide waardes worden gescheiden door een puntkomma. In de body van het HTML-bestand wordt voor de volledigheid nog een link aangebracht voor browsers die niet met de meta-refresh overweg kunnen.

<html>
<head>
<title></title>
<meta http-equiv="refresh"
content="5;url=http://www.naarvoren.nl/over/" />
</head>
<body>
<a href="http://www.naarvoren.nl/over/">Pagina is verplaatst. Als u niet automatisch wordt doorgestuurd klik dan hier.</a>
</body>
</html>
Javascript-redirect

De JavaScript-redirect wordt ergens in de body van het HTML-bestand geplaatst. Als de pagina geladen wordt, laadt de browser vrijwel direct de pagina van de nieuwe locatie.

<html>
<head>
<title></title>
</head>
<body>
<script language="javascript">
<!-- begin
window.location="http://www.naarvoren.nl/over/";
// end -->
</script>
<a href="http://www.naarvoren.nl/over/">Pagina is verplaatst. Als u niet automatisch wordt doorgestuurd klik dan hier.</a>
</body>
</html>

Ook hier nemen we weer een gewone link op in de body-tekst, zodat in browsers waar JavaScript uitstaat of niet wordt ondersteund de gebruiker zelf door kan klikken naar de nieuwe locatie.

Server-redirect

Als je site draait op een Apache webserver kun je vrij eenvoudig permanente redirects aanmaken. In het .htaccess bestand in de root-directory kun je een URL permanent door laten verwijzen naar een ander adres. De regel die je op moet nemen bestaat uit 4 elementen:

  1. het commando redirect
  2. de soort van redirect, in dit geval permanent
  3. de originele URL of het bestand
  4. de nieuwe URL
Redirect permanent /over.html http://www.naarvoren.nl/over/

De server geeft een 301-melding en de server stuurt direct de nieuwe URL naar de browser. Dit werkt dus anders dan een Javascript of meta Redirect waarbij de browser de nieuwe URL opvraagt. Deze laatste methode zorgt ervoor dat zoekmachines automatisch zien dat de pagina verplaatst is. Ze zullen dan de nieuwe pagina indexeren.

De bovenstaande methodes zijn te gebruiken voor kleinere websites. Als je grote hoeveelheden URL’s moet redirecten zou je je eens in de mod_rewrite-module van Apache kunnen verdiepen. Door middel van reguliere expressies kun je URL-patronen redirecten.

Linkrot opsporen

Als je je site al enige tijd voordat je dit artikel las hebt verhuisd vraag je je misschien af hoe je de linkrot kunt opsporen. Er zijn verschillende manieren om erachter te komen welke sites er naar een specifieke verhuisde pagina verwijzen:

  1. Voor een compleet overzicht kun je de referrers die een 404 veroorzaken uit de logfiles van de webserver filteren. Met het juiste webstatistiekenpakket is het zelfs mogelijk de referrers te rangschikken naar frequentie. Je hebt dan een lijstje met boosdoeners dat je systematisch af kunt werken.
  2. Wanneer je niet over logfiles kunt beschikken dan kun je nog op een andere manier achter de pagina’s komen die een link naar je site hebben aangebracht. Als je bij Google link:www.naarvoren.nl invoert dan krijg je een lijst met pagina’s die daar naar verwijzen. Dit geeft je een eerste (maar overigens een verre van complete) indruk van verwijzende websites.

Je zou de webmasters van die sites kunnen benaderen met het vriendelijke verzoek de link naar je site aan te passen. In het geval van een link met een fout gespelde URL is dat nog wel te overwegen. Maar je kunt moeilijk van iedereen die ooit naar een webpagina heeft verwezen verwachten dat ze de links aan gaan passen alleen omdat jij je site hebt gereorganiseerd. Omdat je hiervoor dus afhankelijk bent van de bereidwilligheid van anderen, is het beter om dit soort situaties te voorkomen en de bovenstaande oplossing met de redirects te gebruiken.

Tenslotte

De foutmelding "pagina niet gevonden" zou eigenlijk alleen mogen voorkomen bij verkeerd gespelde URL’s. De webmaster valt daarbij niets te verwijten. Deze fouten worden veroorzaakt doordat iemand een spelfout maakt bij het intikken van de URL of bij het aanbrengen van een link naar je site. Daar zijn echter ook al oplossingen voor bedacht, maar daarover misschien in een volgend artikel meer. Alle andere 404’s zou je in principe moeten kunnen voorkomen (of in ieder geval verhelpen) nadat ze een keer zijn voorgekomen.

Auteur

Albert de Klein

bouwt in zijn vrije tijd aan nederlandsch.net. Sinds december 2000 kan er met deze metazoekmachine worden gezocht in ruim twintig on line krantenarchieven.

Op dit moment werkt hij aan een aantal projecten die het Nederlandstalige web zouden moeten gaan verrijken.

Publicatiedatum: 28 november 2002

Let op

Naar Voren is op 18 juli 2010 gestopt met publiceren. De artikelen staan als een soort archief online. Het kan dus zijn dat de informatie verouderd is en dat er inmiddels veel betere of makkelijkere manieren zijn om je doel te bereiken.

Copyright © 2002-heden » NAAR VOREN en de auteurs