Feedback Form

Onetomarket

Abonneer op onze nieuwsbrief

Wij delen uw e-mail adres niet met derden. We houden u op de hoogte op gebied van online marketing

Gerelateerde artikelen

Gerelateerde diensten

Neem contact op







Dec
11
2008

Slim redirecten met de 301-redirect: .htaccess, PHP, ASP en andere manieren

Auteur: Ramon Eijkemans

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

Stel nu dat uw website volledig vernieuwd is. De bestandsnamen zijn veranderd (bijv. van index.html naar index.php), etc. Dit is natuurlijk fantastisch: een website moet continu verbeterd worden! Maar wat als u af wil van de oude pagina’s zonder dat u zich zorgen wil maken over mensen die links naar de oude pagina’s volgen om vervolgens op een ‘404 not found’ foutmelding terecht te komen? Dat is nog niet alles, zoekmachines als Google en Yahoo en MSN hebben wellicht de oude urls in hun index opgenomen en sturen bezoekers naar die inmiddels verwijderde pagina’s toe…

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 niet alleen automatisch doorstuurt (dat doet de zogenaamde ‘302 redirect ook), maar het doet dit ook veilig, zonder dat je bang hoeft te zijn voor penalties van de zoekmachines.

Heel specifiek gesproken vertelt de 301 redirect de browser of de zoekmachine dat de opgevraagde pagina verhuisd is en het stuurt de client (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, de lezer vooral gaan om de techniek, dus daar gaan we nu mee verder. 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.

Met HTML of Javascript redirecten

Je wil weten hoe je met HTML of Javascript moet redirecten? Heel simpel: NIET DOEN!
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 afgestraft wordt door de zoekmachines. Niet gebruiken dus.

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

Met mod_rewrite, een module van de Apache webserver, is er nog veel meer mogelijk op redirect gebied. Dit is een ontzettend krachtige module waar reguliere expressies gebruikt worden om bijvoorbeeld redirects dynamisch af te vangen. Hieronder toon ik een nuttig voorbeeld.

Wanneer iemand naar uw site linkt, doen ze dat niet altijd op precies die wijze die uw 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 kunt u 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

Een disclaimer: wij hebben deze technieken in de praktijk gebruikt en vonden de werking ervan bevredigend. er zijn echter 567897653 manieren waarop het mis kan gaan. Gebruik deze technieken derhalve op eigen risico! Dit artikel is vertaald door Ramon en komt van http://www.stevenhargrove.com/redirect-web-pages/

Ramon Eijkemans

Over Ramon Eijkemans

Sr. SEO consultant bij Onetomarket, periode mei 2006 - januari 2009
Meer reacties Plaats uw reactie!
Dit artikel is geplaatst Thursday, December 11th, 2008 om 15:07 en is gecategoriseerd onder Kennisbank. U kunt dit artikel en de reacties blijven volgen met RSS 2.0 feed. U kunt een reactie achterlaten, of een trackback van uw eigen website.

21 reacties to “Slim redirecten met de 301-redirect: .htaccess, PHP, ASP en andere manieren”

Reageer!

Naam (required)
E-mail (wordt niet getoond) (required)
Website


-->

Kennisbank

Gebruikersproblemen op het internet

Van Deursen en Van Dijk (2009) hebben onderzocht welke problemen mensen ondervinden bij het gebruik van internet. Daarnaast hebben ze o.a. gekeken in welke mate leeftijd en opleidingsniveau invloed hebben op de problemen bij internet gebruik. Dit artikel is een samenvatting van de het uitgevoerde onderzoek.
meer informatie

Redirects: ook binnen uw site zijn ze belangrijk!

Redirects zijn belangrijk. Als u uw site gaat verhuizen van het ene naar een ander domein is het uitermate belangrijk om redirects te plaatsen. Maar redirects zijn ook belangrijk binnen uw site zelf. Wat gebeurt er met een pagina als een product verwijderd wordt of als ik de titel van mijn blog verander? Op deze [...]
meer informatie

404’s voorkomen in 7 stappen

Wat doet u als u een '404 Not Found' foutmelding krijgt op een website? Klikt u meteen weg? Gaat u op zoek naar de juiste pagina? Neemt u contact op met de webmaster? De meeste mensen klikken weg. Hun eerste bezoek aan de site was ook hun laatste. In dit artikel zal ik aan de hand van een eenvoudig stappenplan uitleggen hoe u, webmaster, c.q. marketeer, dit kunt voorkomen. Tevens zal ik enkele tips geven over hoe een nadeel juist een voordeel kan worden: een 404-pagina kan met succes ingezet worden in het verkoopproces van uw website!
meer informatie

Lees onze: online marketing kennisbank

Why work with us?

Met meer dan 10 jaar ervaring op het gebied van online marketing is Onetomarket een ervaren strategische partner met:

  • ervaren consultants die graag kennis met u delen
  • campagnes voor vele sectoren en international
  • accreditaties door Google, Yahoo!, Omniture en Microsoft
  • een focus op resultaatgedreven samenwerking
  • een meedenkend en oplossingsgerichte aanpak
  • innovatieve plannen en scherp in het beoordelen van kansen
Get in contact with one of our