Redirecten met de 301-redirect

Iedere website wordt in meerdere of mindere mate geüpdate, gewijzigd en er worden zelfs hele pagina’s of domeinen verwijderd.

Stel nu dat je website of pagina vernieuwd is. Zoekmachines als Google en Bing hebben echter de oude URL’s in hun index opgenomen en sturen bezoekers naar die inmiddels verwijderde of gewijzigde pagina’s toe. Hoe voorkom je dat bezoekers via oude links op een gewijzigde pagina binnen komen en vervolgens een ‘404 not found’ foutmelding te zien krijgen?

De 301 redirect

De beste manier om die pagina’s te redirecten is met de zogenaamde ‘301 redirect’. Wat deze 301 redirect doet, is het automatisch doorsturen naar een nieuwe pagina wanneer het opgeroepen wordt. Dit maakt de 301 redirect de beste, omdat het de bezoeker niet alleen automatisch doorstuurt (dat doet de zogenaamde ‘302 redirect’ ook), maar dit ook op een veilige wijze doet, zonder dat je bang hoeft te zijn voor penalty’s van de zoekmachines.

Verschil tussen 301 en 302 redirect:
301 redirect: permanente verwijzing. Verwijst bezoekers en zoekmachines door naar nieuwe URL.
De opgebouwde waarde van de inkomende links wordt overgezet naar de nieuwe URL.

302 redirect: tijdelijke verwijzing. De zoekmachines gaan er van uit dat de oorspronkelijke pagina op korte termijn weer zal werken. De waarde van de inkomende links blijft gekoppeld aan de oorspronkelijke URL.

301 Redirecten met .htaccess

Het grote voordeel van het gebruik van .htaccess is dat redirects op een meta-niveau geregeld kunnen worden. In tegenstelling tot bij de genoemde programmeertalen kan met een .htaccess een gehele directory geredirect worden.

Het werkt als volgt:

  1. maak een bestand aan, genaamd ‘.htaccess’ (let op punt in het begin!) en plaats deze in de root van de website;
  2. open het .htaccess bestand in een code-editor (ikzelf gebruik BBEdit op mijn Mac en Notepad++ op Windows)voeg de volgende regels toe aan het .htaccess bestand:

Redirect 301 /oud/oud.html http://www.jouwsite.nl/nieuw.html

Let op: het eerste deel van de statement betreft het pad van het oude bestand VANAF de top level van de site (dus zonder ‘http://www’). Let er ook op dat er één spatie staat tussen deze elementen:

redirect 301 (de instructie dat de pagina permanent verhuisd is)
/oud/oud.html (het oude relatieve pad en naam)
http://www.jij.nl/nieuw.html (nieuwe complete pad en naam)

Let ook op dat het niet verplicht is om pagina’s te redirecten naar een nieuwe domeinnaam. Binnen een domein kan dit ook!

301 Redirecten met Mod_Rewrite

Wanneer iemand naar jouw site linkt, doen ze dat niet altijd op precies die wijze die jouw voorkeur heeft. Als iemand linkt naar http://www.jouwsite.nl en iemand anders linkt naar http://jouwsite.nl, dan zal Google voor iedere URL een aparte pagerank toekennen. Ja, dat is onhandig, maar het is ook waar. Met de code hieronder kan je dat aanpassen. Overigens, diegenen die in Google Webmaster Central gebruik maken van sitemaps, kunnen onder het ‘preferred domain’ submenu aangeven of ze liever hebben dat Google de www-variant of de www-loze variant van hun website indexeert.

RewriteEngine On
rewritecond %{http_host} ^jouwsite.nl
rewriteRule ^(.*) http://www.jouwsite.nl/$1 [R=301,L]

301 Redirecten met PHP

Gebruik de onderstaande code:

<?php
header( “Status: 301 Moved Permanently” );
header( “Location: http://www.jouwsite.nl/” );
exit(0); // dit is optioneel, maar wordt wel aangeraden. Hiermee voorkom je onnodige output
?>