Modul 3 · 3.6
Flersprogede sites og hreflang
Modul 3: Det tekniske grundlag for en side · Læsetid: 12 minutter
Læringsmål: Efter denne lektion kan du sætte hreflang korrekt op for et site på flere sprog eller til flere lande, og tjekke, om henvisningerne er gensidige.
Nøglebegreber: sprogversion, hreflang, sprogkode (ISO 639-1), landekode (ISO 3166-1 alpha-2), skriftkode (ISO 15924), x-default, gensidighed (henvisning tilbage), henvisning til sig selv, HTML, HTTP-header eller sitemap, separate adresser pr. sprog, ingen automatisk viderestilling efter sprog, lang-attribut
Problemet: hvilken version skal vises?
Bloemenatelier Lotte vokser. Der kommer en engelsk version af sitet til turister og expats og en tysk til kunderne lige på den anden side af grænsen. Den samme side med brudebuketter findes nu tre gange:
https://www.example.com/bruidsboeketten (nederlandsk)
https://www.example.com/en/bridal-bouquets (engelsk)
https://www.example.com/de/brautstraeusse (tysk)En søgemaskine skal ved hver søgning vælge, hvilken af de tre den viser. En person i Köln, der søger på tysk, bør få den tyske version, ikke den nederlandske. Med hreflang fortæller du søgemaskinen, hvilke sider der er sprogversioner af hinanden, og hvilket sprog eller land hver version er beregnet til.
hreflang er ikke et rankingtrick. Det sørger kun for, at den rigtige version vises det rigtige sted. Og det er ikke sproggenkendelse: Google skriver, at den ikke bruger hreflang og HTML's lang-attribut til at bestemme en sides sprog; det gør den selv ud fra teksten. Sæt alligevel lang-attributten (<html lang="nl">) korrekt, for browsere, oversættelsesprogrammer og skærmlæsere.
Først det grundlæggende: separate adresser
Google anbefaler en egen adresse pr. sprogversion og fraråder at skifte sprog med cookies eller browserindstillinger på samme adresse. Grunden er praktisk: Googlebot crawler som regel fra USA. Ændrer indholdet på én adresse sig efter, hvem der kigger, ser Googlebot måske kun én version.
Af samme grund: send ikke besøgende automatisk videre til en anden sprogversion ud fra deres sprog eller placering. Det fraråder Google udtrykkeligt. En hollænder på ferie i Tyskland vil have det nederlandske site; sæt hellere et tydeligt sprogvalg på siden, og lad alle nå alle versioner.
Bruger du lande i stedet for sprog, med separate domæner som example.de og example.nl, gælder det samme. Versionerne behøver ikke at ligge på det samme domæne.
Sådan ser hreflang ud
I <head> på hver sprogversion står det samme sæt linjer:
<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">Fire regler, du skal kende:
- Hver version nævner sig selv og alle de andre. Den engelske side har altså præcis de samme fire linjer, inklusive linjen for
en, der peger på sig selv. - Henvisningerne skal være gensidige. Peger den nederlandske side på den tyske, skal den tyske pege tilbage på den nederlandske. Google siger: hvis to sider ikke begge peger på hinanden, ignoreres henvisningerne. Det er den mest almindelige fejl, og derfor tjekker opgaven i denne lektion det.
- Fulde adresser. Med
https://. En sti som/en/bridal-bouquetseller//www.example.com/en/...tæller ikke. - I en pæn
<head>. Linjerne står i HTML'ens<head>. Bryder noget tidligere i head af, for eksempel et løst<img>eller<div>, der ikke hører til der, kan en søgemaskine se head som afsluttet og gå glip af resten.
Koderne
Værdien af hreflang er en sprogkode, eventuelt efterfulgt af en landekode:
| Kode | Betydning |
|---|---|
nl | Nederlandsk, for alle, der taler nederlandsk |
nl-BE | Nederlandsk til Belgien |
de-AT | Tysk til Østrig |
en-GB | Engelsk til Storbritannien |
zh-Hant | Kinesisk med traditionelle tegn (skriftkode ISO 15924) |
x-default | Reservesiden: for alle, som ingen anden version passer til |
Sprogkoden kommer fra ISO 639-1 (to bogstaver), landekoden fra ISO 3166-1 alpha-2. Store og små bogstaver er ligegyldige, men skikken er sprog med småt, land med stort. Tre faldgruber:
- Kun et land går ikke.
hreflang="be"betyder hviderussisk (sprogkodenbe), ikke Belgien. Et land står altid efter et sprog:nl-BEellerfr-BE. en-UKfindes ikke. Landekoden for Storbritannien erGB. Google skriver, at koder somEU,UNellerUKingen effekt har.- Brug kun et land, hvis versionerne virkelig er forskellige (andre priser, valuta, levering, stavning). Har du én tysk version til alle, så brug bare
de.
x-default
x-default er valgfri. Med den udpeger du siden til besøgende, som ingen af dine versioner passer til, for eksempel en, der taler fransk. Ofte er det dit hovedsprog eller en side, hvor den besøgende selv vælger sprog.
Tre måder, vælg én
Google kender tre ligeværdige måder at angive hreflang på:
- I HTML'en, med
<link>-linjer i head, som ovenfor. Den mest brugte. Som HTTP-header
Link, praktisk til filer uden HTML, som en pdf:Link: <https://www.example.com/en/price-list.pdf>; rel="alternate"; hreflang="en"- I sitemappet, med
xhtml:link-linjer pr.<url>. Praktisk til store sites, fordi siderne så ikke bliver tungere.
Du behøver ikke at kombinere dem. Bruger du flere, skal de sige præcis det samme.
hreflang og canonical sammen
hreflang og canonical (lektion 3.5) arbejder sammen, men bland dem ikke sammen:
- Hver sprogversion har en canonical til sig selv. Den engelske side er ikke en kopi af den nederlandske, så den peger ikke på den nederlandske som kanonisk adresse. Gør du det alligevel, siger du "den engelske side findes egentlig ikke", og så falder den ud af indekset.
- Adresserne i hreflang er versionernes kanoniske adresser. Peger hreflang på en adresse, der viderestiller, giver 404, har noindex eller har en canonical til et andet sted, så går gruppen i stykker.
Når Google bestemmer den kanoniske adresse, foretrækker den adresser, der indgår i en hreflang-gruppe. En pæn gruppe hjælper altså også din kanonisering.
I praksis: lad systemet gøre det
At vedligeholde hreflang i hånden giver let fejl: med ti sprog og hundrede sider er det tusind linjer, der alle skal passe. Lad dit websitesystem gøre det. WebOkés AI Builder sætter på et flersproget site hreflang-henvisninger på hver side til den samme side på de andre sprog, plus en x-default til hovedsproget, og udelader bevidst en side uden oversat modstykke fra gruppen. I WordPress gør flersprogede plugins det samme. Hos andre websitebyggere finder du det under navne som "sprog" eller "internationalt". Tjek derefter selv, om henvisningerne passer frem og tilbage; det gør opgaven.
Opsummering
- hreflang fortæller, hvilke sider der er sprog- eller landeversioner af hinanden; det genkender ikke sprog og er ikke et rankingtrick.
- Hver version sin egen adresse, ingen automatisk viderestilling efter sprog eller placering.
- Hver version nævner sig selv og alle de andre med fulde adresser, og hver henvisning skal komme tilbage; ellers ignorerer Google den.
- Koder: sprog fra ISO 639-1, eventuelt med land fra ISO 3166-1 alpha-2 (
en-GB, ikkeen-UK);x-defaulttil resten. - Hver version har en canonical til sig selv; hreflang peger kun på kanoniske adresser, der giver 200.
Quiz
Opgave
Opgave A3.6: Er dine hreflang-henvisninger gensidige? Indtast adressen på en side, der findes på flere sprog. Programmet samler hreflang-henvisningerne fra head og fra Link-headeren, tjekker koderne og henvisningen til sig selv, henter hver anden sprogversion og ser, om den peger tilbage, giver 200, ikke har noindex og har en canonical til sig selv. Har du ikke selv et flersproget site? Brug https://european-union.europa.eu/index_nl.
Læs mere
- Google Search Central, Fortæl Google om lokaliserede versioner af din side: https://developers.google.com/search/docs/specialty/international/localized-versions
- Google Search Central, Administrer flersprogede og internationale sites: https://developers.google.com/search/docs/specialty/international/managing-multi-regional-sites
- Google Search Central, Saml dublerede URL'er: https://developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls
- ISO 639-sprogkoder (Library of Congress): https://www.loc.gov/standards/iso639-2/php/code_list.php
