Direct naar de inhoud

Cookie-instellingen

Kies per soort welke cookies je toestaat. Je kunt je keuze altijd wijzigen via Cookie-instellingen onderaan elke pagina. Privacyverklaring

Noodzakelijk

Altijd aan

Nodig om in te loggen, je winkelwagen te bewaren en je keuzes te onthouden. Deze staan altijd aan.

Welke cookies?
  • weboke_sessie, weboke_klant, weboke_remember: je sessie en ingelogd blijven
  • weboke_basket: je winkelwagen
  • wkBtwIncl: prijzen met of zonder btw tonen
  • wok_cookies: je cookiekeuze, 12 maanden

Meet welke advertentie tot een bezoek of bestelling leidt, zodat we niet betalen voor advertenties die niets doen.

Welke cookies?
  • Google Ads via Google Tag Manager (_gcl_au, _gcl_aw), tot 90 dagen
  • OpenAI Ads, advertenties in ChatGPT
  • wok_aff: via welke partner je bij ons kwam (affiliateprogramma), 60 dagen

4,6

Land en taal

Elk land heeft zijn eigen site, met prijzen en btw van dat land.

Bekijken

Meertalige sites en hreflang

Module 3: De technische basis van een pagina · Leestijd: 12 minuten

Leerdoel: Na deze les kun je hreflang correct opzetten voor een site in meer talen of voor meer landen, en controleren of de verwijzingen wederkerig zijn.

Kernbegrippen: taalversie, hreflang, taalcode (ISO 639-1), landcode (ISO 3166-1 alpha-2), schriftcode (ISO 15924), x-default, wederkerigheid (terugverwijzing), verwijzing naar zichzelf, HTML, HTTP-kopregel of sitemap, aparte adressen per taal, niet automatisch doorsturen op taal, lang-attribuut

Het probleem: welke versie laat je zien?

Bloemenatelier Lotte groeit. Er komt een Engelse versie van de site voor toeristen en expats, en een Duitse voor klanten net over de grens. Dezelfde pagina met bruidsboeketten bestaat nu drie keer:

https://www.example.com/bruidsboeketten          (Nederlands)
https://www.example.com/en/bridal-bouquets       (Engels)
https://www.example.com/de/brautstraeusse        (Duits)

Een zoekmachine moet bij elke zoekopdracht kiezen welke van de drie hij laat zien. Iemand in Keulen die in het Duits zoekt, hoort de Duitse versie te krijgen, niet de Nederlandse. Met hreflang vertel je de zoekmachine welke pagina's taalversies van elkaar zijn en voor welke taal of welk land elke versie bedoeld is.

hreflang is geen rankingtruc. Het zorgt er alleen voor dat de juiste versie op de juiste plek verschijnt. En het is geen taalherkenning: Google schrijft dat hij hreflang en het lang-attribuut van HTML niet gebruikt om de taal van een pagina te bepalen; dat doet hij zelf, uit de tekst. Zet het lang-attribuut (<html lang="nl">) wel goed, voor browsers, vertaalprogramma's en schermlezers.

Eerst de basis: aparte adressen

Google raadt een eigen adres per taalversie aan, en raadt af de taal te wisselen met cookies of browserinstellingen op hetzelfde adres. De reden is praktisch: Googlebot crawlt meestal vanuit de Verenigde Staten. Verandert de inhoud op één adres naar gelang wie er kijkt, dan ziet Googlebot misschien maar één versie.

Om dezelfde reden: stuur bezoekers niet automatisch door naar een andere taalversie op basis van hun taal of locatie. Google raadt dat uitdrukkelijk af. Een Nederlander op vakantie in Duitsland wil de Nederlandse site; zet liever een duidelijke taalkeuze op de pagina en laat iedereen alle versies bereiken.

Gebruik je landen in plaats van talen, met aparte domeinen zoals example.de en example.nl, dan geldt hetzelfde. De versies hoeven niet op hetzelfde domein te staan.

Hoe hreflang eruitziet

In de <head> van elke taalversie staat dezelfde set regels:

<link rel="alternate" hreflang="nl" href="https://www.example.com/bruidsboeketten">
<link rel="alternate" hreflang="en" href="https://www.example.com/en/bridal-bouquets">
<link rel="alternate" hreflang="de" href="https://www.example.com/de/brautstraeusse">
<link rel="alternate" hreflang="x-default" href="https://www.example.com/bruidsboeketten">

Vier regels die je moet kennen:

  1. Elke versie noemt zichzelf én alle andere. De Engelse pagina heeft dus precies dezelfde vier regels, inclusief de regel voor en die naar zichzelf wijst.
  2. Verwijzingen moeten wederkerig zijn. Wijst de Nederlandse pagina naar de Duitse, dan moet de Duitse terugwijzen naar de Nederlandse. Google zegt: als twee pagina's niet allebei naar elkaar wijzen, worden de verwijzingen genegeerd. Dat is de meest gemaakte fout, en daarom controleert de opdracht van deze les het.
  3. Volledige adressen. Met https:// erbij. Een pad als /en/bridal-bouquets of //www.example.com/en/... telt niet.
  4. In een nette <head>. De regels staan in de <head> van de HTML. Breekt iets eerder in de head af, bijvoorbeeld een losse <img> of <div> die daar niet hoort, dan kan een zoekmachine de head als afgesloten zien en de rest missen.

De codes

De waarde van hreflang is een taalcode, eventueel met een landcode erachter:

CodeBetekenis
nlNederlands, voor iedereen die Nederlands spreekt
nl-BENederlands voor België
de-ATDuits voor Oostenrijk
en-GBEngels voor het Verenigd Koninkrijk
zh-HantChinees in traditioneel schrift (schriftcode ISO 15924)
x-defaultDe terugvalpagina: voor iedereen bij wie geen andere versie past

De taalcode komt uit ISO 639-1 (twee letters), de landcode uit ISO 3166-1 alpha-2. Hoofdletters maken niet uit, maar de gewoonte is taal klein, land groot. Drie valkuilen:

  • Alleen een land kan niet. hreflang="be" betekent Wit-Russisch (de taalcode be), niet België. Een land staat altijd achter een taal: nl-BE of fr-BE.
  • en-UK bestaat niet. De landcode van het Verenigd Koninkrijk is GB. Google schrijft dat codes als EU, UN of UK geen effect hebben.
  • Gebruik een land alleen als de versies echt verschillen (andere prijzen, valuta, bezorging, spelling). Heb je één Duitse versie voor iedereen, gebruik dan gewoon de.

x-default

x-default is optioneel. Je wijst er de pagina mee aan voor bezoekers bij wie geen van je versies past, bijvoorbeeld iemand die Frans spreekt. Vaak is dat je hoofdtaal of een pagina waar de bezoeker zelf een taal kiest.

Drie manieren, kies er één

Google kent drie gelijkwaardige manieren om hreflang op te geven:

  1. In de HTML, met <link>-regels in de head, zoals hierboven. Het meest gebruikt.
  2. Als HTTP-kopregel Link, handig voor bestanden zonder HTML, zoals een pdf:

    Link: <https://www.example.com/en/price-list.pdf>; rel="alternate"; hreflang="en"
  3. In de sitemap, met xhtml:link-regels per <url>. Handig voor grote sites, omdat de pagina's dan niet zwaarder worden.

Je hoeft ze niet te combineren. Gebruik je er meer, dan moeten ze precies hetzelfde zeggen.

hreflang en canonical samen

hreflang en canonical (les 3.5) werken samen, maar haal ze niet door elkaar:

  • Elke taalversie heeft een canonical naar zichzelf. De Engelse pagina is geen kopie van de Nederlandse, dus hij wijst niet naar de Nederlandse als canoniek adres. Doe je dat wel, dan zeg je "de Engelse pagina bestaat eigenlijk niet", en valt hij uit de index.
  • De adressen in hreflang zijn de canonieke adressen van de versies. Wijst hreflang naar een adres dat doorstuurt, een 404 geeft, noindex heeft of een canonical naar elders heeft, dan breekt de groep.

Google kiest bij het bepalen van het canonieke adres liever adressen die deel uitmaken van een hreflang-groep. Een nette groep helpt dus ook je canonicalisatie.

In de praktijk: laat het systeem het doen

hreflang met de hand bijhouden is foutgevoelig: bij tien talen en honderd pagina's zijn het duizend regels die allemaal moeten kloppen. Laat het je websitesysteem doen. De AI Builder van WebOké zet bij een meertalige site op elke pagina hreflang-verwijzingen naar dezelfde pagina in de andere talen, plus een x-default naar de hoofdtaal, en laat een pagina zonder vertaalde tegenhanger bewust weg uit de groep. In WordPress doen meertalige plugins hetzelfde. Bij andere websitebouwers vind je het onder namen als "talen" of "internationaal". Controleer daarna zelf of de verwijzingen heen en terug kloppen; dat doet de opdracht.

Samenvatting

  • hreflang vertelt welke pagina's taal- of landversies van elkaar zijn; het herkent geen taal en is geen rankingtruc.
  • Elke versie een eigen adres, geen automatisch doorsturen op taal of locatie.
  • Elke versie noemt zichzelf en alle andere, met volledige adressen, en elke verwijzing moet terugkomen; anders negeert Google hem.
  • Codes: taal uit ISO 639-1, eventueel met land uit ISO 3166-1 alpha-2 (en-GB, niet en-UK); x-default voor de rest.
  • Elke versie heeft een canonical naar zichzelf; hreflang wijst alleen naar canonieke adressen die 200 geven.

Quiz

1. De Nederlandse pagina wijst met hreflang naar de Duitse, maar de Duitse wijst niet terug. Wat doet Google?



2. Welke hreflang-waarde is goed voor een Engelse versie bedoeld voor het Verenigd Koninkrijk?



3. Wat is de juiste canonical op de Engelse versie https://www.example.com/en/bridal-bouquets?



4. Je site stuurt Duitse bezoekers automatisch van de Nederlandse naar de Duitse versie. Wat zegt Google daarover?



5. Waarvoor dient hreflang="x-default"?



Opdracht

Opdracht A3.6: Zijn je hreflang-verwijzingen wederkerig? Vul het adres in van een pagina die in meer talen bestaat. Het programma verzamelt de hreflang-verwijzingen uit de head en de Link-kopregel, controleert de codes en de verwijzing naar zichzelf, haalt elke andere taalversie op en kijkt of die terugwijst, 200 geeft, geen noindex heeft en een canonical naar zichzelf. Geen eigen meertalige site? Gebruik https://european-union.europa.eu/index_nl.

Opdracht A3.6: Zijn je hreflang-verwijzingen wederkerig?


Wat je invult en wat we vinden, slaan we niet op. Je browser onthoudt je antwoorden en of je de opdracht hebt gehaald. Ben je aangemeld, dan bewaren we alleen dat je de opdracht (bijna) goed had in Mijn cursussen; daar kun je het ook verwijderen.

Verder lezen

Even geduld…

Stel je domeinen in

Regel per domein de nameservers, de koppeling aan je hosting en wie de eigenaar wordt.

Je domeinen laden…