Als het goed is plaats je regelmatig nieuwe content op je website. Ook zal er soms een pagina verwijderd worden of krijgt een pagina een nieuwe naam. Misschien verandert wel de hele domeinnaam. In dat geval is het goed om de bezoeker naar de juiste pagina te leiden.
Dit gebeurt met een zogenaamde 301 Moved Permanently redirect. Want doet je dit niet, dan komt die vervelende 404 Page Not Found – melding in beeld. Dat wil je zien te voorkomen.
Een bijkomend voordeel is dat ook de zoekmachines dit snappen en je vermelding updaten. Tevens zullen inkomende links blijven werken en mee blijven tellen voor de ranking van je pagina.
Voorbeelden van broncode HTML wijzigingen
Stel je gebruikt de volgende URL:
www.testdomein.nl/webwinkel
en met de nieuwe website gebruik je:
www.testdomein.nl/webshop
Je wilt dat zowel de bezoekers als de zoekmachine spiders laten weten dat /webwinkel niet meer bestaat en dat /webshop nu de juiste URL is geworden. In dat geval kan je de volgende code opnemen:
Redirect 301 /webwinkel http://www.testdomein.nl/webshop
Het bovenstaande voorbeeld is een aanpassing van .htacces file maar er zijn meerdere oplossingen in diverse programmeertalen.
Uitleg over een 301 Moved Permanently Redirect in PHP
<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.testdomein.nl/nieuwepagina");
?>
Hoe maak je een 301 Redirect in ASP
<%@ Language=VBScript %>
<%
Response.Status="301 Moved Permanently"
Response.AddHeader "Location","http://www.testdomein.nl/nieuwepagina"
%>
Instellen 301 Redirect in ASP.NET
<script runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location","http://www.testdomein.nl/nieuwepagina");
}
</script>
Invoegen 301 Redirect in ColdFusion
<.cfheader statuscode="301" statustext="Moved permanently">
<.cfheader name="Location" value="http://www.testdomein.nl/nieuwepagina">
Aanmaken van een 301 Redirect in Java (Servlets)
<%
response.setStatus(301);
response.setHeader( "Location", "http://www.testdomein.nl/nieuwepagina" );
response.setHeader( "Connection", "close" );
%>
Plaatsen van een 301 Redirect in CGI (Perl)
#! /usr/bin/perl
use cgi;
my $q = cgi->new();
print $q->redirect(
-location => ‘http://www.testdomein.nl/nieuwepagina’,
-status => 301,
);
Uitleg over Ruby on Rails Redirect
def old_action
headers["Status"] = "301 Moved Permanently"
redirect_to "http://www.testdomein.nl/nieuwepagina"
end
Van de oude domeinnaam naar de nieuwe domeinnaam
(.htaccess redirect)
Maak een .htaccess bestand aan met de onderstaande code. Dit zorgt er voor dat alle mappen en pagina’s van het oude domein gaan verwijzen naar de nieuwe domeinnaam. Plaats de .htaccess file in de root directory van je website. De root wil zeggen de www map of de public_html map.
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.nieuwewebite.nl/$1 [R=301,L]
Let op Deze .htaccess methode werkt alleen op Linux servers met de Apache Mod-Rewrite moduled aan (enabled).
Aanmaken van een HTML pagina
Dan is er nog de mogelijkheid om een aparte (html) pagina te maken.
HTTP/1.1 301 Moved Permanently
Location: http://www.testdomein.nl/
Content-Type: text/html
Content-Length: 174
<html>
<head>
<title>Deze pagina is verplaatst</title>
</head>
<body>
<h1>Verplaatst</h1>
<p>Deze pagina is verplaatst:
<a href=”http://www.testdomein.nl/”>www.testdomein.nl</a>.</p>
</body>
</html>
Handleiding voor RewriteEngine
Als je toegang hebt tot de hoofd Apache Config bestanden, zoals httpd.conf , dat kan je het gebruik van de .htacces file vermijden.
RewriteEngine on
RewriteCond %{HTTP_HOST} ^([^.:]+\.)*oudewebsite\.nl\.?(:[0-9]*)?$ [NC]
RewriteRule ^/(.*)$ http://www.nieuwewebsite.nl/$1 [R=301,L]
De meta redirect 301 – de belangrijkste zaken samengevat
Laat je sitebouwer zorgen voor goede fout afvanging als pagina’s veranderen of verdwijnen. Loop geen bezoekers mis!