Generate and check your hreflang tags
Add a row for each language or region version of a page and I'll put the tags together, flagging the most common slip-ups.
What you type here never leaves your browser.
Not on the list? Type it yourself (ISO 639-1 code).
Not on the list? Type it yourself (ISO 639-1 code).
es and es-ES aren't the same thing: they're two distinct versions, not a duplicate.
Each page should list itself too. If https://yoursite.com/ is one of your versions, add it as its own row.
Add at least two versions to generate the tags.
How to use it
The block below is the final code: copy the whole thing and paste it into the <head> of every version of the page, not just one. Read any red warning before copying; it's almost always a simple slip that's easy to fix.
Limitations
This checks for formatting mistakes and duplicates in what you type, but it doesn't visit your URLs or confirm they actually exist. That part's on you.
Without hreflang, Google has to guess which version to show each visitor, and it doesn't always get it right.
Ask for a free review of your site.
Got a site in several languages and not sure Google's showing the right version? I'll check it for you.