16.1 Gebruik een 301-redirect!
Website-ontwikkeling is een dynamisch verhaal. Daardoor komt het regelmatig voor dat pagina’s na verloop van tijd onder een nieuwe URL geplaatst worden. Zelfs de grootste bedrijven vergeten dergelijke veranderingen op de juiste manier af te handelen. Om maar meteen de juiste oplossing te geven: gebruik een 301-redirect!
Wat doet een 301-redirect? Die brengt alle SEO-kracht van de oude naar de nieuwe pagina over, hetgeen natuurlijk zeer belangrijk is. Die SEO-kracht (die we ook wel ‘link juice‘ of ‘link equity‘ noemen) bestaat uit de PageRank, de TrustRank en ook de ankerteksten. Dus eigenlijk alle voor SEO van belang zijnde zaken worden netjes overgedragen naar de nieuwe pagina.
Februari 2013 gaf Google bij monde van Matt Cutts echter aan dat de 301-redirect niet alle kracht overdraagt, maar slechts een deel. Een redirect werd op dat moment namelijk beschouwd als een link en op basis van de PageRank-formules weten we dat de kracht dan gedempt wordt met een dempingsfactor waarvan wordt aangenomen dat die ongeveer 0.85 bedraagt. Dit getal kon een stevige impact krijgen op het moment dat er chained redirects werden toegepast. Dan gaat het verlies natuurlijk snel omhoog.
Juni 2016 heeft Google bij monde van Gary Illyes echter bekend gemaakt dat hier opnieuw een correctie heeft plaatsgevonden: bij de toepassing van 301-redirects (dus ook van HTTP naar HTTPS!) wordt de PageRank voor 100% overgedragen.
Er zijn twee manieren om een redirect te realiseren:
- Client-side redirect
- Server-side redirect
Bij een client-side redirect wordt de redirect in de html-pagina zélf geregeld. Dit kan door een redirect in de meta-tags op te nemen (meta-refresh redirect) of door een stukje javascript-code in de pagina te plaatsen. Bij deze vorm van redirect moet dus eerst de pagina worden opgehaald en wordt in de browser van de ontvanger (of in de user-agent, zoals in het geval van zoekmachines) pas geconstateerd dat er een doorverwijzing naar een andere pagina ligt. Dan pas wordt de nieuwe pagina opgehaald. Deze redirect html methode heeft twee belangrijke nadelen. Ten eerste duurt het lang, want nieuwe én oude pagina moeten worden opgehaald. Maar nog belangrijker is het feit dat bij deze oplossing de oude pagina blijft bestaan. En precies hierin ligt een gevaar op de loer. Zoekmachine kunnen namelijk pagina’s met gelijke inhoud (of ‘duplicate content’) als spam beoordelen. Dit betekent dat als we over willen stappen naar een nieuwe pagina onder een nieuwe url, de oude moet worden verwijderd of in ieder geval onzichtbaar moet zijn, terwijl we toch een redirect willen regelen.
De enige goede oplossing is een server-side redirect. Bij een server-side redirect wordt de redirect geregeld bij de server waarop de webapplicatie draait. Hoe gaat dat in zijn werk? Op de server plaatsen we een bestand of een stukje code waarin we aangeven dat een bepaalde pagina, dus met een bepaalde naam, moet worden ge-redirect naar een andere pagina met de nieuwe naam. Daarbij geven we aan dat het een 301-redirect betreft. Via deze 301-code geven we aan dat het om een permanente verhuizing gaat. Als een zoekmachine deze code ziet weet deze dus wat de bedoeling is en zal/kan het de oude pagina uit de index halen en de nieuwe gaan indexeren. Het gevaar van duplicate content is hiermee dus bezworen. Verder is deze oplossing veel sneller als de pagina wordt opgevraagd door bezoekers van vlees en bloed: de oude pagina hoeft niet eerst naar hun webbrowser te worden toegehaald.
Indien u twee pagina’s met dezelfde content heeft, dan zou u in principe kunnen besluiten om de ene pagina te 301-redirecten naar de andere. Dan wordt de link juice dus netjes overgedragen en opgeteld bij die van de nieuwe pagina. Maar soms wilt u dat helemaal niet: dan wilt u dat beide pagina’s (met de dubbele content) gewoon naast elkaar blijven bestaan. Ook voor die situatie heeft Google een oplossing bedacht, waarbij de linkjuice van beide pagina’s gebundeld kan worden in slechts één pagina (die om die reden dus beter zal gaan scoren). Dat is het gebruik van de rel=canonical. Stel dat u een pagina a.html en b.html heeft die beiden dezelfde content bevatten. U kunt er dan voor kiezen om alle kracht te bundelen in bijvoorbeeld a.html, waarbij b.html uit de zoekresultaten zal gaan verdwijnen. In de metasectie van b.html neemt u dan op:
<link rel=”canonical” href=”a.html”>
Er vindt dan geen redirect plaats, maar het SEO-effect is identiek aan de 301-redirect: ook dan wordt de kracht voor 100% overgedragen.
16.2 Hoe kan een 301-redirect worden gerealiseerd?
De meest ideale oplossing is er één m.b.v. een .htaccess-bestand die op de server in de rootdirectory van uw webapplicatie wordt geplaatst. Daar kunt u per pagina aangeven hoe u e.e.a. wilt redirecten:
redirect 301 /oud1.html http://www.mijndomein.nl/nieuw1.html
redirect 301 /oud2.html http://www.mijndomein.nl/nieuw2.html
Op deze manier resulteren de twee pagina’s oud1.html en oud2.html in een 301-code mét nieuwe url waardoor de server van waaruit de aanvraag plaats vindt meteen de nieuwe pagina’s (nieuw1.html respectievelijk nieuw2.html) kan aanvragen. Let op dat bij de oude pagina’s niet de domeinnaam (noch de http://) wordt vermeld, maar slechts de bestandsnaam t.o.v. de rootdirectory. Van de nieuwe pagina’s moet juist weer wel de volledige domeinnaam worden gespecificeerd. Deze oplossing m.b.v. een .htacces-bestand is alleen mogelijk bij Apache-webservers. Als u een andere webserver gebruikt, dan moet de server-side redirect worden opgelost via een script dat op de webserver draait (server side scripts). Dat kan via vele talen als CGI/Perl, ASP.NET, JAVA, etc. Een voorbeeld van een 301-redirect in ASP.NET is:
<script runat=”server”>
private void Page_Load(object sender, System.EventArgs e) {
Response.Status = “301 Moved Permanently”; Response.AddHeader(“Location”,”http://www.mijndomein.nl /”); }
</script>
16.3 Wanneer een 302-redirect?
Als pagina’s in uw website van URL veranderen, en u de volledig opgebouwde kracht wilt overzetten naar de nieuwe pagina, maak dan dus gebruik van een 301-redirect. Als pagina’s echter alleen voor de bezoeker tijdelijk moeten worden doorgeleid naar een andere pagina (bijvoorbeeld omdat het product in de webshop tijdelijk niet op voorraad is), maar wel gewoon geïndexeerd moeten blijven voor Google, maak dan gebruik van een 302-redirect (tijdelijke verhuizing).
Nu zijn we er in de SEO-wereld jaren vanuit gegaan dat er via de 302-redirect geen linkjuice (PageRank, ankertekst, etc.) wordt overgedragen, maar februari 2016 heeft Google woordvoerder John Muelller aangegeven dat dit een mythe is. Omdat Google heeft geconstateerd dat veel 302-redirects worden toegepast waar een 301 bedoeld wordt, heeft men besloten dat een 302 qua SEO afgehandeld moet worden als een 301. Dat betekent dat ook bij een 302-redirect de linkjuice gewoon volledig wordt doorgegeven. Hetzelfde geldt voor 307-redirects (ook een tijdelijke redirect).
Vorige – 15. W3C en HTML5 | Volgende – 17. Web2.0 en SEO |