Customer Impact
NL

SEO

Hreflang-fouten oplossen: return-tags, x-default en many-to-many

Kopieer voor AI

Je hreflang-tags staan er, maar Search Console blijft klagen of de verkeerde taalversie blijft ranken. Dat is het frustrerende aan hreflang: een tag die er goed uitziet, kan toch volledig genegeerd worden. Deze pagina is de troubleshooting-laag bovenop de uitleg. Snap je nog niet wat hreflang precies doet, lees dan eerst onze uitleg over hreflang-tags, of zoom uit naar de basis met onze gids over wat SEO is. Weet je dat al en wil je alleen weten waarom jouw implementatie stuk is? Dan zit je hier goed. We lopen de drie fouten af die negen op de tien problemen veroorzaken: ontbrekende return-tags, een verkeerde x-default, en kapotte many-to-many sets.

Eerst diagnosticeren, dan pas sleutelen

De grootste tijdverspilling bij hreflang is blind tags aanpassen. Voor je iets verandert, wil je weten welke fout je hebt. Drie bronnen geven je dat antwoord:

  • Google Search Console. Onder de internationale targeting en de paginarapporten zie je meldingen als “geen retour-tags”. Dat is je belangrijkste signaal, want het komt rechtstreeks van Google.
  • Een crawl met een SEO-auditplatform. Een crawler loopt al je pagina’s af en toont per URL welke hreflang-set erop staat en of de tegenhangers terugverwijzen. Dit vind je gestructureerd terug in een degelijke SEO-audit.
  • Handmatig de paginabron bekijken. Open de <head> van twee taalversies naast elkaar en vergelijk. Tijdrovend, maar het maakt het probleem tastbaar.

Pas als je weet welke van de drie fouten het is, ga je herstellen. Zo niet, dan blijf je symptomen bestrijden.

Fout 1: de ontbrekende return-tag

Dit is veruit de meest voorkomende klacht. De regel is simpel: als pagina A naar pagina B verwijst, moet B terugverwijzen naar A. Ontbreekt die terugverwijzing, dan beschouwt Google het signaal als onbetrouwbaar en negeert het vaak het hele hreflang-blok. Niet alleen de ene foute regel, maar de hele set.

Een typisch scenario: je Nederlandstalige pagina is netjes opgezet en verwijst naar de Franstalige versie. Maar de Franstalige pagina is door een ander teamlid of een ander template gebouwd en mist de verwijzing terug. Resultaat: Google ziet de relatie niet als wederzijds bevestigd en doet er niets mee.

Zo ziet het er fout uit. Op voorbeeld.be/nl/diensten/ staat:

<link rel="alternate" hreflang="nl-be" href="https://voorbeeld.be/nl/diensten/" />
<link rel="alternate" hreflang="fr-be" href="https://voorbeeld.be/fr/services/" />

Maar op voorbeeld.be/fr/services/ staat alleen:

<link rel="alternate" hreflang="fr-be" href="https://voorbeeld.be/fr/services/" />

De Franstalige pagina verwijst niet terug naar de Nederlandstalige. De fix is dat beide pagina’s de volledige, identieke set dragen:

<link rel="alternate" hreflang="nl-be" href="https://voorbeeld.be/nl/diensten/" />
<link rel="alternate" hreflang="fr-be" href="https://voorbeeld.be/fr/services/" />
<link rel="alternate" hreflang="x-default" href="https://voorbeeld.be/" />

Let op het detail dat veel mensen over het hoofd zien: ook de verwijzing naar de URL waarop je staat hoort erbij. Dat is de zelf-referentie. De nl-be-pagina moet dus zelf een hreflang naar nl-be bevatten. Mist die, dan is je set onvolledig en krijg je opnieuw return-tagklachten.

Twee veelvoorkomende oorzaken van een gebroken return-tag: een verschil in URL-notatie (de ene tag schrijft https://, de tegenhanger http:// of mist een trailing slash) en een verwijzing naar een geredirecte URL. Hreflang moet altijd naar de definitieve, indexeerbare URL wijzen, niet naar een versie die nog een redirect of canonical doorloopt.

Fout 2: de verkeerde of dubbele x-default

De x-default wijst de versie aan die Google toont als geen enkele taal- of regioversie matcht. Voor de rommelige Belgische markt, met Nederlandstaligen, Franstaligen en veel internationale bezoekers, is dat een nuttig vangnet. Maar het is ook een bron van twee specifieke fouten.

De eerste fout: meerdere pagina’s claimen tegelijk de x-default. Je nl-be-pagina draagt een x-default die naar zichzelf wijst, en je fr-be-pagina draagt een x-default die naar zichzelf wijst. Nu heeft Google twee conflicterende standaardversies en weet het niet welke het moet tonen. Er hoort precies één x-default-bestemming te zijn binnen één hreflang-cluster, en alle varianten verwijzen naar diezelfde URL.

De tweede fout: de x-default wijst naar een pagina die niet bestaat als neutraal vangnet. Soms staat de x-default op een oude homepage die intussen geredirect wordt, of op een taalkeuzepagina die zelf geen hreflang-set draagt. Kies bewust wat je vangnet is: een neutrale landingspagina die de bezoeker laat kiezen, of een van je hoofdtalen. Wat je ook kiest, die bestemming moet een levende, indexeerbare URL zijn.

Een goed werkende opzet ziet er zo uit, identiek op elke variant:

<link rel="alternate" hreflang="nl-be" href="https://voorbeeld.be/nl/diensten/" />
<link rel="alternate" hreflang="fr-be" href="https://voorbeeld.be/fr/services/" />
<link rel="alternate" hreflang="x-default" href="https://voorbeeld.be/" />

Eén x-default, één bestemming, op elke pagina dezelfde. Geen pagina die zichzelf als standaard claimt terwijl een andere dat ook doet.

Fout 3: de kapotte many-to-many set

Bij twee taalversies is hreflang nog te overzien. Het wordt verraderlijk zodra je drie of meer versies hebt, bijvoorbeeld nl-be, fr-be en een Engelse internationale versie. De regel blijft hetzelfde, maar het aantal verbindingen explodeert. Elke pagina moet naar alle versies verwijzen, inclusief zichzelf. Bij drie versies betekent dat drie hreflang-regels op elke pagina, en die drie sets moeten onderling perfect overeenkomen.

Hier gaat het mis: iemand voegt een derde taal toe en past de nieuwe pagina netjes aan, maar vergeet de twee bestaande pagina’s bij te werken. De nieuwe Engelse pagina verwijst naar nl-be en fr-be, maar nl-be en fr-be verwijzen nog steeds alleen naar elkaar en niet naar de Engelse versie. De cluster is asymmetrisch en valt uit elkaar.

De juiste many-to-many set voor drie versies, die op elk van de drie pagina’s identiek hoort te staan:

<link rel="alternate" hreflang="nl-be" href="https://voorbeeld.be/nl/diensten/" />
<link rel="alternate" hreflang="fr-be" href="https://voorbeeld.be/fr/services/" />
<link rel="alternate" hreflang="en" href="https://voorbeeld.be/en/services/" />
<link rel="alternate" hreflang="x-default" href="https://voorbeeld.be/" />

Het sturende principe: behandel een hreflang-cluster als één geheel dat je in één keer aanpast, niet als losse pagina’s. Voeg je een taal toe of verwijder je er een, dan werk je elke pagina in de cluster bij. Doe je dat niet, dan ontstaat precies de asymmetrie die return-tagfouten triggert. Voor grotere sites is dit een argument om hreflang in je XML-sitemap te beheren in plaats van per pagina, zodat je alle relaties op één centrale plek onderhoudt. Hoe je dat opzet binnen een schaalbare URL-structuur lees je in onze gids over internationale SEO.

De verborgen vierde fout: hreflang en canonical die ruziën

Soms staan je hreflang-tags perfect en blijft het toch fout gaan. Dan zit het probleem bij de canonical. Een canonical zegt “indexeer deze versie”, hreflang zegt “dit is de variant voor dit publiek”. Spreken ze elkaar tegen, dan wint de verwarring. Als je nl-be-pagina een canonical heeft die naar de fr-be-versie wijst, vertel je Google tegelijk “dit is een aparte taalversie” en “deze pagina telt niet, neem de Franse”. Google kan dan beide negeren.

De stelregel: elke taalversie krijgt een zelf-refererende canonical die naar zichzelf wijst, plus de volledige hreflang-set. Eén canonical per pagina, naar zichzelf, nooit naar een andere taalversie. Deze consistentie tussen tags is een vast controlepunt in onze technische SEO-aanpak, want het is precies het soort fout dat onzichtbaar blijft tot je rankings instorten.

Het herstelproces in vier stappen

Pak je hreflang-problemen systematisch aan, niet ad hoc:

  1. Bevestig de fout. Lees de melding in Search Console of draai een crawl. Weet welke van de vier fouten je hebt voor je iets aanraakt.
  2. Herstel de hele cluster tegelijk. Pas elke variant in de cluster aan met dezelfde, volledige set. Halve fixes op één pagina lossen niets op.
  3. Controleer URL-notatie en redirects. Zorg dat elke hreflang naar een definitieve, indexeerbare URL wijst, met consistente protocol- en slash-notatie.
  4. Hercontroleer na de volgende crawl. Hreflang-wijzigingen werken niet meteen door; Google moet alle versies opnieuw crawlen voor de relatie bevestigd is. Geduld hoort bij het proces.

Wil je dit als terugkerend controlepunt inbouwen na elke contentwijziging, neem het dan op in je technische SEO-checklist, zodat een nieuwe pagina nooit ongemerkt een cluster breekt.

Veelgestelde vragen over hreflang-fouten

Waarom zegt Search Console “geen retour-tags” terwijl mijn tags er staan? Omdat de tegenhanger niet terugverwijst, of terugverwijst naar een net iets andere URL (verschil in protocol, www of trailing slash). Google vergelijkt de exacte URL. Wijk je een teken af, dan telt de return-tag niet.

Hoeveel x-default-tags mag ik hebben? Eén bestemming per hreflang-cluster. Alle varianten verwijzen naar diezelfde x-default-URL. Twee pagina’s die zichzelf als standaard claimen, is een fout.

Moet de hreflang naar de canonical-URL wijzen of naar de echte pagina? Naar de definitieve, indexeerbare URL, die idealiter ook je zelf-refererende canonical is. Laat hreflang nooit naar een geredirecte of niet-canonieke versie wijzen.

Hoelang duurt het voor een hreflang-fix doorwerkt? Tot Google alle betrokken pagina’s opnieuw heeft gecrawld. Dat kan dagen tot weken duren, afhankelijk van je crawlfrequentie. Een fix die vandaag live gaat, los je niet vanavond gevalideerd zien.

Werkt hreflang ook buiten Google? Google en Yandex gebruiken het; Bing en Baidu niet. Mik je op die markten, dan heb je andere signalen nodig.

Krijg je hreflang niet recht?

Hreflang is een van de plekken waar Belgische B2B-sites het vaakst stilletjes de mist in gaan: de tags zien er goed uit, maar de juiste taalversie blijft onvindbaar en je eigen pagina’s concurreren met elkaar. Wij zijn een klein team dat eerlijk meekijkt en je vertelt of dit een snelle fix is of een symptoom van een dieper structuurprobleem. Voor ons is SEO geen losse tag-oefening maar de acquisitielaag van je groeimotor, gestuurd op pipeline en niet op technische volledigheid. Bekijk onze aanpak voor seo specialist en laat ons je hreflang-opzet doorlichten.

Plan je gratis intake

Onderdeel van de gids Wat is SEO? Uitleg, werking en waarom het werkt

Gratis website-scan

Geef je website in en krijg binnen enkele minuten een automatische scan met concrete technische en SEO-verbeterpunten. Geen verkooppraatje.

Waar mogen we je rapport naartoe sturen?

Je gegevens gebruiken we alleen voor je scan. Geen spam, uitschrijven kan altijd.

Deel je website voor een gratis zichtbaarheidsaudit