Website redirects geven browsers en zoekmachines informatie over een URL en waar ze de webpagina kunnen vinden. Het is essentieel om redirects correct te gebruiken omdat ze invloed hebben op de manier waarop websites gecrawld en geïndexeerd worden door Google. In dit artikel lees je hier meer over.
HTTP-statuscodes
Browsers en zoekmachinecrawlers zoals GoogleBot worden user agents genoemd.
Wanneer een user agent een webpagina probeert te openen, gebeurt het volgende: de user agent doet een verzoek en de webserver geeft een antwoord.
Het antwoord wordt een HTTP-statuscode genoemd. Het geeft een status voor de aanvraag van een URL.
In de situatie waarin een user agent zoals GoogleBot een URL aanvraagt, geeft de server een antwoord.
Als het verzoek om een URL bijvoorbeeld succesvol is, geeft de server een responscode van 200, wat betekent dat het verzoek om een URL succesvol was.
Dus als je denkt aan een GoogleBot die een website bereikt en probeert te crawlen, is er sprake van een reeks verzoeken en antwoorden.
Wat houdt een redirect in?
Een redirect is een verwijzing. Een verwijzing van een bepaalde URL (webpagina) naar een andere URL (pagina) waar de content staat.
Als we het hebben over een redirect, hebben we het over een serverreactie. Het is een antwoord op een verzoek voor een URL.
Als de website pagina van URL is veranderd omdat hij werd verplaatst, dan vertelt de server de user agent dat de URL-aanvraag wordt omgeleid naar een andere URL.
De responscode voor een gewijzigde URL heeft meestal de vorm van een 301- of 302-statuscode.
De hele 3xx-reeks van responscodes deelt veel informatie mee waarop de user agent eventueel kan reageren.
Een voorbeeld van een actie die de user agent kan ondernemen is het opslaan van een cache van de nieuwe URL, zodat de volgende keer dat de oude URL wordt opgevraagd, de nieuwe URL wordt opgevraagd.
Hulp nodig bij technische SEO?
3XX-serie statuscodes
Redirects zijn meer dan alleen de twee statuscodes die iedereen kent, de 301- en 302-antwoordcodes.
Er zijn meerdere officiële 3xx-reactiestatuscodes.
Dit zijn de verschillende soorten redirects die kunnen worden gebruikt:
- 300 Meerdere keuzes.
- 301 Permanent verplaatst.
- 302 Gevonden.
- 303 Zie Andere.
- 304 Niet gewijzigd.
- 305 Proxy gebruiken.
- 306 (Niet gebruikt).
- 307 Tijdelijke Redirect.
- 308 Permanente Redirect.
Sommige van de bovenstaande statuscodes bestaan nog niet zo lang en worden misschien nog niet veel gebruikt. Voordat je dus een andere redirect-code dan 301 of 302 gebruikt, moet je er zeker van zijn dat de beoogde useragent deze kan interpreteren.
Omdat GoogleBot de nieuwste versie van Chrome gebruikt (een zogenaamde headless browser), kun je eenvoudig controleren of een statuscode compatibel is door te controleren of Chrome de statuscode herkent met een browsercompatibiliteitslijst.
Voor SEO worden enkel 301 en 302 respons codes gebruikt, tenzij er een specifieke reden is om een van de andere codes te gebruiken.
301: Permanent verplaatst
Naar de 301-statuscode wordt vaak verwezen als de 301-redirect. Maar de officiële naam is 301 Permanente Verplaatsing.
De 301 redirect geeft een user agent aan dat de URL is gewijzigd naar een andere locatie en dat deze de nieuwe URL moet gebruiken voor toekomstige verzoeken.
Zoals gezegd is er ook meer informatie.
De 301-statuscode suggereert ook aan de user agent:
- Toekomstige verzoeken voor de URL moeten worden gedaan met de nieuwe URL.
- Degene die het verzoek doet, moet zijn links bijwerken naar de nieuwe URL.
Latere verzoeken kunnen worden gewijzigd van GET naar POST.
Dat laatste is een technische kwestie. Volgens de officiële normen voor de 301-statuscode:
“Opmerking: Om historische redenen KAN een user agent de verzoekmethode veranderen van POST naar GET voor het volgende verzoek. Als dit gedrag ongewenst is, kan in plaats daarvan de statuscode 308 (Permanent Redirect) worden gebruikt.”
Voor SEO, wanneer zoekmachines een 301 redirect zien, geven ze de ranking van de oude pagina door aan de nieuwe.
Voordat je een wijziging aanbrengt, moet je voorzichtig zijn met het gebruik van een 301-redirect. De 301 redirect mag alleen worden gebruikt als de verandering naar een nieuwe URL permanent is.
De 301-statuscode mag niet worden gebruikt als de verandering tijdelijk is.
Bovendien, als je later van gedachten verandert en terugkeert naar de oude URL, kan de oude URL niet meer ranken en kan het tijd kosten om de ranking terug te krijgen.
Het belangrijkste om te onthouden is dus dat een 301-statuscode wordt gebruikt als de verandering permanent is.
302: Gevonden
Het belangrijkste dat je moet begrijpen over de 302-statuscode is dat deze nuttig is voor situaties waarin een URL tijdelijk is gewijzigd.
De betekenis van deze responscode is dat de URL tijdelijk op een andere URL staat, en er wordt aangeraden de oude URL te gebruiken voor toekomstige verzoeken.
De statuscode 302 redirect komt ook met een technisch voorbehoud in verband met GET en Post:
“Opmerking: Om historische redenen kan een user agent de verzoekmethode wijzigen van POST naar GET voor het volgende verzoek. Als dit gedrag ongewenst is, kan in plaats daarvan de statuscode 307 (Tijdelijke omleiding) worden gebruikt.”
De verwijzing naar “historische redenen” kan verwijzen naar oude of buggy user agents die de verzoekmethode kunnen veranderen.
Canonical url
De term canonical heeft betrekking op het voorkomen dat er duplicate content op het internet wordt geplaatst. Door het gebruik van een canonical tag of een canonical URL laat je aan Google weten dat je duplicate content plaatst en geef je aan welke URL je in de zoekresultaten wilt laten opnemen. Het hebben van canonieke URL’s is een belangrijk onderdeel van SEO.
Als je duplicate content op je website hebt staan en geen canonical url gebruikt, kan dit negatieve effecten hebben voor jouw website. Omdat zoekmachines URL’s met “www” en “niet-www” versies behandelen als verschillende pagina’s met dezelfde inhoud of dat pagina’s als duplicaat kunnen worden beschouwd.
Daarom moet je ervoor zorgen dat je de website alleen draait met één door jou gekozen versie.
Als je jouw website wilt draaien met de “www”-versie, gebruik dan deze regel:
RewriteCond %{HTTP_HOST} ^yourwebsite.com [NC]
RewriteRule ^(.*)$ https://www.yourwebsite.com/$1 [L,R=301]
Voor een “niet-www” versie:
RewriteCond %{HTTP_HOST} ^www.yourwebsite.com [NC]
RewriteRule ^(.*)$ https://yourwebsite.com/$1 [L,R=301]
Trailing slash maakt ook deel uit van canonicalisatie, aangezien URL’s met een slash aan het eind of zonder slash ook anders worden behandeld.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*[^/])$ /$1/ [L,R=301]
Dit zorgt ervoor dat /voorbeeld-pagina wordt omgeleid naar /voorbeeld-pagina/. U kunt ervoor kiezen de schuine streep te verwijderen in plaats van toe te voegen, dan heeft u de andere regel hieronder nodig:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
HTTP naar HTTPS omleiding
Na het initiatief van Google om website-eigenaren aan te moedigen SSL te gebruiken, is het migreren naar HTTPS een van de veelgebruikte redirects die bijna elke website heeft.
De onderstaande herschrijfregel kan worden gebruikt om HTTPS op elke website te forceren.
RewriteCond %{HTTP_HOST} ^yourwebsite.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.yourwebsite.com [NC]
RewriteRule ^(.*)$ https://www.yourwebsite.com/$1 [L,R=301,NC]
Redirects die je beter niet kunt gebruiken
1. Alle 404 pagina’s omleiden naar de homepage
Het kan zijn dat je 404 pagina’s gemakshalve doorverwijst naar de homepage, in plaats van dat je ze naar de juiste landingspagina omleidt.
Volgens Google worden ze nog steeds allemaal als 404 behandeld.
Als je te veel van dit soort pagina’s hebt, moet je overwegen om mooie 404-pagina’s te maken en gebruikers te verleiden om verder te bladeren of iets anders te vinden dan wat ze zochten door een zoekoptie weer te geven.
Het wordt door Google sterk aanbevolen dat de content van omgeleide pagina’s gelijkwaardig moet zijn aan de oude pagina. Anders kan zo’n redirect worden beschouwd als een soft 404, en verlies je de ranking van die pagina.
2. Verkeerde mobiele paginaspecifieke redirects
Als je verschillende URL’s hebt voor desktop- en mobiele websites (bijvoorbeeld “example.com” voor desktop en “m.example.com” voor mobiel), moet je ervoor zorgen dat gebruikers worden omgeleid naar de juiste pagina van de mobiele versie.
Goed: “voorbeeld.com/sport/” naar “m.voorbeeld.com/sport/”.
Fout: “voorbeeld.com/sport/” naar “m.voorbeeld.com”.
Ook moet je ervoor zorgen dat als een pagina 404 is op desktop, het ook 404 moet zijn op mobiel.
Als je voor een pagina geen mobiele versie hebt, kun je voorkomen dat ze worden doorgestuurd naar de mobiele versie en ze op de desktop pagina houden.
3. Meta Refresh gebruiken
Het is mogelijk om een redirect te doen met behulp van een meta refresh tag zoals het onderstaande voorbeeld:
<meta http-equiv=”refresh” content=”0;url=http://example.com/new-page/” />
Als je deze tag in /old-page/ invoegt, wordt de gebruiker onmiddellijk omgeleid naar /new-page/.
Google verbiedt deze redirect niet, maar raadt het gebruik ervan af.
Volgens John Mueller kunnen zoekmachines dat type redirect mogelijk niet goed herkennen. Hetzelfde geldt ook voor JavaScript-redirects.
4. Te veel redirects
Dit bericht verschijnt wanneer je een verkeerde reguliere expressie hebt ingesteld en in een oneindige loop terechtkomt.
Meestal gebeurt dit wanneer je een redirect-keten hebt.
Laten we zeggen dat je pagina 1 lang geleden hebt omgeleid naar pagina 2. Je bent misschien vergeten dat pagina 1 is omgeleid en hebt besloten om pagina 2 opnieuw om te leiden naar pagina 1.
Het resultaat is een regel als deze:
RewriteRule ^page1 /page2 [R=301,NC,L]
RewriteRule ^page2 /page1 [R=301,NC,L]
Dit zal een oneindige loop creëren en de hierboven getoonde fout produceren.
Conclusie
Weten wat redirects zijn en welke situatie een specifieke statuscode vereist, is van fundamenteel belang om webpagina’s goed te optimaliseren. Het is een kernonderdeel van het begrijpen van SEO.
Veel situaties vereisen nauwkeurige kennis van redirects, zoals het migreren van een website naar een nieuw domein of het maken van een tijdelijke pagina op een andere URL voor een website die later onder zijn normale URL terugkomt.
Bron: https://www.searchenginejournal.com/technical-seo/redirects/