For each page, add link rel alternate hreflang tags that map every language and region version to its URL, include an x-default for unmatched visitors, and make sure every version carries the same complete set, itself included. This tells search engines which URL to show users in each language. A browser-based hreflang generator builds the whole tag block from your language-to-URL mapping, locally.
Free hreflang tag generator. Map languages and regions to URLs to build valid hreflang link tags with x-default for correct international SEO targeting.
Open Hreflang Tag Generator → Free toolFree canonical tag generator. Enter your preferred page URL to create a valid rel canonical link tag and stop duplicate content from splitting your rankings.
Open Canonical Tag Generator →When the same content exists in English, German and Japanese, search engines need to be told the three URLs are language versions of one page, otherwise users get the wrong language and the versions can compete with each other. Each hreflang tag pairs a language code, optionally with a region like en-GB, with the URL serving that audience, and the x-default entry catches everyone whose language you did not map.
Hreflang only works when the versions agree: every language version of the page should carry the full set of alternate tags, including a tag pointing at itself. If the English page lists the German URL but the German page does not list the English one back, the annotation is inconsistent and search engines may disregard it. Generating the complete block once and pasting the same set into every version is the reliable way to keep them consistent.
The generator takes your list of language and region codes with their URLs and emits the full set of valid link tags with x-default. Pair it with sensible canonical tags on each version so your language targeting and your duplicate handling point the same way.
It names the URL to show users whose language does not match any of your listed versions, often a language selector or your primary version.
Yes. Each version should list the complete set of alternates including itself, or the annotations may be ignored as inconsistent.
A language code like en or de, optionally with a region, like en-GB or pt-BR.