Language Codes in Hreflang
Language codes are fundamental in hreflang implementation, serving as indicators of the language in which the content of a webpage is written. These codes follow the ISO 639-1 standard (or ISO 3166-1), which provides a two-letter code for each language.
Country | ISO 3166-1 Alpha 2 Code |
Andorra | AD |
United Arab Emirates | AE |
Afghanistan | AF |
Antigua and Barbuda | AG |
Anguilla | AI |
Albania | AL |
Armenia | AM |
Angola | AO |
Antarctica | AQ |
Argentina | AR |
American Samoa | AS |
Austria | AT |
Australia | AU |
Aruba | AW |
Åland Islands | AX |
Azerbaijan | AZ |
Bosnia and Herzegovina | BA |
Barbados | BB |
Bangladesh | BD |
Belgium | BE |
Burkina Faso | BF |
Bulgaria | BG |
Bahrain | BH |
Burundi | BI |
Benin | BJ |
Saint Barthélemy | BL |
Bermuda | BM |
Brunei Darussalam | BN |
Bolivia (Plurinational State of) | BO |
Bonaire, Sint Eustatius and Saba | BQ |
Brazil | BR |
Bahamas | BS |
Bhutan | BT |
Bouvet Island | BV |
Botswana | BW |
Belarus | BY |
Belize | BZ |
Canada | CA |
Cocos (Keeling) Islands | CC |
Congo, Democratic Republic of the | CD |
Central African Republic | CF |
Congo | CG |
Switzerland | CH |
Côte d’Ivoire | CI |
Cook Islands | CK |
Chile | CL |
Cameroon | CM |
China | CN |
Colombia | CO |
Costa Rica | CR |
Cuba | CU |
Cabo Verde | CV |
Curaçao | CW |
Christmas Island | CX |
Cyprus | CY |
Czechia | CZ |
Germany | DE |
Djibouti | DJ |
Denmark | DK |
Dominica | DM |
Dominican Republic | DO |
Algeria | DZ |
Ecuador | EC |
Estonia | EE |
Egypt | EG |
Western Sahara | EH |
Eritrea | ER |
Spain | ES |
Ethiopia | ET |
Finland | FI |
Fiji | FJ |
Falkland Islands (Malvinas) | FK |
Micronesia (Federated States of) | FM |
Faroe Islands | FO |
France | FR |
Gabon | GA |
United Kingdom of Great Britain and Northern Ireland | GB |
Grenada | GD |
Georgia | GE |
French Guiana | GF |
Guernsey | GG |
Ghana | GH |
Gibraltar | GI |
Greenland | GL |
Gambia | GM |
Guinea | GN |
Guadeloupe | GP |
Equatorial Guinea | GQ |
Greece | GR |
South Georgia and the South Sandwich Islands | GS |
Guatemala | GT |
Guam | GU |
Guinea-Bissau | GW |
Guyana | GY |
Hong Kong | HK |
Heard Island and McDonald Islands | HM |
Honduras | HN |
Croatia | HR |
Haiti | HT |
Hungary | HU |
Indonesia | ID |
Ireland | IE |
Israel | IL |
Isle of Man | IM |
India | IN |
British Indian Ocean Territory | IO |
Iraq | IQ |
Iran (Islamic Republic of) | IR |
Iceland | IS |
Italy | IT |
Jersey | JE |
Jamaica | JM |
Jordan | JO |
Japan | JP |
Kenya | KE |
Kyrgyzstan | KG |
Cambodia | KH |
Kiribati | KI |
Comoros | KM |
Saint Kitts and Nevis | KN |
Korea (Democratic People’s Republic of) | KP |
Korea, Republic of | KR |
Kuwait | KW |
Cayman Islands | KY |
Kazakhstan | KZ |
Lao People’s Democratic Republic | LA |
Lebanon | LB |
Saint Lucia | LC |
Liechtenstein | LI |
Sri Lanka | LK |
Liberia | LR |
Lesotho | LS |
Lithuania | LT |
Luxembourg | LU |
Latvia | LV |
Libya | LY |
Morocco | MA |
Monaco | MC |
Moldova, Republic of | MD |
Montenegro | ME |
Saint Martin (French part) | MF |
Madagascar | MG |
Marshall Islands | MH |
North Macedonia | MK |
Mali | ML |
Myanmar | MM |
Mongolia | MN |
Macao | MO |
Northern Mariana Islands | MP |
Martinique | MQ |
Mauritania | MR |
Montserrat | MS |
Malta | MT |
Mauritius | MU |
Maldives | MV |
Malawi | MW |
Mexico | MX |
Malaysia | MY |
Mozambique | MZ |
Namibia | NA |
New Caledonia | NC |
Niger | NE |
Norfolk Island | NF |
Nigeria | NG |
Nicaragua | NI |
Netherlands | NL |
Norway | NO |
Nepal | NP |
Nauru | NR |
Niue | NU |
New Zealand | NZ |
Oman | OM |
Panama | PA |
Peru | PE |
French Polynesia | PF |
Papua New Guinea | PG |
Philippines | PH |
Pakistan | PK |
Poland | PL |
Saint Pierre and Miquelon | PM |
Pitcairn | PN |
Puerto Rico | PR |
Palestine, State of | PS |
Portugal | PT |
Palau | PW |
Paraguay | PY |
Qatar | QA |
Réunion | RE |
Romania | RO |
Serbia | RS |
Russian Federation | RU |
Rwanda | RW |
Saudi Arabia | SA |
Solomon Islands | SB |
Seychelles | SC |
Sudan | SD |
Sweden | SE |
Singapore | SG |
Saint Helena, Ascension and Tristan da Cunha | SH |
Slovenia | SI |
Svalbard and Jan Mayen | SJ |
Slovakia | SK |
Sierra Leone | SL |
San Marino | SM |
Senegal | SN |
Somalia | SO |
Suriname | SR |
South Sudan | SS |
Sao Tome and Principe | ST |
El Salvador | SV |
Sint Maarten (Dutch part) | SX |
Syrian Arab Republic | SY |
Eswatini | SZ |
Turks and Caicos Islands | TC |
Chad | TD |
French Southern Territories | TF |
Togo | TG |
Thailand | TH |
Tajikistan | TJ |
Tokelau | TK |
Timor-Leste | TL |
Turkmenistan | TM |
Tunisia | TN |
Tonga | TO |
Turkey | TR |
Trinidad and Tobago | TT |
Tuvalu | TV |
Taiwan, Province of China | TW |
Tanzania, United Republic of | TZ |
Ukraine | UA |
Uganda | UG |
United States Minor Outlying Islands | UM |
United States of America | US |
Uruguay | UY |
Uzbekistan | UZ |
Holy See | VA |
Saint Vincent and the Grenadines | VC |
Venezuela (Bolivarian Republic of) | VE |
Virgin Islands (British) | VG |
Virgin Islands (U.S.) | VI |
Viet Nam | VN |
Vanuatu | VU |
Wallis and Futuna | WF |
Samoa | WS |
Yemen | YE |
Mayotte | YT |
South Africa | ZA |
Zambia | ZM |
Zimbabwe | ZW |
Language Codes ISO 639-1 Standard
ISO 639-1 is part of a broader set of international standards that list short codes for language names. For hreflang, we specifically use the two-letter codes, which are designed to be universally understood and concise. For example, ‘en’ stands for English, ‘es’ for Spanish, and ‘fr’ for French.
The Role of Language Codes in Hreflang
When implementing hreflang tags, the language code is used to tell search engines the language of the webpage. This ensures that users searching in a particular language are more likely to find content in that language. Correct use of language codes is crucial for reaching a linguistically diverse audience.
Country Codes in Hreflang
While language codes specify the language, country codes in hreflang are used to target content to specific geographical regions. These codes follow the ISO 3166-1 alpha-2 standard, which assigns two letters to each country or territory.
ISO language name | 639-1 | 639-2/T | 639-2/B | 639-3 | Notes |
---|---|---|---|---|---|
Abkhazian | ab | abk | abk | abk | also known as Abkhaz |
Afar | aa | aar | aar | aar | |
Afrikaans | af | afr | afr | afr | |
Akan | ak | aka | aka | aka | Fanti is fat |
Albanian | sq | sqi | alb | sqi | macrolanguage, called “Albanian Phylozone” in 639-6 |
Amharic | am | amh | amh | amh | |
Arabic | ar | ara | ara | ara | macrolanguage, >Standard Arabic is arb |
Aragonese | an | arg | arg | arg | |
Armenian | hy | hye | arm | hye | ISO 639-3 code hye is for >Classical Armenian |
Assamese | as | asm | asm | asm | |
Avaric | av | ava | ava | ava | also known as Avar |
Avestan | ae | ave | ave | ave | ancient |
Aymara | ay | aym | aym | aym | macrolanguage |
Azerbaijani | az | aze | aze | aze | macrolanguage, also known as Azeri |
Bambara | bm | bam | bam | bam | |
Bashkir | ba | bak | bak | bak | |
Basque | eu | eus | baq | eus | |
Belarusian | be | bel | bel | bel | |
Bengali | bn | ben | ben | ben | also known as Bangla |
Bislama | bi | bis | bis | bis | Language formed from English and >Vanuatuan languages, with some French influence. |
Bosnian | bs | bos | bos | bos | |
Breton | br | bre | bre | bre | |
Bulgarian | bg | bul | bul | bul | |
Burmese | my | mya | bur | mya | also known as Myanmar |
Catalan, Valencian | ca | cat | cat | cat | |
Chamorro | ch | cha | cha | cha | |
Chechen | ce | che | che | che | |
Chichewa, Chewa, Nyanja | ny | nya | nya | nya | |
Chinese | zh | zho | chi | zho | macrolanguage |
Old | cu | chu | chu | chu | Eastern Orthodox Church |
Chuvash | cv | chv | chv | chv | |
Cornish | kw | cor | cor | cor | |
Corsican | co | cos | cos | cos | |
Cree | cr | cre | cre | cre | macrolanguage |
Croatian | hr | hrv | hrv | hrv | |
Czech | cs | ces | cze | ces | |
Danish | da | dan | dan | dan | |
Divehi, Dhivehi, Maldivian | dv | div | div | div | |
Flemish | nl | nld | dut | nld | Flemish is not to be confused with the closely related 639-3 code vls |
Dzongkha | dz | dzo | dzo | dzo | |
English | en | eng | eng | eng | |
Esperanto | eo | epo | epo | epo | constructed, initially by L.L. Zamenhof in 1887 |
Estonian | et | est | est | est | macrolanguage |
Ewe | ee | ewe | ewe | ewe | |
Faroese | fo | fao | fao | fao | |
Fijian | fj | fij | fij | fij | |
Finnish | fi | fin | fin | fin | |
French | fr | fra | fre | fra | |
Western Frisian | fy | fry | fry | fry | also known as Frisian or Fries |
Fulah | ff | ful | ful | ful | macrolanguage, also known as Fula |
Gaelic, Scottish Gaelic | gd | gla | gla | gla | |
Galician | gl | glg | glg | glg | |
Ganda | lg | lug | lug | lug | |
Georgian | ka | kat | geo | kat | |
German | de | deu | ger | deu | |
Greek, Modern (1453–) | el | ell | gre | ell | for grc |
Kalaallisut, Greenlandic | kl | kal | kal | kal | |
Guarani | gn | grn | grn | grn | macrolanguage |
Gujarati | gu | guj | guj | guj | |
Haitian, Haitian Creole | ht | hat | hat | hat | |
Hausa | ha | hau | hau | hau | |
Hebrew | he | heb | heb | heb | Modern Hebrew. Code changed in 1989 from original ISO 639:1988, iw. |
Herero | hz | her | her | her | |
Hindi | hi | hin | hin | hin | |
Hiri Motu | ho | hmo | hmo | hmo | |
Hungarian | hu | hun | hun | hun | |
Icelandic | is | isl | ice | isl | |
Ido | io | ido | ido | ido | constructed by De Beaufront, 1907, as variation of Esperanto |
Igbo | ig | ibo | ibo | ibo | |
Indonesian | id | ind | ind | ind | covered by macrolanguage ms/msa. Changed in 1989 from original ISO 639:1988, in.>[1] |
Interlingua (International Auxiliary Language Association) | ia | ina | ina | ina | constructed by the >International Auxiliary Language Association |
Interlingue, Occidental | ie | ile | ile | ile | constructed by >Edgar de Wahl, first published in 1922 |
Inuktitut | iu | iku | iku | iku | macrolanguage |
Inupiaq | ik | ipk | ipk | ipk | macrolanguage |
Irish | ga | gle | gle | gle | |
Italian | it | ita | ita | ita | |
Japanese | ja | jpn | jpn | jpn | |
Javanese | jv | jav | jav | jav | |
Kannada | kn | kan | kan | kan | |
Kanuri | kr | kau | kau | kau | macrolanguage |
Kashmiri | ks | kas | kas | kas | |
Kazakh | kk | kaz | kaz | kaz | |
Central Khmer | km | khm | khm | khm | also known as Khmer or Cambodian |
Kikuyu, Gikuyu | ki | kik | kik | kik | |
Kinyarwanda | rw | kin | kin | kin | |
Kirghiz, Kyrgyz | ky | kir | kir | kir | |
Komi | kv | kom | kom | kom | macrolanguage |
Kongo | kg | kon | kon | kon | macrolanguage |
Korean | ko | kor | kor | kor | |
Kuanyama, Kwanyama | kj | kua | kua | kua | |
Kurdish | ku | kur | kur | kur | macrolanguage |
Lao | lo | lao | lao | lao | |
Latin | la | lat | lat | lat | ancient |
Latvian | lv | lav | lav | lav | macrolanguage |
Limburgan, Limburger, Limburgish | li | lim | lim | lim | |
Lingala | ln | lin | lin | lin | |
Lithuanian | lt | lit | lit | lit | |
Luba-Katanga | lu | lub | lub | lub | also known as Luba-Shaba |
Luxembourgish, Letzeburgesch | lb | ltz | ltz | ltz | also known as Luxembourgian and Lëtzebuergesch |
Macedonian | mk | mkd | mac | mkd | |
Malagasy | mg | mlg | mlg | mlg | macrolanguage |
Malay | ms | msa | may | msa | macrolanguage, Indonesian is id/ind |
Malayalam | ml | mal | mal | mal | |
Maltese | mt | mlt | mlt | mlt | |
Manx | gv | glv | glv | glv | |
Maori | mi | mri | mao | mri | also known as Māori |
Marathi | mr | mar | mar | mar | also known as Marāṭhī |
Marshallese | mh | mah | mah | mah | |
Mongolian | mn | mon | mon | mon | macrolanguage |
Nauru | na | nau | nau | nau | also known as Nauruan |
Navajo, Navaho | nv | nav | nav | nav | |
North Ndebele | nd | nde | nde | nde | also known as Northern Ndebele |
South Ndebele | nr | nbl | nbl | nbl | also known as Southern Ndebele |
Ndonga | ng | ndo | ndo | ndo | |
Nepali | ne | nep | nep | nep | macrolanguage |
Norwegian | no | nor | nor | nor | macrolanguage, Nynorsk is nn/nno |
Norwegian Bokmål | nb | nob | nob | nob | covered by macrolanguage no/nor |
Norwegian Nynorsk | nn | nno | nno | nno | covered by macrolanguage no/nor |
Sichuan Yi, Nuosu | ii | iii | iii | iii | standard form of the Yi languages |
Occitan | oc | oci | oci | oci | |
Ojibwa | oj | oji | oji | oji | macrolanguage, also known as Ojibwe |
Oriya | or | ori | ori | ori | macrolanguage, also known as Odia |
Oromo | om | orm | orm | orm | macrolanguage |
Ossetian, Ossetic | os | oss | oss | oss | |
Pali | pi | pli | pli | pli | ancient, also known as Pāli |
Pashto, Pushto | ps | pus | pus | pus | macrolanguage |
Persian | fa | fas | per | fas | macrolanguage, also known as Farsi |
Polish | pl | pol | pol | pol | |
Portuguese | pt | por | por | por | |
Punjabi, Panjabi | pa | pan | pan | pan | |
Quechua | qu | que | que | que | macrolanguage |
Moldavian, Moldovan | ro | ron | rum | ron | the identifiers mo and mol for Moldavian are deprecated. They will not be assigned to different items, and recordings using these identifiers will not be invalid. |
Romansh | rm | roh | roh | roh | |
Rundi | rn | run | run | run | also known as Kirundi |
Russian | ru | rus | rus | rus | |
Northern Sami | se | sme | sme | sme | |
Samoan | sm | smo | smo | smo | |
Sango | sg | sag | sag | sag | |
Sanskrit | sa | san | san | san | ancient |
Sardinian | sc | srd | srd | srd | macrolanguage |
Serbian | sr | srp | srp | srp | the ISO 639-2/T code srp deprecated the ISO 639-2/B code scc |
Shona | sn | sna | sna | sna | |
Sindhi | sd | snd | snd | snd | |
Sinhala, Sinhalese | si | sin | sin | sin | |
Slovak | sk | slk | slo | slk | |
Slovenian | sl | slv | slv | slv | also known as Slovene |
Somali | so | som | som | som | |
Southern Sotho | st | sot | sot | sot | |
Spanish, Castilian | es | spa | spa | spa | |
Sundanese | su | sun | sun | sun | |
Swahili | sw | swa | swa | swa | macrolanguage |
Swati | ss | ssw | ssw | ssw | also known as Swazi |
Swedish | sv | swe | swe | swe | |
Tagalog | tl | tgl | tgl | tgl | note: Filipino (Pilipino) has the code fil |
Tahitian | ty | tah | tah | tah | one of the Reo Mā`ohi (languages of |
Tajik | tg | tgk | tgk | tgk | |
Tamil | ta | tam | tam | tam | |
Tatar | tt | tat | tat | tat | |
Telugu | te | tel | tel | tel | |
Thai | th | tha | tha | tha | |
Tibetan | bo | bod | tib | bod | also known as Standard Tibetan |
Tigrinya | ti | tir | tir | tir | |
Tonga (Tonga Islands) | to | ton | ton | ton | also known as Tongan |
Tsonga | ts | tso | tso | tso | |
Tswana | tn | tsn | tsn | tsn | |
Turkish | tr | tur | tur | tur | |
Turkmen | tk | tuk | tuk | tuk | |
Twi | tw | twi | twi | twi | covered by macrolanguage ak/aka |
Uighur, Uyghur | ug | uig | uig | uig | |
Ukrainian | uk | ukr | ukr | ukr | |
Urdu | ur | urd | urd | urd | |
Uzbek | uz | uzb | uzb | uzb | macrolanguage |
Venda | ve | ven | ven | ven | |
Vietnamese | vi | vie | vie | vie | |
Volapük | vo | vol | vol | vol | constructed |
Walloon | wa | wln | wln | wln | |
Welsh | cy | cym | wel | cym | |
Wolof | wo | wol | wol | wol | |
Xhosa | xh | xho | xho | xho | |
Yiddish | yi | yid | yid | yid | macrolanguage. Changed in 1989 from original ISO 639:1988, ji. |
Yoruba | yo | yor | yor | yor | |
Zhuang, Chuang | za | zha | zha | zha | macrolanguage |
Zulu | zu | zul | zul | zul |
Why does HREFLANG exist?
In the dynamic landscape of the internet, reaching a global audience requires more than just content—it demands content that resonates with that audience in their language and context. This is where the ‘hreflang’ attribute plays a crucial role. A cornerstone of international SEO, hreflang is an HTML attribute used to specify the language and geographical targeting of a webpage.
What is Hreflang?
Hreflang is an attribute within the <link>
element in a website’s HTML that tells search engines what language and region the content is specifically targeted to. It helps search engines serve the correct language or regional URL in search results, thereby enhancing the user experience. The hreflang attribute is particularly beneficial for websites with content in multiple languages or regional variants, such as English content for both the UK and the USA.
Importance of Hreflang
The importance of hreflang can’t be overstated in an era where search engine optimization (SEO) is paramount. It addresses several key aspects:
- Improved User Experience: By guiding users to the content in their language or region, it enhances user engagement.
- Better Targeting and Reach: It allows websites to effectively target audiences in different regions and languages.
- Avoiding Duplicate Content Penalties: By specifying language and regional variations, it helps search engines understand that similar content in different languages or regions is not duplicate content.
- Enhanced SEO: Proper use of hreflang can improve search engine rankings by ensuring that the right regional or language version of a site is presented to users.
How is Hreflang Used?
Using hreflang involves adding a set of link
elements in the <head>
section of an HTML document. Each link
element specifies a URL and its associated language and region. For instance, if you have an English page targeted to the US and a Spanish version targeted to Spain, you would use hreflang tags to indicate these differences to search engines.
Also if you are not sure if everything is correct on your website, you can use our tool Hreflang Tag Checker
The syntax for hreflang is straightforward yet requires precision. The attribute consists of a language code (as per ISO 639-1 standards) and optionally, a country code (based on ISO 3166-1 Alpha-2 codes). These codes are used to create a value that specifies the intended language and, if needed, the region of the audience.
Country Codes ISO 3166-1 Alpha-2 Standard
The ISO 3166-1 alpha-2 codes are succinct and standardized representations of countries and significant territories. For example, ‘US’ represents the United States, ‘GB’ for Great Britain, and ‘JP’ for Japan.
Utilizing Country Codes in Hreflang Tags
Incorporating country codes into hreflang tags enables webmasters to target content not only by language but also by region. This is particularly important for languages spoken in multiple countries or regions, where content might need to be tailored to local nuances, such as differences in currency, units of measure, or cultural references. A combination of language and country code in hreflang tags, like ‘en-GB’ for English content targeted to the UK, ensures that the right content reaches the right audience.
Practical Examples of Implementation Hreflang Tags in HTML
Hreflang tags are placed in the <head>
section of an HTML document. Each tag specifies a URL and its associated language (and optionally, country).
Casual cases of Hreflang Tags in HTML
Example 1: Single Language, Multiple Countries
Suppose you have an English website with different versions for the USA and the UK. You would use the following hreflang tags:
<link rel="alternate" hreflang="en-US" href="http://example.com/us" />
<link rel="alternate" hreflang="en-GB" href="http://example.com/uk" />
<link rel="alternate" hreflang="x-default" href="http://example.com/" />
In this example:
en-US
targets English speakers in the United States.en-GB
targets English speakers in the United Kingdom.x-default
is used for users in locations not targeted by the other tags or when the user’s language is unknown.
Example 2: Multiple Languages
If your website is available in different languages, for instance, English, Spanish, and French, your hreflang tags would look like this:
<link rel="alternate" hreflang="en" href="http://example.com/en" />
<link rel="alternate" hreflang="es" href="http://example.com/es" />
<link rel="alternate" hreflang="fr" href="http://example.com/fr" />
<link rel="alternate" hreflang="x-default" href="http://example.com/" />
Here, en
, es
, and fr
represent English, Spanish, and French versions of the website, respectively.
Advanced Hreflang Tag Implementation
Example 3: Language-Region Combinations
For more precise targeting, combining language and country codes is essential, especially for languages spoken in multiple regions.
<link rel="alternate" hreflang="en-CA" href="http://example.ca/en" />
<link rel="alternate" hreflang="fr-CA" href="http://example.ca/fr" />
<link rel="alternate" hreflang="en-AU" href="http://example.au/en" />
In this example:
en-CA
andfr-CA
target English and French speakers in Canada.en-AU
targets English speakers in Australia.
Best Practices for Hreflang Tag Usage
- Consistency: Ensure the hreflang attribute’s value matches the page’s actual language and region.
- Self-referential Tags: Include a hreflang tag for the current page itself.
- Default Page: Specify a
x-default
tag for users whose language or region does not match any of the specified tags.
Recommendations for Implementing Hreflang Tags
Implementing hreflang tags correctly is crucial for ensuring that your website resonates with a diverse, global audience. Here are key best practices to follow, ensuring your hreflang tags are effective and contribute positively to your website’s SEO and user experience.
1. Accurate Language and Region Codes
- Use Correct Codes: Always use the correct ISO 639-1 language codes and ISO 3166-1 Alpha-2 country codes. Incorrect codes can lead to misinterpretation by search engines.
- Be Specific Where Necessary: Use specific language-region combinations (like
en-GB
orfr-CA
) for content targeted at speakers of a language in a particular country.
2. Comprehensive Tagging
- Self-Referential Hreflang Tags: Each page should include a hreflang tag for itself, alongside tags for other language or regional variants.
- Cover All Language Variants: Include hreflang tags for every language variant of your content. Omitting a version can lead to users being directed to the wrong language page.
3. Consistent Implementation
- Consistency Across Pages: Ensure that the set of hreflang tags is consistent across all pages of your site. Each language version should reference all other language versions.
- Avoid Conflicting Signals: Ensure your hreflang tags don’t conflict with other signals on your page, like the
<html lang="">
attribute or on-page content.
4. Using ‘x-default’ Tag
- Default Language Setting: Implement the
x-default
hreflang attribute for international visitors or when the user’s language preference is unknown. This tag points to a generic, often English-language page that is accessible to a wide audience.
5. Regular Audits and Updates
- Keep Tags Updated: Regularly audit your hreflang tags, especially when adding new languages or making changes to your site’s structure.
- Adapt to Changes: Be responsive to changes in language and country codes, updating your tags as necessary.
6. Avoid Common Mistakes
- Missing Return Links: Each hreflang tag should be reciprocal; if page A links to page B, page B must link back to page A.
- Incorrect URLs: Ensure that the URLs in your hreflang tags are fully qualified and accurately reflect the targeted page.
7. Technical Considerations
- Sitemap Integration: In addition to inline implementation, consider adding hreflang information to your XML sitemap. This can help search engines discover and understand the language and regional targeting of your pages more efficiently.
- Avoid Duplicate Content: Clearly differentiate content between your regional and language pages to prevent them from being marked as duplicate content by search engines.
Common Mistakes in Hreflang Implementation
Implementing hreflang tags can be complex, and even small errors can lead to significant issues in how search engines understand and index your website’s content for different regions and languages. Below are some of the most common mistakes and issues to be aware of.
1. Incorrect Language or Country Codes
- Mistake: Using wrong or non-standard ISO codes.
- Impact: Search engines may not recognize the language or region, leading to improper indexing.
- Solution: Double-check to use the correct ISO 639-1 and ISO 3166-1 Alpha-2 codes.
2. Inconsistent Implementation Across Pages
- Mistake: Inconsistencies in hreflang tags across various pages of the website.
- Impact: Confuses search engines about the correct language or regional version to display.
- Solution: Ensure a consistent implementation across all pages.
3. Missing Return Links
- Mistake: Not having reciprocal links—each page in a language set should reference all other pages.
- Impact: Incomplete hreflang setup, potentially leading to some pages not being recognized.
- Solution: Implement reciprocal hreflang tags on each version of the page.
4. Incorrect URLs in Hreflang Tags
- Mistake: Using broken or incorrect URLs in hreflang annotations.
- Impact: Search engines can’t find or correctly associate the targeted pages.
- Solution: Regularly audit hreflang URLs to ensure they are correct and accessible.
5. Conflicting Language Signals
- Mistake: Providing conflicting language signals on the page (like mismatching hreflang and HTML lang attributes).
- Impact: Creates confusion about the intended audience of the page.
- Solution: Align all language signals on the page for clarity.
6. Overlooking ‘x-default’ Tag
- Mistake: Not including an ‘x-default’ hreflang tag for unspecified or global audiences.
- Impact: Misses directing international or undetermined-language users to a default page.
- Solution: Implement an ‘x-default’ tag pointing to a universally accessible page.
7. Duplicate Content Issues
- Mistake: Having very similar or identical content on pages targeted to different languages or regions without proper hreflang tags.
- Impact: Risk of being marked as duplicate content by search engines.
- Solution: Clearly differentiate content and use hreflang tags to specify language and regional variations.
8. Neglecting Regular Updates
- Mistake: Failing to update hreflang tags when making changes to the site structure or content.
- Impact: Outdated tags can lead to incorrect page targeting.
- Solution: Conduct regular audits and update hreflang tags as part of routine website maintenance.
FAQ on Hreflang Tags Implementation
1. What is the hreflang code for Germany?
The hreflang code for Germany is de-DE
. This code combines the ISO 639 language code de
for German with the ISO 3166 country code DE
for Germany.
2. What is ISO 639 language code and ISO 3166 country code?
ISO 639 is a set of standards for language codes, typically two letters (ISO 639-1), while ISO 3166 is a standard for country codes, usually two letters (ISO 3166-1 alpha-2). These codes are used in hreflang attributes for specifying languages and countries, respectively.
3. What is the difference between country code and language code?
A language code (ISO 639) specifies the language of the content (e.g., en
for English), while a country code (ISO 3166) specifies the geographic targeting (e.g., US
for the United States). Together in hreflang tags, they target language-specific content to specific countries.
4. What is an example of a hreflang?
An example of a hreflang tag is <link rel="alternate" hreflang="en-GB" href="http://example.com/uk">
, which indicates that the page is targeted towards English speakers in Great Britain.
5. What language is a href?
The term ‘href’ itself is not a language; it stands for “hypertext reference” in HTML and is used to specify URLs in various HTML tags, not just hreflang.
6. What is hreflang in English?
‘Hreflang’ is an HTML attribute used to specify the language and geographical targeting of a webpage. In English, it’s often used to indicate content variations such as en-US
for the United States or en-GB
for Great Britain.
7. What is the difference between HTML Lang and hreflang?
The lang
attribute in HTML specifies the language of the content of a single page, while hreflang
is used in link elements to indicate language and regional targeting for similar pages in different languages.
8. What is the syntax of the hreflang tag?
The syntax of an hreflang tag is <link rel="alternate" hreflang="[language code]-[country code]" href="[URL]">
. The language code follows ISO 639-1 standards, and the country code follows ISO 3166-1 alpha-2 standards.
9. Are Hreflang values case sensitive?
No, hreflang values are not case sensitive. However, it’s recommended to use lowercase for consistency and adherence to general best practices.
10. Do I need to implement Hreflang attributes site-wide?
Yes, implementing hreflang attributes site-wide is recommended for multilingual or multinational sites to ensure search engines correctly understand the language and regional targeting of each page.
11. Which is the Hreflang tag for English in Australia?
The hreflang tag for English content targeted to Australia is en-AU
. This combines the language code en
for English with the country code AU
for Australia.
12. How is Hreflang used in Canada?
In Canada, hreflang is used to target content to English or French speakers, using codes like en-CA
for English and fr-CA
for French, reflecting Canada’s bilingual nature.
13. What country does the ‘es’ language code refer to?
The es
language code (ISO 639-1) refers to the Spanish language but does not specify a country. For country-specific targeting, it is combined with a country code, like es-ES
for Spain.
14. What is the country code for Wales?
Wales does not have a separate ISO 3166 country code as it is part of the United Kingdom. The country code for the United Kingdom is GB
. However, for language targeting in Wales, you could use cy-GB
for Welsh language content in Great Britain.
I am Kirill, the CEO of KeyRealSeo. I’m an SEO aficionado, always riding the wave of the latest technologies and integrating them seamlessly into my processes.