Onetomarket maakt gebruik van cookies. Privacy beleid.

301-redirects met .htaccess en andere methodes

Iedere website heeft te maken met updates van URLs, pagina's die gewijzigd worden en oude domeinen die naar een nieuw domein verhuizen. Bijvoorbeeld bij een rebranding.

Stel nu dat je website volledig vernieuwd is. Het domein is veranderd van oud.nl naar nieuw.nl.  Zoekmachines als Google en Bing hebben vaak 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?

Wat is een 301 redirect

Heel specifiek vertelt de 301 redirect de browser of de zoekmachine dat de opgevraagde pagina verhuisd is en het stuurt de cliënt (browser of search engine) automatisch door naar het nieuwe adres. Het vertelt ze, in mensentaal: ‘Hey, deze pagina is verhuisd en hier het nieuwe adres!’ Het zal de jou als lezer vooral gaan om de techniek. Daar gaan we in dit artikel verder op in!

De beste manier om pagina’s permanent te verhuizen 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 ook omdat je de autoriteit van de oude pagina doorstuurt naar de nieuwe pagina.

Hieronder vind je verscheidene methoden om een 301 redirect te gebruiken: PHP, ASP, ASP.NET, JSP (JAVA), IIS, ColdFusion, CGI/PERL en tenslotte met .htaccess. De krachtigste techniek betreft gebruikmaking van de zogenaamde apache mod_rewrite module in httpd.conf of .htaccess.

Wat is het 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 server-niveau geregeld kunnen worden. In tegenstelling tot bij de genoemde programmeertalen kan met een .htaccess een gehele directory geredirect worden.

Hoe werkt een 301 redirect via een .htaccess?

  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  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 IIS

  1. Gebruik in Internet Services Manager de rechtermuisknop om de map te kiezen die geredirect moet worden;
  2. selecteer de radio button die zegt 'a redirection to a URL';
  3. vul de pagina in waarnaartoe geredirect gaat worden;
  4. Check 'The exact url entered above' en 'A permanent redirection for this resource';
  5. Klik op 'Apply'.

301 Redirecten met ColdFusion

Bij de meeste server-side scripting en programmeertalen is het gebruik van 301-redirect vrij eenvoudig.

In Coldfusion werkt het als volgt:

<cfheader statuscode="301" statustext="Moved permanently">
<cfheader name="Location" value="http://www.jouwsite.nl/">

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
?>

p.s.: de Microsoft server IIS crasht als je de volgende (veelgebruikte) regel gebruikt:

header( "HTTP/1.1 301 Moved Permanently" );

301 Redirecten met ASP

Gebruik de onderstaande code:

<%@ Language=VBScript %>
<%
Response.Status="301 Moved Permanently"
Response.AddHeader "Location", "http://www.jouwsite.nl /"
%>

301 Redirecten met ASP.NET

Gebruik de onderstaande code:

<script runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location","http://www.jouwsite.nl /");
}
</script>

301 Redirecten met JSP/JAVA

Gebruik de onderstaande code:

<%
response.setStatus(301);
response.setHeader( "Location", "http://www.jouwsite.nl /" );
response.setHeader( "Connection", "close" );
%>

301 Redirecten met CGI/PERL

Gebruik de onderstaande code:

$q = new CGI;
print $q->redirect(" http://www.jouwsite.nl / ");

301 Redirecten met Ruby/Ruby on Rails

Gebruik de onderstaande code:

def old_action
headers["Status"] = "301 Moved Permanently"
redirect_to "http://www.jouwsite.nl/"
end

Met HTML of Javascript redirecten

Vanuit SEO is de redirect via HTML of Javascript niet aan te raden. In het verleden is de zogenaamde 'meta-tag refresh redirection' methode vaak misbruikt met als doel om te spammen. Het resultaat hiervan is dat gebruik hiervan slecht wordt opgepikt door de zoekmachines. 

Hulp nodig bij SEO? We helpen je graag.

neem contact op
meer over marketing
soortgelijke artikelen