301 redirect: wat het is en wanneer je hem gebruikt

Een 301 redirect is een permanente doorverwijzing die SEO-waarde doorgeeft. Lees wanneer je hem gebruikt, hoe je hem test en welke fouten je voorkomt.

Een 301 redirect is de standaard als een pagina of een heel domein definitief een nieuw adres krijgt. Bezoekers komen vanzelf op de goede plek uit en Google weet dat het nieuwe adres het oude vervangt. Het is ook de redirect die het vaakst verkeerd wordt ingezet. Hier lees je hoe hij werkt, wanneer je hem gebruikt en hoe je hem controleert.

Wat is een 301 redirect?

Elke keer dat een browser een pagina opvraagt, antwoordt de server met een statuscode. Een 200 betekent: hier is de pagina. Een 301 betekent: deze pagina staat voortaan op een ander adres. De server stuurt dat nieuwe adres mee in de Location-header, en de browser vraagt meteen die nieuwe URL op.

Het antwoord ziet er in de ruwe vorm zo uit:

HTTP/1.1 301 Moved Permanently
Location: https://nieuw-merk.nl/contact

Het woord dat ertoe doet is "permanently". Je zegt daarmee tegen browsers en zoekmachines dat ze het oude adres mogen vergeten.

Hoe Google met een 301 omgaat

Google ziet een 301 als een sterk signaal dat de nieuwe URL de oude vervangt. Bij het bepalen van de canonieke URL, het adres dat in de zoekresultaten verschijnt, kiest Google dan meestal voor de bestemming. De oude URL verdwijnt na verloop van tijd uit de index.

Signalen die bij de oude URL hoorden, zoals links van andere websites, worden doorgegeven aan de nieuwe. Google heeft in het verleden ook gezegd dat 30x-redirects geen PageRank laten weglekken. Dat is geruststellend, maar het geldt alleen als de redirect logisch is: de nieuwe pagina moet over hetzelfde gaan als de oude.

Verwacht niet dat alles in één dag rond is. Google moet de oude URL opnieuw bezoeken om de 301 te zien. Voor pagina’s die vaak worden gecrawld gaat dat snel, voor diepe pagina’s kan het weken duren.

Wanneer gebruik je een 301?

Gebruik een 301 als de verhuizing blijvend is en je niet van plan bent terug te gaan. Typische situaties:

  • Je verhuist je website naar een nieuw domein. Zie het stappenplan voor een domeinmigratie.
  • Je kiest één vaste variant: met of zonder www, en altijd https.
  • Je stuurt extra domeinen door naar je hoofddomein, zoals de .com naast je .nl of een domein met een spelfout. Lees hoe je een domein doorstuurt.
  • Je verandert de URL-structuur van je site, bijvoorbeeld van /blog/2024/titel naar /blog/titel.
  • Je voegt twee pagina’s samen tot één.

Is de verhuizing tijdelijk, zoals bij onderhoud of een actie van een paar weken, dan past een 302 redirect beter.

Browsers onthouden een 301

Dit is het punt waar mensen het vaakst tegenaan lopen. Omdat een 301 permanent is, mogen browsers hem opslaan. Heeft een bezoeker de redirect eenmaal gezien, dan stuurt de browser hem de volgende keer meteen door, zonder de server nog te vragen. Ook niet als jij de redirect inmiddels hebt aangepast of verwijderd.

Voor jou als beheerder betekent dat: een verkeerde 301 is lastig terug te draaien. Bezoekers die hem al kregen, blijven een tijd op de verkeerde plek uitkomen tot hun browsercache is geleegd.

Eerst testen, dan pas 301

Twijfel je nog over de bestemming, zet dan tijdelijk een 302 en controleer het resultaat. Klopt alles, wissel dan naar 301. Test zelf in een privévenster of met een tool die geen cache gebruikt.

Een 301 instellen

Apache (.htaccess)

Eén pagina doorsturen naar een nieuw adres:

Redirect 301 /oude-pagina https://www.voorbeeld.nl/nieuwe-pagina

Een heel domein doorsturen met behoud van het pad, via mod_rewrite:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?oud-domein\.nl$ [NC]
RewriteRule ^(.*)$ https://www.nieuw-domein.nl/$1 [R=301,L]

De querystring gaat bij deze regel automatisch mee, tenzij je zelf een nieuwe querystring opgeeft.

nginx

Eén pagina:

location = /oude-pagina {
    return 301 https://www.voorbeeld.nl/nieuwe-pagina;
}

Een heel domein, met pad en querystring:

server {
    listen 80;
    listen 443 ssl;
    server_name oud-domein.nl www.oud-domein.nl;

    # ssl_certificate en ssl_certificate_key hier

    return 301 https://www.nieuw-domein.nl$request_uri;
}

Let op: voor de https-variant heb je ook op het oude domein een geldig certificaat nodig. Zonder certificaat krijgt de bezoeker een waarschuwing voordat de redirect wordt uitgevoerd.

Zonder eigen server

Heb je geen hosting meer op het oude domein, dan kun je de redirect ook bij een dienst als WebsiteRedirect zetten. Je kiest de bestemming en statuscode 301, zet een DNS-record en het SSL-certificaat wordt automatisch aangevraagd en verlengd. Met de schakelaars voor pad en querystring bepaal je of /contact?ref=mail meekomt naar de bestemming.

Testen of je 301 werkt

Vertrouw niet op je eigen browser, juist vanwege de cache. Gebruik de redirect checker of de command line:

curl -I https://oud-domein.nl/contact

In het antwoord wil je 301 zien en een Location die naar de juiste pagina wijst. Controleer daarna of die bestemming een 200 geeft en niet nog eens doorstuurt. Test meerdere varianten: http en https, met en zonder www, en een paar diepe links.

Veelgemaakte fouten

  • Redirectketens. Oud domein naar http, dan naar https, dan naar www. Elke extra stap kost laadtijd en Google volgt een keten maar tot een bepaalde lengte. Stuur in één keer naar het eindadres.
  • Alles naar de homepage. Als honderd oude pagina’s allemaal op de homepage uitkomen, ziet Google dat vaak als een soft 404: de oude pagina bestaat in feite niet meer. De waarde van die pagina’s gaat dan niet mee. Stuur elke URL naar de best passende nieuwe pagina.
  • Per ongeluk een 302. Veel tools en plugins zetten standaard een 302. Voor een blijvende verhuizing houdt Google de oude URL dan langer in de index. Controleer de statuscode altijd.
  • Doorsturen naar een pagina die niet bestaat. Een 301 die op een 404 uitkomt, helpt niemand. Controleer de bestemmingen, zeker na een migratie.
  • De redirect te vroeg weghalen. Oude links in mails, op andere websites en in bladwijzers blijven jarenlang bestaan. Laat de redirect staan en verleng het oude domein.

Veelgestelde vragen

Wat is het verschil tussen een 301 en een 302 redirect?

Een 301 zegt dat een pagina permanent is verhuisd. Google vervangt de oude URL dan na verloop van tijd door de nieuwe. Een 302 zegt dat de verhuizing tijdelijk is, waardoor Google de oude URL in de index houdt.

Verlies ik PageRank door een 301 redirect?

Google heeft aangegeven dat 30x-redirects geen PageRank laten weglekken. Wel moet de nieuwe pagina inhoudelijk passen bij de oude. Stuur je alles naar de homepage, dan kan Google dat behandelen als een soft 404.

Hoe lang moet een 301 redirect blijven staan?

Zo lang als er nog links en bezoekers naar de oude URL komen. Reken minimaal op een jaar, en bij een domeinverhuizing liever langer. Een redirect weghalen kost je niets extra aan werk, maar wel de links die nog naar het oude adres wijzen.

Kan ik een 301 redirect terugdraaien?

Op de server wel, maar browsers die de 301 al hebben gezien onthouden hem vaak en sturen bezoekers zonder nieuwe aanvraag door. Test daarom eerst met een 302 als je nog twijfelt, en zet pas een 301 als het resultaat klopt.

Is een 308 beter dan een 301?

Voor gewone pagina’s maakt het voor Google niet uit: beide zijn permanent. Een 308 garandeert daarnaast dat de HTTP-methode gelijk blijft, wat telt bij formulieren en API’s.

Redirects regelen zonder gedoe?

Onbeperkt domeinen, elke statuscode, automatisch SSL. Vast €10 per maand.