Redirects aanmaken; de verschillende manieren

Als een pagina of website niet meer bestaat, betekent dit niet altijd dat er geen bezoekers of zoekmachines meer op die pagina komen. Hoe zorg je dat deze bezoekers niet verloren gaan? Met een (301) redirect! Hoe maak je redirects aan en hoe reageren zoekmachines hier op?

Lees ook: Wat er gebeurt als je de redirects vergeet.

Wat is een redirect?

Een redirect zorgt ervoor dat een bepaalde URL de bezoeker automatisch doorstuurt naar een andere URL. Dit kan bijvoorbeeld handig zijn als je je website verhuist naar een nieuwe domeinnaam.

  • Bijvoorbeeld: http://oude-website.nl/ bestaat niet meer, dus redirect je deze naar http://nieuwe-website.nl/.
  • Maar ook de onderliggende pagina’s, bijvoorbeeld: http://oude-website.nl/over-ons/ redirect naar http://nieuwe-website.nl/over-ons/.

Een andere redirect die je vaak ziet is http://www.jouw-website.nl/ (met WWW) naar http://jouw-website.nl/ (zonder WWW) en andersom. Als je een WordPress-website hebt redirect het CMS automatisch naar de juiste variant. Ik heb zelf bijvoorbeeld gekozen voor een URL zonder WWW: http://www.wouterpostma.nl/ stuurt je automatisch naar https://wouterpostma.nl/.

Ook voor het maken van ‘mooie’ affiliate links kan het nuttig zijn om redirects aan te maken. Zo gebruik ik op één van mijn affiliate-websites de redirect /kopen/bol/, die redirect naar een langere URL van het Bol.com-partnerprogramma. Een bijkomend voordeel hier is dat wanneer de partnerprogramma-link verandert, ik alleen de redirect hoef aan te passen, en niet alle linkjes op mijn website.

Het opzetten van zo’n redirect kan op veel verschillende manieren. In dit artikel zal ik uitleggen welke manieren het beste zijn én hoe je dat doet.

Voordat ik uitleg hoe je een redirect opzet is het belangrijk om eerst wat informatie te geven over verschillende HTTP response codes.

HTTP response codes

Wanneer je een URL (bijvoorbeeld https://wouterpostma.nl/) invult in je browser gebruik je het Hypertext Transfer Protocol (HTTP). Dit klinkt ingewikkeld, maar eigenlijk vraag je hiermee gewoon de bestanden op een server op (HTML, CSS, Javascript, afbeeldingen en andere bestanden). Na zo’n HTTP-request komt er een HTTP response code terug. Meestal is dit de “HTTP 200 OK”-code. Dit betekent dat de bestanden er zijn en dit zal resulteren in een webpagina, afbeelding of ander bestand.

Er zijn veel verschillende soorten response codes. De bekendste is wellicht de 404 (pagina niet gevonden). Niet alleen webpagina’s die niet gevonden kunnen worden (zoals deze) geven een 404-response; ook andere bestanden (zoals dit CSS-bestand) die niet gevonden kunnen worden.

Wij gaan ons richten op HTTP response codes die met een 3 beginnen, want:

  • 4XX codes (zoals 404) zijn er om aan te geven dat er iets fout is.
  • 2XX codes (zoals 200) geven aan dat er iets “succesvol” is. Deze code krijg je als gebruiker dan ook niet te zien.
  • 3XX codes (zoals 301) en zijn er speciaal voor redirects.

De meest gebruikte redirect is de 301 redirect (301 Moved Permanently).

Wil je van bepaalde URLs controleren welke HTTP statuscode ze teruggeven? Gebruik dan de website httpstatus.io. Deze laat per URL zien welke redirects er eventueel actief zijn. Een voorbeeld:

http naar https
http://wouterpostma.nl redirect naar de HTTPS-versie

Maar hoe maak je een redirect aan? Heb je een WordPress-website? Klik dan hier voor de snelste manier om redirects aan te maken.

HTML redirect

(Af te raden)

De makkelijkste manier om een redirect te maken is het plaatsen van een stuk HTML-code in de <head> van je HTML-pagina:

<meta http-equiv="refresh" content="0; URL='http://nieuwe-URL.nl'" />

Hoewel dit een hele makkelijke manier is om een redirect aan te maken, raad ik het af om deze te gebruiken. In dit geval ontbreekt namelijk de HTTP response code, en niet alle browsers reageren hier even goed op. Daarnaast zullen niet alle zoekmachines de waarde of autoriteit van de “oude” pagina doorgeven aan de nieuwe pagina.

JavaScript

(Af te raden)

Een andere manier om een pagina te redirecten is met JavaScript. Ook dit is vrij eenvoudig, maar heeft een aantal nadelen.

Het volgende stuk JavaScript is genoeg om een pagina te redirecten:

window.location = "http://nieuwe-URL.nl";

Ook deze methode raad ik af, want:

  • Zoekmachines reageren hier verschillend op en dus wordt de waarde van de oude pagina niet altijd doorgegeven.
  • Ook hier ontbreekt de HTTP response code (en ook dat vinden zoekmachines niet prettig).
  • Als de bezoeker JavaScript niet heeft geactiveerd, zal er niets gebeuren.

PHP redirects

(Goed)

Je kunt ook PHP gebruiken voor een redirect. Je gebruikt hiervoor de header-functie:

<?php

  header('Location: http://nieuwe-URL.nl');
  exit;

?>

Deze code dien je helemaal bovenin je PHP-bestand te plaatsen. Bovendien stuurt de code standaard een 302-response (tijdelijke redirect). Als je een 301 response (permanente redirect) wilt, ziet de code er iets anders uit:

<?php

  header('Location: http://nieuwe-URL.nl/', true, 301);
  exit();

?>

Apache / .htaccess redirects

(Goed)

Waarschijnlijk de meest gebruikte manier om redirects aan te maken; via het .htaccess-bestand. De server regelt alles en stuurt ook de juiste HTTP response codes terug. Dit werkt overigens alleen op Linux-servers die mod-rewrite toestaan. In de praktijk geldt dit voor een hele hoop hosting-partijen.

Het .htaccess-bestand bevindt zich in de “root directory” van je website. Als deze er nog niet is, maak hem dan aan. Het bestand moet .htaccess heten (en begint dus met een punt).

In dit bestand is de volgende regel code genoeg om alle URL’s te redirecten naar een nieuwe locatie:

Redirect 301 / http://nieuwe-URL.nl

Iedere pagina die nu bezocht wordt op deze website, zal worden ge-redirect naar http://nieuwe-URL.nl/.

Dit is niet helemaal gebruikersvriendelijk, want als een bezoeker naar een specifieke pagina op de oude website gaat (bijvoorbeeld http://oude-URL/blog/bericht/), wordt deze alsnog doorgestuurd naar http://nieuwe-URL.nl. Het meest gebruikersvriendelijk (én zoekmachine-vriendelijk) is om deze gebruiker in zo’n geval door te sturen naar http://nieuwe-URL.nl/blog/bericht/.

Dit doen we door ook het volgende stuk code aan het .htaccess-bestand toe te voegen:

RedirectMatch 301 /blog(.*) http://nieuwe-URL.nl$1

Als je liever niet met .htaccess aan de haal gaat en je hebt een WordPress-website, dan kun je kiezen voor een plugin waarmee je makkelijk redirects kunt aanmaken. OF je kiest ervoor om redirects aan te maken vanuit het controlepaneel van je server, bijvoorbeeld DirectAdmin:

Redirects aanmaken vanuit DirectAdmin

(Goed)

Als je een hosting-pakket hebt met DirectAdmin als controlepaneel, kun je ook DirectAdmin gebruiken om gemakkelijk redirects aan te maken.

Kies onder “Advanced Features” voor “Site Redirection“. Dit ziet er als volgt uit:

DirectAdmin Redirects

In het voorbeeld hierboven redirect ik http://wouterpostma.com/pagina naar https://wouterpostma.nl/pagina. Als ik in het eerste veld een “/” invul en in het tweede veld kies voor https://wouterpostma.nl/, zal DirectAdmin http://wouterpostma.com/ én alle onderliggende pagina’s redirecten naar de nieuwe URL.

DirectAdmin zorgt er dan automatisch voor dat onderliggende pagina’s ook correct worden meegenomen, bijvoorbeeld:

http://wouterpostma.com/pagina/ redirect naar https://wouterpostma.nl/pagina/

WordPress

Redirects in WordPressHeb je een WordPress-website? Dan raad ik je aan om de plugin Redirection te installeren. Onder het menu “Extra” in je WordPress-admin komt dan een speciaal “Redirection”-menu te staan. Vanuit hier kun je niet alleen redirects aanmaken, maar ook zien op welke URL’s bezoekers en/of zoekmachines een 404-pagina hebben opgevraagd. Met één klik kun je deze URL dan redirecten naar bijvoorbeeld je home-pagina of de nieuwe URL van die pagina.

Andere manieren

Er zijn nog veel andere manieren om redirects aan te maken. Dit hangt vaak af van het type server. De kans is echter zeer groot dat het met één van de bovenstaande opties lukt, omdat de meeste servers deze methodes ondersteunen.

Gepubliceerd door

Wouter Postma

Ik ben WordPress- en SEO-specialist. Hierover blog ik op deze website, maar ook op WordPress Lounge. Meer over mij lees je op de pagina "Over". Bekijk ook wat ik al gemaakt heb, of neem contact met me op!