Hreflang in WordPress stel je zelden met de hand in. Maak je je website meertalig met een vertaalplugin, dan schrijft die plugin de hreflang-tags voor je, en houdt hij ze bij zodra je een nieuwe pagina vertaalt. Het echte werk zit daarna in controleren of de tags kloppen, want een fout zie je aan de buitenkant van je website niet.
Hreflang vertelt Google welke taal- of regioversie van een pagina bij welke bezoeker past. Wil je eerst weten wat hreflang precies doet, lees dan die uitleg. Hier laat ik zien hoe je hreflang instelt in WordPress, met of zonder plugin, en hoe je in een paar minuten zelf nakijkt of alles goed staat.
Wat hreflang in WordPress voor je regelt
Stel, je hebt een tuincentrum met een Nederlandse webshop en een Engelse versie op een eigen .com-domein. Dan staat er in de broncode van de pagina over snoeischaren een set als deze, en precies dezelfde set staat op de Engelse pagina:
<link rel="alternate" hreflang="nl-NL" href="https://tuincentrum-sk.nl/snoeischaren/" />
<link rel="alternate" hreflang="nl" href="https://tuincentrum-sk.nl/snoeischaren/" />
<link rel="alternate" hreflang="en-GB" href="https://tuincentrum-sk.com/pruning-shears/" />
<link rel="alternate" hreflang="en" href="https://tuincentrum-sk.com/pruning-shears/" />
Daarmee helpt je website Google om een zoeker naar de meest passende versie van je pagina te sturen, op taal of op regio. Google kent drie manieren om hreflang op te geven, in de HTML van de pagina, in de HTTP-header en in de XML-sitemap. Voor Google zijn die drie gelijkwaardig. Handig om te weten is ook dat Google hreflang niet gebruikt om de taal van een pagina te herkennen. Dat doet Google zelf, met eigen algoritmes. Hreflang koppelt alleen de versies aan elkaar die je al hebt.
Hreflang instellen met een vertaalplugin
Een vertaalplugin weet welke pagina bij welke vertaling hoort, en dat maakt hem de beste plek voor je hreflang. Elke keer dat je een pagina toevoegt of vertaalt, werkt de plugin de set bij op alle taalversies tegelijk. Met de hand lukt dat bij drie pagina’s nog, bij driehonderd producten niet meer. Wil je eerst de keuze maken hoe je je website vertalen aanpakt, dan lees je daar welke route bij jou past.
TranslatePress zet de tags automatisch, ook in de gratis versie
Zelf werk ik met TranslatePress, ook bij de webshop waar ik verderop over vertel. Die plugin voegt hreflang automatisch toe voor elke taal op je website, en dat zit ook in de gratis versie. Voor alleen goede hreflang-tags heb je dus geen betaald pakket nodig.
In het tabblad Geavanceerd, onder Diverse opties, staat de instelling Dubbele hreflang verwijderen. Daar kies je welke codes TranslatePress uitschrijft, de code met land (zoals en-GB), de algemene taalcode (en), of allebei. Standaard staat Toon beide aan, en TranslatePress zet daar zelf “aanbevolen” bij.
Dat sluit aan bij wat Google adviseert. Heb je versies voor specifieke regio’s, dan is het volgens Google slim om ook een algemene versie voor alle sprekers van die taal op te geven, en dat mag een van die regioversies zijn. Een Engelstalige bezoeker uit Ierland valt dan onder en, ook al heb je alleen een Britse versie. Laat die standaardinstelling dus gewoon staan.
Op hetzelfde tabblad staat Schakel de hreflang x‑default tag in voor taal. Daarmee zet je een x‑default aan en kies je naar welke taal die wijst. Ook die instelling zit in de gratis versie. Daarover lees je verderop meer.
Zet je elke taal op een eigen domein, zoals bij het tuincentrum hierboven, dan heb je de add-on Different Domain per Language nodig. Die zit in de pakketten Business en Developer. Voor een meertalige sitemap is er de add-on SEO Pack, die in alle drie de betaalde pakketten zit. SEO Pack breidt de sitemap van je SEO-plugin uit met al je vertaalde content, en werkt samen met onder meer Yoast, Rank Math, SEOPress en AIOSEO. Wil je zien wat de plugin verder kan, lees dan mijn ervaring met TranslatePress, of bekijk TranslatePress en de pakketten. Dit is een affiliatelink: koop je via mij, dan krijg ik een vergoeding.
WPML regelt hreflang in elk pakket
WPML voegt de hreflang-tags automatisch toe aan je originele en vertaalde pagina’s, en werkt ze bij als je talen toevoegt of content vertaalt. Dat zit in alle WPML-pakketten. De tags komen op twee plekken te staan, in de <head> van elke pagina, met één tag per taalversie plus een x‑default, en in de XML-sitemap als je Yoast SEO of Rank Math gebruikt.
Polylang doet het ook, met een eigen aanpak voor x‑default
Volgens Polylang zelf zet de plugin de hreflang-tags automatisch, zonder dat je iets hoeft te doen. Een x‑default plaatst Polylang alleen op de homepage waarvan bezoekers automatisch naar hun taal worden doorgestuurd. Wil je x‑default ook op andere pagina’s, dan kan dat met een codefragment dat Polylang zelf aanreikt, op basis van de filter pll_rel_hreflang_attributes. Die informatie komt uit een artikel van Polylang uit 2023, dus kijk na installatie in de paginabron hoe het er bij jou uitziet.
De drie plugins naast elkaar
| Plugin | Zet hreflang automatisch | x‑default | Hreflang in de sitemap | Eigen domein per taal |
|---|---|---|---|---|
| TranslatePress | Ja, ook in de gratis versie | Instelling, je kiest de taal | Meertalige sitemap met de add-on SEO Pack | Add-on Different Domain per Language, in Business en Developer |
| WPML | Ja, in alle pakketten | Ja, automatisch | Ja, samen met Yoast SEO of Rank Math | Ja, via de URL-optie voor een eigen domein per taal |
| Polylang | Ja, volgens Polylang | Alleen op de doorgestuurde homepage, verder via een filter | Niet gecontroleerd | Niet gecontroleerd |
Twijfel je tussen de eerste twee, dan zet ik ze in TranslatePress en WPML vergeleken uitgebreider naast elkaar.
Hreflang met de hand toevoegen als je geen vertaalplugin gebruikt
Soms staan je taalversies op aparte WordPress-installaties, of in een multisite zonder vertaalplugin. Dan weet geen enkele plugin vanzelf welke pagina’s bij elkaar horen, en leg je die koppeling zelf.
De eenvoudigste route is een plugin die alleen hreflang doet, zoals Hreflang Manager Lite. Die is gratis, werkt tussen verschillende websites en tussen de subsites van een WordPress-netwerk, en koppelt tot tien alternatieve versies per koppeling. Er zit ook een tag inspector in, waarmee je ziet wat er op een pagina staat.
Je kunt de tags ook met code in de <head> zetten, via de functions.php van je child theme:
add_action( 'wp_head', function () {
if ( ! is_front_page() ) {
return;
}
echo '<link rel="alternate" hreflang="nl" href="https://tuincentrum-sk.nl/" />' . "\n";
echo '<link rel="alternate" hreflang="en" href="https://tuincentrum-sk.com/" />' . "\n";
} );
Dit werkt, maar je moet dan zelf zorgen dat elke taalversie zichzelf en alle andere versies noemt, met een volledige URL. Die set moet op elke versie identiek zijn, en dat gaat mis bij de eerste nieuwe pagina die je vergeet toe te voegen. Voor een paar vaste pagina’s is het prima, voor een webshop is een plugin de betere keuze.
Welke taalcode je kiest, en waarom UK niet werkt
Google ondersteunt alleen taalcodes uit ISO 639-1, eventueel aangevuld met een regiocode uit ISO 3166-1 Alpha 2. Eerst de taal, dan het land. Alleen een landcode opgeven kan niet. Hoofdletters maken niet uit, en-gb en en-GB betekenen voor Google hetzelfde.
De meeste fouten zitten in een paar codes die logisch lijken, maar het niet zijn.
| Wat je schrijft | Werkt het? | Waarom |
|---|---|---|
nl | Ja | Nederlands, voor elk land |
nl-BE | Ja | Nederlands voor bezoekers in België |
en-GB | Ja | Engels voor het Verenigd Koninkrijk |
en-UK | Deels | Google negeert het deel UK, want de regiocode is GB, dus je richt je niet op het Verenigd Koninkrijk |
be | Nee | be is de taalcode van Wit-Russisch, niet van België |
es-419 | Nee | Geen code uit ISO 3166-1 Alpha 2, dus niet ondersteund |
x-default | Ja | De terugval voor bezoekers voor wie geen taalversie past |
Die en-UK komt vaker voor dan je denkt, zelfs de documentatie van TranslatePress gebruikt hem als voorbeeld. Bij de webshop waar ik verderop over vertel, schreef de plugin netjes en-GB uit. Kijk dus naar wat er echt in je broncode staat. Een volledige lijst met codes vind je in de uitleg over hreflang.
Zo controleer je of je hreflang klopt
Een plugin die hreflang belooft, is een goed begin. Zelf nakijken kost je een paar minuten en geeft je zekerheid.
In de paginabron
Open een vertaalde pagina, bekijk de paginabron met Ctrl+U op Windows of Cmd+Option+U op een Mac, en zoek op “hreflang”. Je ziet dan de hele set. Let erop dat de tags in de <head> van de pagina staan, want daar zoekt Google ze.
Van twee kanten
Open daarna de andere taalversie en doe hetzelfde. Daar moet precies dezelfde set staan, met een verwijzing terug naar de pagina waar je begon. Google is hier streng in. Wijzen twee pagina’s niet allebei naar elkaar, dan negeert Google de tags.
In de sitemap
Gebruikt je plugin ook de sitemap, dan staat daar per URL een reeks xhtml:link-regels. Elke URL moet alle taalversies noemen, inclusief zichzelf. Google zegt dat hreflang in de HTML en in de sitemap tegelijk geen extra voordeel geeft. Schrijft je plugin ze allebei vanuit dezelfde gegevens, dan is dat geen probleem. Bouw er alleen zelf geen tweede route naast.
Met een tool
Google noemt zelf twee externe hulpmiddelen, de hreflang tags generator van Aleyda Solis en de hreflang-testtool van Merkle. Google onderhoudt die tools niet, dus zie ze als hulp bij het zoeken, en de paginabron als de waarheid. In Search Console vind je geen hreflang-rapport meer. Het rapport Internationale targeting is opgeheven, maar Google blijft hreflang wel gebruiken. Hoort hreflang bij een grotere controle van je website, dan past dat in technische SEO.
Loop deze punten na op een pagina van elke taal.
- Elke taalversie noemt zichzelf
- Elke taalversie noemt alle andere taalversies
- Elke URL is volledig en begint met https://
- De codes volgen ISO, dus
GBen geenUK - De tags staan in de
<head> - De canonical wijst naar een pagina in dezelfde taal
- Je hebt bewust gekozen of je een x‑default wilt
De fouten die je hreflang ongemerkt uitschakelen
Hreflang geeft geen foutmelding. Je website werkt gewoon, en je merkt het pas als Google de verkeerde versie laat zien. Op deze vijf let je het best.
Een verwijzing die maar één kant op gaat
Google zet een ontbrekende terugverwijzing bovenaan de lijst met veelgemaakte fouten. Wijst pagina X naar pagina Y, dan moet Y ook terugwijzen naar X. Gebeurt dat niet, dan worden de tags mogelijk genegeerd of verkeerd gelezen.
Een hreflang die maar één kant op wijst, bestaat voor Google niet.
Een canonical die naar de andere taal wijst
Google vraagt om een canonical in dezelfde taal. Een Engelse pagina met een canonical naar de Nederlandse versie spreekt de hreflang dus tegen. Een vertaling is voor Google ook geen dubbele content, zolang de hoofdcontent echt vertaald is. Laat elke taalversie daarom naar zichzelf verwijzen. Hoe je dat doet, lees je in een canonical goed instellen.
Relatieve of http-URL’s
Google wil in hreflang volledige URL’s, inclusief https://. Een relatief pad als /snoeischaren/ telt niet. Zet ook geen http-versies van je pagina’s in je hreflang, alleen de https-versie.
Een verkeerde of verzonnen landcode
Bij en-UK negeert Google het deel UK, be betekent Wit-Russisch en een losse landcode zonder taal werkt niet. De tabel hierboven laat zien hoe het wel moet.
Twee plugins die allebei hreflang schrijven
Google zegt dat de set op elke versie identiek moet zijn, en dat meerdere methodes naast elkaar niets opleveren en lastiger te beheren zijn. Zet je naast je vertaalplugin nog een aparte hreflang-plugin aan, dan krijg je twee bronnen die elkaar kunnen tegenspreken. Mijn advies is om het aan één plugin over te laten, en in de paginabron te controleren dat je geen dubbele sets ziet.
Hoe het bij Stof voor Design uitpakte
De webshop van Stof voor Design verkoopt restanten design meubelstof van topmerken als Kvadrat en De Ploeg. Die webshop heb ik met TranslatePress meertalig gemaakt, met de Engelse versie op een eigen .com-domein. Hoe je kiest tussen een eigen domein of submap per taal, lees je in een apart artikel.
De hreflang staat goed, van twee kanten. Op beide domeinen staan dezelfde vier tags, nl-NL en nl naar stofvoordesign.nl, en-GB en en naar het .com-domein. Elke homepage heeft een canonical naar zichzelf. De tags staan zowel in de <head> als in de productsitemap, met dezelfde vier varianten per URL. Google indexeert beide versies met een eigen canonieke URL, en ziet de Engelse versie dus niet als duplicaat.
Er is wel een eerlijk leerpunt, want er staat geen x‑default. Van 10 juli tot en met 21 september 2026 kwam 81% van de 1.049 klikken op het Engelse domein van buiten Nederland en België, blijkt uit Search Console. Voor een Duitser of een Fransman is Engels dan de logische terugval. De Engelse versie werd ook zonder x‑default goed vindbaar, met een gemiddelde positie die van 18,5 in juli naar 10,7 in september ging (tot en met de 21e). Toch noemt Google x‑default aanbevolen, dus dit staat op mijn lijst om te verbeteren.
Heb je x‑default nodig?
Google noemt x‑default aanbevolen als terugval voor bezoekers van wie de taalinstelling bij geen enkele versie van je website past. Je mag hem op elke pagina gebruiken, maar hij is ontworpen voor taalkeuzepagina’s en werkt daar het best. Aanbevolen is iets anders dan verplicht, en een ontbrekende x‑default schakelt je andere hreflang-tags niet uit.
Zonder x‑default kiest Google zelf welke versie het toont, zo beschrijft WPML het in de eigen documentatie. Met twee talen kom je meestal uit bij een simpele keuze. Laat x‑default wijzen naar de versie die bezoekers van buiten je talen het best helpt, en dat is vaak Engels.
Wil je dat je meertalige website vanaf het begin zo staat, met hreflang die klopt en vertalingen die vindbaar zijn? Dan help ik je graag met een meertalige WordPress-website laten maken, zodat je vindbaarheid in het buitenland meegroeit met je talen.
Veelgestelde vragen
Ja. TranslatePress voegt de hreflang-tags automatisch toe voor elke taal op je website, en dat zit ook in de gratis versie uit de WordPress-pluginbibliotheek.
Ja. Google zegt letterlijk dat de alternatieve URL's niet op hetzelfde domein hoeven te staan. Een Nederlandse versie op een .nl-domein en een Engelse op een .com-domein werkt dus prima, zolang beide versies naar elkaar verwijzen.
Nee. Google leest de hreflang-waarde zonder onderscheid tussen hoofdletters en kleine letters. De hoofdletters in en-GB zijn alleen de gebruikelijke schrijfwijze van de ISO-standaard.
Niet meer met een eigen rapport. Google heeft het rapport Internationale targeting opgeheven, maar blijft hreflang wel gebruiken. Controleer je tags in de paginabron of met een testtool.
Nee. Als twee pagina's niet allebei naar elkaar verwijzen, negeert Google de hreflang-tags. De verwijzing moet van twee kanten kloppen.