Hreflang en canonical werken prima samen, zolang elke taalversie een canonical naar zichzelf heeft en hreflang naar alle taalversies. De canonical zegt “dit is het origineel van deze pagina”. Hreflang zegt “dit zijn de vertalingen ervan”. Zo vullen de twee tags elkaar aan in plaats van dat ze elkaar tegenspreken. Wil je eerst weten hoe hreflang werkt, lees dan het begrip in de kennisbank.
Wat canonical en hreflang elk doen
De twee tags lijken op elkaar, want ze staan allebei als <link> in de head en wijzen allebei naar een URL. Maar ze beantwoorden een andere vraag.
| Canonical | Hreflang | |
|---|---|---|
| Welke vraag beantwoordt de tag? | Welke URL is het origineel als dezelfde content op meer adressen staat? | Welke taal- of landversie hoort bij welke bezoeker? |
| Waar wijst hij naar? | Eén URL, bij een taalversie naar de pagina zelf | Alle taalversies, inclusief de pagina zelf |
| Wat doet Google ermee? | Ziet hem als hint, niet als regel | Negeert de tags als twee pagina’s niet naar elkaar wijzen |
Een vertaling is voor Google geen dubbele content. Alleen als de hoofdcontent onvertaald blijft, ziet Google twee taalversies als duplicaat. Hoe je in het algemeen een canonical instelt, lees je in een canonical goed instellen.
Elke taalversie verwijst naar zichzelf
Google is hier duidelijk over. Gebruik je hreflang, geef dan een canonical op in dezelfde taal, of in de best passende vervangende taal als er geen pagina in dezelfde taal bestaat. In de praktijk betekent dat een zelfverwijzende canonical op elke taalversie.
Voor een bakker met een Nederlandse en een Engelse taartenpagina ziet dat er zo uit.
<!-- Op https://bakkerij-sk.nl/taarten/ -->
<link rel="canonical" href="https://bakkerij-sk.nl/taarten/" />
<link rel="alternate" hreflang="nl" href="https://bakkerij-sk.nl/taarten/" />
<link rel="alternate" hreflang="en" href="https://bakkerij-sk.nl/en/cakes/" />
<!-- Op https://bakkerij-sk.nl/en/cakes/ -->
<link rel="canonical" href="https://bakkerij-sk.nl/en/cakes/" />
<link rel="alternate" hreflang="nl" href="https://bakkerij-sk.nl/taarten/" />
<link rel="alternate" hreflang="en" href="https://bakkerij-sk.nl/en/cakes/" />
De canonical verschilt per pagina, de hreflang-regels zijn op beide pagina’s gelijk. Voor bezoekers van wie je de taal niet aanbiedt, voeg je er eventueel een x-default als terugval aan toe.
Zo blijft je vertaling zichtbaar in Google
De klassieke fout is een Engelse pagina met een canonical naar de Nederlandse versie. Met de ene tag zeg je dan “sla mij over, het origineel staat daar”, en met de andere “toon mij aan Engelstalige bezoekers”. Google vraagt om een canonical in dezelfde taal, en daar voldoet deze pagina niet aan. Juist bij een vertaalde website is dat zonde, want dan maak je de vertaling en loop je het risico dat Google hem overslaat.
Een canonical naar de andere taal vraagt Google om je vertaling over te slaan.
Twee kleinere valkuilen horen hierbij. Zet geen hreflang-attribuut in je canonical-tag, want een canonical met hreflang, lang, media of type gebruikt Google niet voor canonicalisatie. Houd canonical en hreflang dus als losse regels. En gebruik overal de https-versie van je pagina’s, nooit de http-versie.
Wanneer een canonical naar een andere URL mag wijzen
Er is één situatie waarin je bewust naar een andere URL canonicaliseert. Dat is als dezelfde taal met dezelfde content op twee adressen staat. Stel dat je Duitse pagina zowel op bakkerij-sk.de staat als op bakkerij-sk.nl/de/. Dan kies je volgens Google één voorkeursversie en gebruik je canonical en hreflang samen, zodat de zoeker de juiste URL krijgt.
Bij regionale varianten in dezelfde taal ligt het net anders. Heb je een Nederlandse en een Belgische versie met bijna dezelfde tekst, geef ze dan elk een eigen hreflang, zoals nl-NL en nl-BE. Google raadt voor regionale varianten aan om canonicalisatie en hreflang samen te gebruiken. Google kan daarbij één van de twee als canonical kiezen. Een zoekresultaat wijst meestal naar de canonical, tenzij een andere versie beter past bij de zoeker, en met je hreflang-tags help je Google die passende regionale URL te tonen. Daarbij geeft Google bij het kiezen van een canonical de voorkeur aan URL’s die in een hreflang-reeks staan.
Zo staat het bij Stof voor Design
Bij Stof voor Design, de webshop in design meubelstoffen die ik meertalig maakte, wijst de homepage op beide domeinen met een canonical naar zichzelf, met dezelfde vier hreflang-regels eronder. Google indexeert beide versies met een eigen canonieke URL, dus de Engelse versie telt als volwaardige pagina en niet als kopie.
Controleer canonical en hreflang in vijf punten
Werk je met een vertaalplugin, kijk dan in de paginabron van beide talen of alles klopt. Hoe je dat in WordPress aanpakt, lees je bij hreflang controleren in WordPress. Het vierde punt is mijn eigen advies, geen regel van Google.
- Elke taalversie heeft een canonical naar zichzelf
- Canonical en hreflang gebruiken volledige URL’s met https://
- De URL in de canonical is precies dezelfde als die in de hreflang, let op www en de schuine streep aan het eind
- De canonical wijst niet naar een pagina met noindex of een redirect
- Een crawler of audittool meldt geen “hreflang to non-canonical”
Wil je dat iemand meekijkt naar je vindbaarheid in meerdere landen, dan vind je hier mijn hulp bij je vindbaarheid.
Veelgestelde vragen
Nee. Google vraagt bij hreflang om een canonical in dezelfde taal. Je Engelse pagina verwijst dus met de canonical naar zichzelf, ook als je de tekst oorspronkelijk in het Nederlands schreef. Met hreflang koppel je de twee versies aan elkaar.
Nee. Google noemt een canonical een hint, geen regel. Google weegt hem mee met andere signalen, zoals de URL's in je hreflang-reeks. Hoe beter je canonical en hreflang op elkaar aansluiten, hoe duidelijker het signaal.