Codes de langue Hreflang : la liste complète et les règles

La référence complète des codes de langue et de région hreflang valides, avec les règles de format de Google, x-default, les codes de script et les erreurs de code qui brisent hreflang.
Aucune carte bancaire requise Sans engagement

· Mis à jour · Alex B · Blogue

Résumez ce post avec : 22 min de lecture

Une valeur hreflang est une valeur à deux lettres Code de langue ISO 639-1 (par exemple fr), éventuellement suivi d'un trait d'union et d'une lettre de deux lettres Code régional alpha-2 ISO 3166-1 (par exemple fr-CA pour les francophones au Canada). La langue passe toujours en premier, une région ne peut jamais être utilisée seule et la valeur réservée x-default marque la page de secours. Google ne prend pas en charge d'autres systèmes de codes, donc les indicatifs régionaux UN M.49 tels que es-419 car les Espagnols d’Amérique latine sont ignorés.

Principaux points à retenir

  • Format: language ou language-REGION, par exemple de, de-AT, pt-BR. La casse n'a pas d'importance pour Google, mais la langue minuscule et la région majuscule sont la convention.
  • Utilisez la norme ISO 639-1 pour la langue et la norme ISO 3166-1 alpha-2 pour la région. Rien d’autre n’est pris en charge, y compris es-419, en-UK et en-EU.
  • Une sous-étiquette de script de la norme ISO 15924 est autorisée lorsque vous en avez besoin : zh-Hans, zh-Hant, sr-Latn.
  • Chaque page d'un ensemble doit se répertorier elle-même et toutes ses alternatives, et chaque alternative doit créer un lien retour.
  • Ajouter x-default pour la page que vous souhaitez que les gens voient lorsqu'aucune langue ou région répertoriée ne correspond.

Les listes complètes des codes de langue et des codes de région valides se trouvent plus bas sur cette page. Les règles proviennent de la propre documentation de Google, Informez Google des versions localisées de votre page, que Google a mis à jour pour la dernière fois le 21 septembre 2026.

Comment un code hreflang est construit

Une valeur hreflang comporte jusqu'à trois parties, séparées par des tirets :

PartieStandardObligatoire ?Exemples
LangueISO 639-1 (deux lettres)Oui, toujours en premieren, es, ja, ar
ScriptISO 15924 (quatre lettres)FacultatifHans, Hant, Latn, Cyrl
RégionISO 3166-1 alpha-2 (deux lettres)FacultatifUS, GB, MX, BR

Donc tout cela est valable : en, en-GB, zh-Hant, zh-Hant-TW, sr-Latn. La première partie doit être une langue. Comme le dit la documentation de Google, vous ne pouvez pas spécifier le code du pays par lui-même. Son exemple est la Belgique : nl-BE (néerlandais pour les utilisateurs en Belgique) et de-BE (allemand pour les utilisateurs en Belgique) sont corrects, tandis que be à lui seul signifie biélorusse et non belge.

Google affirme également que la valeur n'est pas sensible à la casse. en-gb, EN-GB et en-GB tout le travail. La plupart des équipes écrivent la langue en minuscules et la région en majuscules, car c'est ainsi que les listes ISO les impriment, ce qui rend les erreurs plus faciles à repérer lors de la révision du code.

Langue uniquement ou langue plus région ?

Utiliser un langue uniquement code (es) lorsqu'une page est destinée à chaque locuteur de cette langue, où qu'il vive. La plupart des sites traduits avec un outil de traduction de sites Web appartiennent à ce groupe : une version espagnole, une version allemande, etc.

Ajouter un région (es-MX, es-ES) seulement lorsque vous avez réellement des pages différentes pour différents pays. Les bonnes raisons sont des prix ou des devises différents, des frais d'expédition et des textes juridiques différents, ou une formulation délibérément différente (par exemple pt-BR et pt-PT, ou en-US et en-GB avec orthographe et prix locaux).

Vous pouvez mélanger les deux. Un modèle courant est une page générique plus des exceptions régionales :

<link rel="alternate" hreflang="es" href="https://example.com/es/" />
<link rel="alternate" hreflang="es-MX" href="https://example.com/es-mx/" />
<link rel="alternate" hreflang="en" href="https://example.com/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/" />

Un chercheur au Mexique obtient le es-MX page ; un hispanophone au Chili, en Espagne ou aux États-Unis obtient le générique es page.

Qu'en est-il de l'espagnol latino-américain (es-419) ?

C'est la question la plus courante sur les codes hreflang, et la réponse est courte : Google ne prend pas en charge es-419. Sa documentation le cite comme exemple de code non pris en charge, car le 419 est un indicatif régional UN M.49 (“Amérique latine et Caraïbes”) et non un code de pays ISO 3166-1. Il en va de même pour d’autres numéros M.49 tels que 150 (Europe).

Si vous avez une page en espagnol latino-américain, vous avez deux options réalisables :

  1. Marquez-le comme simple es. Si vous n'avez pas de version espagnole distincte, c'est le choix le plus simple et couvre tous les hispanophones.
  2. Énumérez les pays individuellement. Si vous avez également une page Espagne (es-ES), pointez plusieurs codes de pays sur la même URL latino-américaine : es-MX, es-AR, es-CO, es-CL, es-PE et ainsi de suite. Une URL peut contenir plusieurs valeurs hreflang.

La même réflexion s’applique au français pour l’Afrique, à l’arabe pour le Golfe ou “à l’anglais pour l’Europe” : il n’existe pas de groupes régionaux soutenus, il faut donc utiliser la langue seule ou lister les pays.

x-default : la valeur de secours

x-default n'est pas une langue. Il s'agit d'une valeur réservée que Google utilise “lorsqu'aucune autre langue/région ne correspond aux paramètres du navigateur de l'utilisateur”. Pointez-le vers une page de sélection de langue ou vers votre version principale :

<link rel="alternate" hreflang="x-default" href="https://example.com/" />

C'est facultatif, mais cela vaut la peine de l'ajouter. Sans cela, un visiteur dont vous ne couvrez pas la langue obtient la version choisie par Google.

Où va le code : trois façons d'implémenter hreflang

Google accepte hreflang à trois endroits. Choisissez une méthode par page ; vous n’avez pas besoin des trois.

1. HTML <link> balises dans le <head>

<link rel="alternate" hreflang="en" href="https://example.com/pricing" />
<link rel="alternate" hreflang="de" href="https://example.com/de/pricing" />
<link rel="alternate" hreflang="fr-CA" href="https://example.com/fr-ca/pricing" />
<link rel="alternate" hreflang="x-default" href="https://example.com/pricing" />

2. HTTP Link en-têtes (utile pour les PDF et autres fichiers non HTML)

Link: <https://example.com/guide.pdf>; rel="alternate"; hreflang="en",
      <https://example.com/de/guide.pdf>; rel="alternate"; hreflang="de"

3. Entrées du plan de site XML

<url>
  <loc>https://example.com/pricing</loc>
  <xhtml:link rel="alternate" hreflang="en" href="https://example.com/pricing" />
  <xhtml:link rel="alternate" hreflang="de" href="https://example.com/de/pricing" />
</url>

Quel que soit votre choix, trois règles de la documentation de Google s'appliquent :

  • Chaque version se répertorie elle-même et toutes les autres versions. L'ensemble de la page allemande est le même que celui de la page anglaise.
  • Les liens doivent être réciproques. Si la page X pointe vers la page Y, la page Y doit pointer vers X, sinon l'annotation peut être ignorée.
  • Les URL doivent être entièrement qualifiées, y compris https://. /de/pricing ou //example.com/de/pricing ne sont pas acceptés.

Pour une présentation complète de la mise en œuvre elle-même, y compris les canoniques et les tests, consultez notre guide complet de hreflang et l'explicateur sur balises hreflang auto-référencées.

Les erreurs de code hreflang les plus courantes

La plupart des ensembles hreflang cassés que nous voyons se résument à une poignée de codes erronés. Plusieurs d'entre eux sont des codes valides qui signifient simplement autre chose, donc les validateurs ne les signalent pas toujours.

ÉcritCe que cela signifie réellementUtiliser à la place
en-UKRien: UK n'est pas un code ISO 3166-1en-GB
es-LAEspagnol pour Laos (LA est le Laos)es, ou des pays individuels
es-419Non pris en charge (indicatif régional UN M.49)es, ou des pays individuels
en-EURien: EU n'est pas un code de paysen, ou des pays individuels
jpRien : pas un code de langueja (japonais)
cnRien : pas un code de languezh (Chinois), zh-CN pour la Chine
krKanuri, une langue parlée autour du lac Tchadko (Coréen)
seSamis du Nordsv (suédois)
dk, cz, gr, uaPas de codes de langueda, cs, el, uk
uk signification “anglais britannique”Ukrainienen-GB
be signification BelgiqueBiélorussenl-BE, fr-BE, de-BE
in, iwAnciens codes retirésid (indonésien), he (hébreu)
filCode à trois lettres, non conforme à la norme ISO 639-1tl est le code ISO 639-1 pour le tagalog

Le modèle derrière la plupart d’entre eux : les gens tapent le pays code où le langue le code appartient. Le Japon est JP mais le japonais l'est ja; La Suède l'est SE mais le suédois l'est sv; Le Danemark l'est DK mais le danois l'est da.

D'autres problèmes fréquents ne concernent pas du tout les codes : liens de retour manquants, URL relatives, hreflang pointant vers une URL qui redirige ou est bloquée et une balise canonique qui pointe chaque version linguistique vers la page anglaise. Notre article sur le erreur de non-retour des balises explique comment les réparer.

Chinois, serbe et autres langues avec plus d'une écriture

Certaines langues sont écrites dans plus d’une écriture, et l’écriture compte plus que le pays.

  • Chinois. Utiliser zh-Hans pour simplifié et zh-Hant pour Traditionnel si vos pages diffèrent par script plutôt que par pays. S’ils sont spécifiques à un pays, zh-CN, zh-TW et zh-HK travailler aussi ; Google note qu'avec zh-TW l'écriture (traditionnelle) est dérivée de la région. Vous pouvez être explicite avec zh-Hant-TW.
  • Serbe. sr-Latn et sr-Cyrl séparer les versions latine et cyrillique.
  • Norvégien. La norme ISO 639-1 a no (norvégien), nb (Bokmål) et nn (Nynorsk). La plupart des sites Web norvégiens se trouvent à Bokmål ; utilisez le code correspondant au texte et restez cohérent.

Combinaisons communes de langues et de régions

Ce sont les combinaisons dont la plupart des sites multilingues ont besoin. Tous sont valables selon les règles de Google.

Publichreflang
Anglais, n'importe quel paysen
Anglais, États-Unis / Royaume-Uni / Canada / Australieen-US / en-GB / en-CA / en-AU
Espagnol, n'importe quel payses
Espagnol, Espagne / Mexique / Argentinees-ES / es-MX / es-AR
Portugais, Brésil / Portugalpt-BR / pt-PT
Français, France / Canada / Belgique / Suissefr-FR / fr-CA / fr-BE / fr-CH
Allemand, Allemagne / Autriche / Suissede-DE / de-AT / de-CH
Chinois simplifié / traditionnelzh-Hans / zh-Hant
Chinois, Chine / Taïwan / Hong Kongzh-CN / zh-TW / zh-HK
Japonais / Coréenja / ko
Arabe, n'importe quel pays / Arabie Saoudite / Émirats Arabes Unisar / ar-SA / ar-AE
Hindi / Indonésien / Vietnamien / Thaïhi / id / vi / th
Ukrainien / Polonais / Turc / Néerlandaisuk / pl / tr / nl
Repli pour tous les autresx-default

Comment ConveyThis définit les codes hreflang pour vous

Si vous traduisez votre site avec ConveyThis, vous n'écrivez pas ces balises à la main. Lorsque vous utilisez une structure d'URL de sous-domaine ou de sous-dossier, ConveyThis ajoute des balises hreflang pour chaque langue que vous publiez, en utilisant les codes de langue corrects, ainsi que des titres de page traduits et des méta descriptions. Cela supprime les deux erreurs derrière la plupart des ensembles cassés : les codes erronés et les liens de retour manquants. Vous pouvez lire ce qu'il gère d'autre sur le page SEO multilingue, et le Guide de structure d'URL explique quelle structure choisir et quels plans l'incluent. Des sous-domaines et des sous-dossiers sont disponibles dans le plan d'affaires ; voir prix pour les détails.

Si vous construisez hreflang vous-même, les listes de références ci-dessous sont les seuls codes dont vous avez besoin.

Liste complète des codes de langue hreflang (ISO 639-1)

Les 183 codes à deux lettres de la norme ISO 639-1, tels que publiés par le Bibliothèque du Congrès, autorité d'enregistrement ISO 639-2. N’importe lequel d’entre eux peut être la première partie d’une valeur hreflang. Lorsqu'un code comporte plusieurs noms, ils sont séparés par une barre oblique.

Languecode hreflang
Abkhazeab
Au loinaa
Afrikaansaf
Akanak
Albanaissq
Amhariqueam
Arabear
Aragonaisan
Arménienhy
Assamaisas
Avariqueav
Avestiqueae
Aymaraay
Azerbaïdjanaisaz
Bambarabm
Bachkirba
Basqueeu
Biélorussebe
Bengalibn
Bislamabi
Bosniaquebs
Bretonbr
Bulgarebg
Birmanmy
Catalan / valencienca
Khmer centralkm
Chamorroch
Tchétchènece
Chichewa / Chewa / Nyanjany
Chinoiszh
Slave d'église / Vieux slave / Slave d'église / Vieux bulgare / Vieux slave d'églisecu
Tchouvachiecv
Cornouaillaiskw
Corseco
Criscr
Croatehr
Tchèquecs
Danoisda
Divehi / Dhivehi / Maldiviendv
Néerlandais / Flamandnl
Dzongkhadz
Anglaisen
Espérantoeo
Estonienet
Éwéee
Féroïenfo
Fidjienfj
Finlandaisfi
Françaisfr
Fulahff
Gaélique / Gaélique écossaisgd
Galiciengl
Gandalg
Géorgienka
Allemandde
Grec (moderne)el
Guaranign
Gujaratigu
Haïtien / Créole haïtienht
Haoussaha
Hébreuhe
Hérérohz
Hindihi
Hiri Motuho
Hongroishu
Islandaisis
Je faisio
Igboig
Indonésienid
Interlingua (Association internationale des langues auxiliaires)ia
Interlingue / Occidentalie
Inuktitutiu
Inupiaqik
Irlandaisga
Italienit
Japonaisja
Javanaisjv
Kalaallisut / groenlandaiskl
Kannadakn
Kanurikr
Cachemireks
Kazakhkk
Kikuyu / Gikuyuki
Kinyarwandarw
Kirghiz / Kirghizky
Komikv
Kongokg
Coréenko
Kuanyama / Kwanyamakj
Kurdeku
Laotienlo
Latinla
Lettonlv
Limburgan / Limburger / Limbourgeoisli
Lingalaln
Lituanienlt
Luba-Katangalu
Luxembourgeois / Letzeburgeschlb
Macédonienmk
Malgachemg
Malaisms
Malayalamml
Maltaismt
Manxgv
Maorimi
Marathimr
Marshallaismh
Mongolmn
Nauruna
Navajo / Navahonv
Ndongang
Népalaisne
Ndebele Nordnd
Samis du Nordse
Bokmål norvégiennb
Norvégien Nynorsknn
Norvégienno
Occitanoc
Ojibwaoj
Oriyaor
Oromoom
Ossète / Ossétiqueos
Palipi
Panjabi / Punjabipa
Persanfa
Polonaispl
Portugaispt
Pushto / Pachtops
Quechuaqu
Roumain / Moldave / Moldavero
Romancherm
Rundirn
Russeru
Samoansm
Sangsg
Sanskritsa
Sardesc
Serbesr
Shonasn
Sichuan Yi / Nuosuii
Sindhisd
Cinghalais / Cinghalaissi
Slovaquesk
Slovènesl
Somaliso
Sotho, Sudst
Ndebele Sudnr
Espagnol / Castillanes
Sundanaissu
Swahilisw
Swatiss
Suédoissv
Tagalogtl
Tahitity
Tadjiktg
Tamoulta
Tatartt
Télougoute
Thaïlandaisth
Tibétainbo
Tigrinyati
Tonga (îles Tonga)to
Tsongats
Tswanatn
Turctr
Turkmènetk
Twitw
Ouïghour / Ouïghourug
Ukrainienuk
Ourdouur
Ouzbekuz
Vendave
Vietnamienvi
Volapükvo
Wallonwa
Galloiscy
Frison occidentalfy
Wolofwo
Xhosaxh
Yiddishyi
Yoroubayo
Zhuang / Chuangza
Zoulouzu

Liste complète des codes de région hreflang (ISO 3166-1 alpha-2)

Les 249 codes ISO 3166-1 alpha-2 officiellement attribués. N'importe lequel d'entre eux peut suivre le code de langue, par exemple en-IE ou ar-EG. Codes qui ne figurent pas sur cette liste, tels que UK, EU ou XK, ou des codes numériques UN M.49 tels que 419, ne sont pas pris en charge par Google.

Pays ou territoireCode régional
AfghanistanAF
AlbanieAL
AlgérieDZ
Samoa américainesAS
AndorreAD
AngolaAO
AnguillaAI
AntarctiqueAQ
Antigua-et-BarbudaAG
ArgentineAR
ArménieAM
ArubaAW
AustralieAU
AutricheAT
AzerbaïdjanAZ
BahamasBS
BahreïnBH
BengladeshBD
BarbadeBB
BiélorussieBY
BelgiqueBE
BélizeBZ
BéninBJ
BermudesBM
BhoutanBT
BolivieBO
Bonaire, Saint-Eustache et SabaBQ
Bosnie-HerzégovineBA
BotswanaBW
L'île BouvetBV
BrésilBR
Territoire britannique de l'océan IndienIO
Îles Vierges britanniquesVG
Brunéi DarussalamBN
BulgarieBG
Burkina FasoBF
BurundiBI
Cap-VertCV
CambodgeKH
CamerounCM
CanadaCA
Îles CaïmansKY
République centrafricaineCF
TchadTD
ChiliCL
ChineCN
L'île ChristmasCX
Îles Cocos (Keeling)CC
La ColombieCO
ComoresKM
CongoCG
Congo (République démocratique)CD
Îles CookCK
Costa RicaCR
CroatieHR
CubaCU
CuracaoCW
ChypreCY
République tchèqueCZ
Côte d'IvoireCI
DanemarkDK
DjiboutiDJ
DominiqueDM
République dominicaineDO
EquateurEC
ÉgypteEG
El SalvadorSV
Guinée équatorialeGQ
ÉrythréeER
EstonieEE
EswatiniSZ
ÉthiopieET
Îles FalklandFK
Îles FéroéFO
FidjiFJ
FinlandeFI
FranceFR
Guyane françaiseGF
Polynésie françaisePF
Terres australes françaisesTF
GabonGA
GambieGM
GéorgieGE
AllemagneDE
GhanaGH
GibraltarGI
GrèceGR
GroenlandGL
GrenadeGD
GuadeloupeGP
GuamGU
GuatemalaGT
GuerneseyGG
GuinéeGN
Guinée-BissauGW
GuyaneGY
HaïtiHT
Îles Heard et McDonaldHM
Saint-SiègeVA
HondurasHN
Hong KongHK
HongrieHU
IslandeIS
IndeIN
IndonésieID
L'IranIR
IrakIQ
IrlandeIE
Île de ManIM
IsraëlIL
ItalieIT
JamaïqueJM
JaponJP
JerseyJE
JordanieJO
KazakhstanKZ
KenyaKE
KiribatiKI
KoweïtKW
KirghizistanKG
LaosLA
LettonieLV
LibanLB
LesothoLS
LibériaLR
LibyeLY
LiechtensteinLI
LituanieLT
LuxembourgLU
MacaoMO
MadagascarMG
MalawiMW
MalaisieMY
MaldivesMV
MaliML
MalteMT
Îles MarshallMH
MartiniqueMQ
MauritanieMR
MauriceMU
MayotteYT
MexiqueMX
MicronésieFM
MoldavieMD
MonacoMC
MongolieMN
MonténégroME
MontserratMS
MarocMA
MozambiqueMZ
BirmanieMM
NamibieNA
NauruNR
NépalNP
Pays-BasNL
Nouvelle-CalédonieNC
Nouvelle-ZélandeNZ
NicaraguaNI
NigerNE
NigériaNG
NiueNU
Île NorfolkNF
Corée du NordKP
Macédoine du NordMK
Îles Mariannes du NordMP
NorvègeNO
OmanOM
PakistanPK
PalaosPW
PalestinePS
PanamaPA
Papouasie-Nouvelle-GuinéePG
ParaguayPY
PérouPE
PhilippinesPH
PitcairnPN
PolognePL
Le PortugalPT
Porto RicoPR
QatarQA
RoumanieRO
RussieRU
RwandaRW
RéunionRE
Saint BarthélemyBL
Sainte-Hélène, Ascension et Tristan da CunhaSH
Saint-Kitts-et-NevisKN
Sainte-LucieLC
Saint Martin (Français partie)MF
Saint Pierre et MiquelonPM
Saint-Vincent-et-les GrenadinesVC
SamoaWS
Saint-MarinSM
Sao Tomé-et-PrincipeST
Arabie SaouditeSA
SénégalSN
SerbieRS
SeychellesSC
Sierra LeoneSL
SingapourSG
Sint Maarten (partie néerlandaise)SX
SlovaquieSK
SlovénieSI
Îles SalomonSB
SomalieSO
Afrique du SudZA
Géorgie du Sud et les îles Sandwich du SudGS
Corée du SudKR
Soudan du SudSS
EspagneES
Sri LankaLK
SoudanSD
SurinameSR
Svalbard et Jan MayenSJ
SuèdeSE
SuisseCH
SyrieSY
TaïwanTW
TadjikistanTJ
TanzanieTZ
ThaïlandeTH
Timor-LesteTL
AllerTG
TokélaouTK
TongaTO
Trinité-et-TobagoTT
TunisieTN
TurkménistanTM
Îles Turques-et-CaïquesTC
TuvaluTV
TurquieTR
États-Unis Îles ViergesVI
OugandaUG
UkraineUA
Emirats Arabes UnisAE
Royaume-UniGB
États-UnisUS
Îles mineures éloignées des États-UnisUM
UruguayUY
OuzbékistanUZ
VanuatuVU
VenezuelaVE
Viêt NamVN
Wallis-et-FutunaWF
Sahara occidental*EH
YémenYE
ZambieZM
ZimbabweZW
Îles ÅlandAX

Questions fréquemment posées

Hreflang est-il sensible à la casse ? Non. Google accepte en-gb, EN-GB et en-GB. La langue minuscule plus la région majuscule est la convention habituelle.

Dois-je utiliser un trait de soulignement, comme dans en_US? Non. Les valeurs hreflang utilisent un trait d'union : en-US. Le formulaire de soulignement provient des paramètres régionaux du logiciel et non de hreflang.

Puis-je utiliser des codes de langue à trois lettres ? La documentation de Google ne prend en charge que les codes de langue ISO 639-1, qui sont tous composés de deux lettres. Une langue qui n'a qu'un code à trois lettres (ISO 639-2 ou 639-3) ne figure pas dans la liste prise en charge.

Google utilise-t-il le HTML lang attribut à la place ? Non. Google détermine la langue d'une page à partir de son contenu visible et n'utilise pas de signaux au niveau du code tels que lang attributs, selon ses guide des sites multirégionaux et multilingues. Garder lang pour l'accessibilité et les navigateurs, et utilisez hreflang pour connecter les versions.

Ai-je besoin d'un code régional pour chaque page ? Non. La plupart des sites traduits n'ont besoin que de codes de langue. Ajoutez des régions lorsque les pages diffèrent réellement selon les pays.

Vous souhaitez que chaque page soit connectée automatiquement avec les codes hreflang corrects ? Créer un compte ConveyThis et ajoutez votre langue maternelle.

Partager:
G2 High Performer Spring 2023
G2 Easiest Setup Fall 2024
G2 Best Support Spring 2025