hreflang x-default
Nearly every explanation of this quotes the same sentence. It is a good sentence. It is also from April 2013, and Google now prints a notice on top of it saying the post may be out of date.
The current documentation says something narrower, and the gap between the two is where the usual mistakes live.
The sentence everybody quotes
From the announcement, 10 April 2013:
The new x-default hreflang attribute value signals to our algorithms that this page doesn’t target any specific language or locale and is the default page when no other page is better suited.
At the top of that same page today, above the article, Google has added:
It’s been a while since we published this blog post. Some of the information may be outdated…
That is not a reason to distrust the definition, which has held up. It is a reason to check it against the page Google maintains, which is what the rest of this does.
What the current documentation says
The reserved x-default value is used when no other language/region matches the user’s browser setting.
Read the two side by side. The 2013 wording is “the default page when no other page is better suited”, which sounds like a judgement somebody makes. The current wording names the input: no other language or region matched the visitor’s browser setting. One is a description of intent; the other is a test with a condition you can reason about.
The syntax reference puts the same thing a third way, and this is the version worth keeping: or x-default to match any language not explicitly listed by an hreflang tag on the page.
It is recommended, not required
This is the part the field quietly drops. Google says it twice, in the softest language it uses anywhere in that document:
Consider adding a fallback page for unmatched languages, especially on language/country selectors or auto-redirecting home pages.
This value is recommended for specifying the fallback page for users whose language settings don’t match any of your site’s localized versions.
“Consider” and “recommended” are not “must”. If every audience you serve already has its own annotated page, there is nobody left unmatched for the fallback to catch, and adding one changes nothing.
A missing x-default is worth a look. It is not the reason a page is not ranking in another country, and an audit that reports it as an error is overstating it.
Three things it is not
Your homepage
The 2013 example happens to put it on a home page showing a country selector, and the field has been repeating that example for twelve years. The page it belongs on is whichever one serves somebody the rest of the set does not, which is often the home page and is not the same claim.
Your main language
It is not "English is the default". A visitor whose settings match your English page gets the English page through its own hreflang entry. x-default is for the ones that match nothing at all.
Required
Google says "consider adding" and "is recommended". A set without one is not broken, and a missing x-default is not the reason a page is not ranking abroad.
Where it silently stops working
x-default is an hreflang value, not a mechanism of its own, so it inherits hreflang’s rule about the set. That rule is one sentence and its middle three words are the ones people drop:
Each language version must list itself as well as all other language versions.
So an x-default added to one page and nowhere else is not a half-working fallback. It is an annotation sitting outside the cluster it was meant to join, which is the same failure as a language version that names its siblings while none of them name it back: the error Search Console used to report as no return tags.
The same set membership has a second consequence, and it is the one worth knowing if you are deciding which page survives rather than which page is shown.
What to do, in order
- 1Decide whether you have anyone to catch. If every audience you serve has its own annotated page, there is nobody unmatched, and the honest answer may be that you do not need one.
- 2Point it at the page that serves somebody who matches nothing: a selector, a global page, or a home page that does not assume a language. Not your busiest market’s page, which is a different decision wearing the same tag.
- 3Put it in the SAME cluster as the rest. x-default is an hreflang value, not a separate mechanism, so it obeys the same rule: every version lists every version, including itself. This is where it silently stops working.
- 4Check it in the rendered HTML rather than the template. An annotation assembled from variables is one bad locale string away from pointing at nothing, and it will look right in the source you wrote.
- 5Leave it alone afterwards. It changes which of your pages is shown to an unmatched searcher. It is not a ranking input, and treating a missing one as an emergency is how sites end up with an x-default on every page pointing at itself.
What this product records about it
Nothing, and that is the honest answer. ShownTrue reads and records canonicals, because a crawler sees them on the page it fetched. It does not manage hreflang, it does not check x-default, and there is no roadmap on this page implying it will.
This guide exists because the question has a documented answer that the pages ranking for it are quoting from a post Google has flagged, and checking a source against itself is the thing this product is for. The capability pages state exactly what exists and what does not.