International SEO

Language declarations and hreflang: telling search engines which version of a page belongs to which audience.

Guides

Every international seo check SEOSnip runs 10

A language code for another version is invalid

Search engines ignore language tags they can't read, so visitors may not get the right version.

How to fix
FixUse correct language codes, for example en or en-GB.
For developersUse valid ISO 639-1 language codes with an optional ISO 3166-1 region in hreflang, e.g. en-gb.
Read the guidehreflang-invalid-language

A link to another language version is broken

Search engines can't use a language link that isn't a valid address.

How to fix
FixPoint each language link at the full address of that version.
For developersMake every hreflang href an absolute, valid URL for the alternate page.
Read the guidehreflang-invalid-url

The page doesn't list itself among its language versions

Language versions should reference each other, including the page itself, or search engines may ignore them.

How to fix
FixAdd the page's own language to its list of versions.
For developersInclude a self-referencing hreflang alternate for this page (and x-default where relevant).
Read the guidehreflang-self-missing

The page doesn't state its language

Declaring the language helps browsers, screen readers and search engines handle the content properly.

How to fix
FixAdd the page's language.
For developersAdd a lang attribute to the <html> element, e.g. <html lang="en-GB">.
Read the guidelanguage-missing

Language versions lead to error pages

Search engines drop language links that lead to errors, so visitors may see the wrong version.

How to fix
FixPoint each language link at the working page for that language.
For developersFix hreflang hrefs that return 4XX/5XX or no response.
Read the guidehreflang-target-error

Language versions redirect elsewhere

Language links should name each version's final address; redirects can make search engines ignore them.

How to fix
FixUpdate the language links to their final addresses.
For developersChange hreflang hrefs to the final URLs they redirect to.
Read the guidehreflang-target-redirects

Language versions ask not to be indexed

A version that hides itself from search can't be shown to visitors in that language.

How to fix
FixMake those versions indexable, or remove them from the language links.
For developersRemove noindex from the alternates, or drop them from the hreflang set.
Read the guidehreflang-target-noindex

Language links point to non-main versions

Language links should point at each version's main address, or search engines may ignore them.

How to fix
FixPoint each language link at that version's main address.
For developersUse each alternate's canonical URL as its hreflang href.
Read the guidehreflang-target-not-canonical

Language versions don't link back to this page

Language links only work when both pages name each other; one-way links are ignored.

How to fix
FixAdd a link back to this page on each language version.
For developersAdd a reciprocal hreflang link to this URL in each alternate's head or Link header.
Read the guidehreflang-return-missing

Find these issues on any page

SEOSnip checks the page in your browser, compares the server HTML with the rendered page, and turns each issue into a ticket with the evidence attached.

Get started free