All tools

hreflang tag generator

A language code and a URL per line. Copy the tags into the head of every page in the set.

Add a language code and a URL on the same line.

What does hreflang do?

It tells a search engine that several URLs are the same page in different languages, so the right one is shown to the right reader and the versions do not compete with each other as duplicates.

Why do I need x-default?

It names the version to show someone whose language is not in your set. Without it, a reader in a language you do not offer gets whichever version the engine guesses at. It is the single most commonly missed tag, which is why this tool warns when it is absent.

Why are my hreflang tags being ignored?

Almost always because they are not reciprocal. Every page in the set must carry the full list, including a tag pointing at itself. If page A lists B but B does not list A, search engines discard the group rather than guessing which side is right.

Should I use language only, or language and region?

Use language alone unless the content genuinely differs by region. en-GB and en-US are worth separating when prices, spelling or availability differ; otherwise plain en is simpler and harder to get wrong.

Other tools

This tool checks one page at a time. Visorank does the same work across every page on your site continuously, and shows you which queries people actually search rather than estimates.

What Visorank does