Hreflang
Een HTML-attribuut dat zoekmachines vertelt welke taal- en regioversies van een pagina beschikbaar zijn.
Hreflang is een HTML-attribuut (rel="alternate" hreflang="x") dat zoekmachines informeert over de taal- en regioversies van een pagina. Het voorkomt dat de verkeerde taalversie in zoekresultaten verschijnt en beschermt tegen duplicaatcontent-problemen bij meertalige websites.
Implementatiemethoden
Hreflang kan worden geïmplementeerd via HTML link-tags in de <head>, via HTTP-headers, of in de XML-sitemap — bibliotheekterm. Elke methode heeft voor- en nadelen; de sitemap-methode schaalt het best voor grote websites.
Veelgemaakte fouten
De meest voorkomende fout is ontbrekende return-tags: als pagina A naar pagina B verwijst, moet B ook terugverwijzen naar A. Andere fouten: verkeerde taalcodes gebruiken, hreflang niet combineren met canonical tags, en inconsistente URL's.
Codevoorbeeld: NL/EN site
<!-- Op de Nederlandse pagina (https://example.com/nl/over-ons/) -->
<head>
<link rel="canonical" href="https://example.com/nl/over-ons/" />
<link rel="alternate" hreflang="nl" href="https://example.com/nl/over-ons/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/about-us/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/en/about-us/" />
</head>
<!-- Op de Engelse pagina (https://example.com/en/about-us/) -->
<head>
<link rel="canonical" href="https://example.com/en/about-us/" />
<link rel="alternate" hreflang="nl" href="https://example.com/nl/over-ons/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/about-us/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/en/about-us/" />
</head>
Hreflang in XML Sitemap
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>https://example.com/nl/over-ons/</loc>
<xhtml:link rel="alternate" hreflang="nl" href="https://example.com/nl/over-ons/" />
<xhtml:link rel="alternate" hreflang="en" href="https://example.com/en/about-us/" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/en/about-us/" />
</url>
<url>
<loc>https://example.com/en/about-us/</loc>
<xhtml:link rel="alternate" hreflang="nl" href="https://example.com/nl/over-ons/" />
<xhtml:link rel="alternate" hreflang="en" href="https://example.com/en/about-us/" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/en/about-us/" />
</url>
</urlset>
Taalcodes referentietabel
| Taalcode | Taal | Met regio (voorbeeld) | Wanneer regio gebruiken |
|---|---|---|---|
| nl | Nederlands | nl-BE (Belgisch Nederlands) | Als je aparte content hebt voor NL en BE |
| en | Engels | en-US, en-GB | Als je aparte content hebt voor VS en VK |
| de | Duits | de-AT, de-CH | Als je aparte content hebt voor Duitsland, Oostenrijk of Zwitserland |
| fr | Frans | fr-BE, fr-CA | Bij aparte content voor Frankrijk, Belgie of Canada |
| es | Spaans | es-MX, es-AR | Bij aparte content voor Spanje vs Latijns-Amerika |
| pt | Portugees | pt-BR | Bij aparte content voor Portugal en Brazilie |
| it | Italiaans | it-IT | Zelden nodig, tenzij Zwitserse variant |
| ja | Japans | ja-JP | Regio is zelden nodig |
| zh | Chinees | zh-CN, zh-TW | Vereenvoudigd (CN) vs traditioneel (TW) |
| x-default | Standaard/fallback | n.v.t. | Altijd opnemen: verwijst naar de standaardversie voor niet-gematchte talen |
Veelgemaakte fouten
- Ontbrekende return-tags: als pagina NL naar pagina EN verwijst, moet EN ook terugverwijzen naar NL. Ontbrekende return-tags zorgen ervoor dat Google de hele hreflang-set negeert.
- Verkeerde taalcodes: gebruik ISO 639-1 taalcodes (twee letters).
hreflang="nl-NL"is geldig, maarhreflang="dutch"ofhreflang="ned"niet. - x-default vergeten: de x-default tag vertelt Google welke pagina te tonen als geen enkele taalversie overeenkomt. Zonder x-default kiest Google zelf, wat kan leiden tot de verkeerde taalversie.
- Inconsistente URL's: als je hreflang verwijst naar
https://example.com/nl/maar de canonical van die pagina ishttps://www.example.com/nl/, ontstaat een conflict. - Canonical en hreflang mixen: elke taalversie moet een self-referencing canonical hebben. Een canonical die cross-language verwijst (NL-canonical wijst naar EN) is fout.
- Hreflang op noindex-pagina's: als een pagina een noindex-tag heeft, negeert Google de hreflang-annotatie. Zorg dat alle pagina's in een hreflang-set indexeerbaar zijn.
Veelgestelde vragen
Wat is het verschil tussen hreflang en de lang-attribuut?
Het lang-attribuut op het <html>-element vertelt browsers welke taal de pagina-content heeft (voor accessibility en spraaksynthese). Hreflang vertelt zoekmachines welke alternatieve taalversies beschikbaar zijn. Beide zijn nodig maar dienen een ander doel.
Moet ik hreflang gebruiken als ik maar twee talen heb?
Ja, ook bij twee talen is hreflang belangrijk. Zonder hreflang kan Google de Nederlandse versie tonen aan Engelstalige gebruikers en andersom. Hreflang zorgt ervoor dat de juiste versie aan de juiste gebruiker wordt getoond.
Werkt hreflang bij Bing?
Bing ondersteunt hreflang maar geeft de voorkeur aan het content-language HTTP-header en de meta-tag. Voor optimale compatibiliteit kun je beide implementeren.
Hoe test ik of mijn hreflang correct is?
Gebruik tools als Ahrefs Site Audit, Screaming Frog of de gratis Hreflang Tags Testing Tool van Merkle. Controleer specifiek op ontbrekende return-tags, verkeerde taalcodes en inconsistente URL's.
Kan ik hreflang combineren met subdomeinen of aparte domeinen?
Ja. Hreflang werkt met subfolders (/nl/, /en/), subdomeinen (nl.example.com), en zelfs aparte domeinen (example.nl, example.com). De URL's moeten alleen consistent en bereikbaar zijn.
Wat checkt onze scanner?
Onze scanner controleert of je pagina een correct lang-attribuut heeft op het <html>-element, wat aangeeft dat je bewust met taalinstellingen omgaat. Dit is de basis voor correcte hreflang-implementatie en helpt zowel browsers als AI-bots de taal van je content te herkennen. Test je taalconfiguratie.