Vier regels die de set interpreteerbaar houden
Hreflang is een cluster van annotaties, dus fouten aan één kant kunnen van invloed zijn op hoe Google de relatie interpreteert. Google zegt dat ontbrekende retourlinks of anderszins ongeldige annotaties genegeerd of verkeerd geïnterpreteerd kunnen worden; het belooft niet dat één fout altijd het hele cluster ongeldig maakt.
- Volledig: elke versie in de groep noemt alle andere versies.
- Wederzijds: als X naar Y verwijst, moet Y terugwijzen naar X. Ontbrekende retourlinks kunnen ertoe leiden dat annotaties worden genegeerd of verkeerd worden geïnterpreteerd.
- Zelfverwijzend: elke pagina noemt zichzelf naast de andere.
- Geldig: de codes moeten te lezen zijn als echte taal- en regiocodes.
De wederkerigheidsregel is degene die teams vangt, omdat hreflang relaties tussen pagina's beschrijft in plaats van een eigenschap van één afzonderlijke pagina. Rol overeenkomstige retourlinks samen uit, zodat elke gepubliceerde relatie compleet is wanneer Google een van beide kanten crawlt.
Waar de annotaties horen
Er zijn drie plaatsingen en hun effect is gelijkwaardig. Kies er één en gebruik die overal — ze over een site door elkaar gebruiken is hoe sets half verklaard eindigen.
| Methode | Geschikt voor | Let op |
|---|---|---|
| HTML-link-elementen | Kleine tot middelgrote sites | Paginagewicht bij veel versies |
| HTTP-headers | PDF's en andere niet-HTML-bestanden | Groottelimieten van headers bij grote sets |
| Sitemap-vermeldingen | Grote sites, veel talen | Ze gelijk houden met de pagina's zelf |
<link rel="alternate" hreflang="en" href="https://example.com/guide/" />
<link rel="alternate" hreflang="de" href="https://example.com/de/guide/" />
<link rel="alternate" hreflang="pt-br" href="https://example.com/pt-br/guide/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/guide/" /> Merk op dat de Engelse pagina in dat voorbeeld zichzelf noemt. Dat is de zelfverwijzing, en het ontbreken ervan is verreweg het meest voorkomende gebrek in verder zorgvuldige implementaties — omdat ze overbodig oogt en voor wie het sjabloon opruimt op een fout lijkt.
Codes, en de codes die niet bestaan
De taal volgt ISO 639-1. Daarachter mag optioneel een streepje en een ISO 3166-1 Alpha 2-regio staan. Een regio alleen is nooit geldig: er is geen manier om te zeggen «deze pagina is voor Canada» zonder te zeggen in welke taal.
| Code | Oordeel | Waarom |
|---|---|---|
| nl | Geldig | Alleen taal — Nederlands, elke regio |
| nl-BE | Geldig | Nederlands zoals geschreven voor België |
| BE | Ongeldig | Regio zonder taal |
| uk | Geldig, maar niet het VK | uk is Oekraïens; het VK is GB |
| eu | Ongeldig als regio | De EU is geen landcode |
| en-UK | Ongeldig | De landcode voor het VK is GB |
Waar x-default voor dient
x-default vangt de talen op die u niet hebt opgesomd. Het is de terugval voor een bezoeker wiens taal met geen van uw versies overeenkomt, en zijn natuurlijke plek is een keuzepagina of een homepage die bezoekers zelf doorstuurt.
Het is geen manier om een hoofdversie aan te wijzen. x-default naar uw Engelse pagina laten wijzen omdat Engels als standaard aanvoelt, vertelt de zoekmachine dat een ongematchte Japanse of Turkse bezoeker Engels hoort te krijgen. Dat kan kloppen, en het verdient een bewuste beslissing in plaats van gewoonte.
Hreflang en canonical zijn verschillende taken
Deze twee raken vaker verstrengeld dan welk ander paar in technische SEO ook, en de faalvorm is ernstig. Een canonical zegt «indexeer deze andere URL in plaats van mij». Hreflang zegt «deze andere URL is dezelfde inhoud voor een andere doelgroep».
Laat de canonical van uw Duitse pagina naar de Engelse wijzen en u hebt de zoekmachine verteld dat de Duitse pagina helemaal niet geïndexeerd moet worden — wat haar uit de resultaten haalt en tegelijk de hreflang-set breekt die naar haar verwees. Elke gelokaliseerde pagina hoort naar zichzelf te canonicaliseren en haar zusters met hreflang te beschrijven.