Hreflang x-default: What It Does and When You Need It

The hreflang x-default value tells Google which URL to show a searcher whose language or region doesn't match any version you have listed. It is a fallback, not a language. If you publish English, German and French pages and someone searches in Portuguese, x-default decides where they land. Google says the value was designed for language selector pages and works best on them, but you can point it at any page, including one of your localized versions.
You add it as one extra line next to your existing hreflang annotations. It does not replace any of them, it does not need a language code, and it is optional. For most small multilingual sites it is still worth adding, because without it Google picks the fallback for you.
What does hreflang x-default actually do?
x-default answers one question: where should unmatched users go?
Google's documentation on localized versions of a page defines it as the reserved value "used when no other language/region matches the user's browser setting." Every other hreflang value says "this URL is for these people." x-default says "this URL is for everyone else."
That makes it a catch-all. It sits alongside a cluster of language versions that all point at each other, and it only comes into play when none of them fits the searcher. If you need a refresher on how the full cluster works, the hreflang tags guide covers the reciprocal rules in detail.
Where should x-default point?
Point x-default at the page a stranger in an unsupported language would find most useful.
There are three common choices, and they suit different sites:
| Your setup | Point x-default at | Why |
|---|---|---|
| You have a language or country selector page | The selector page | Google designed x-default for this case. The visitor picks their own version. |
| You have one dominant language (often English) and a few translations | The dominant-language page | It is the version most unmatched visitors can read. |
| Your home page auto-detects language and redirects | A non-redirecting version of the home page | Redirecting fallbacks can stop Google and users from reaching the other versions. |
| You serve one region per language with no generic page | The version for the biggest market in that language | Gives unmatched users the broadest, best-supported page. |
The recommendation for most small SaaS and ecommerce sites is simple: point x-default at the English version unless you have a real selector page. A selector page is better in theory, but many are thin pages with a few flags and no content, which helps neither users nor search.
Skip the idea of creating a brand-new "global" page just to have an x-default target. It adds a URL to maintain and usually duplicates the English page anyway.
Hreflang x-default syntax, with examples
The syntax is identical to any other hreflang annotation, with x-default in place of a language code.
In HTML, it goes in the <head> of every page in the cluster, alongside the other versions:
<link rel="alternate" hreflang="en" href="https://example.com/en/pricing" />
<link rel="alternate" hreflang="de" href="https://example.com/de/pricing" />
<link rel="alternate" hreflang="fr" href="https://example.com/fr/pricing" />
<link rel="alternate" hreflang="x-default" href="https://example.com/en/pricing" />
Notice that the x-default URL here is also the English URL. That is allowed. One page can carry two hreflang values, en and x-default, and Google notes that a catch-all page "can be one of the specific pages, if you choose."
In an XML sitemap, x-default is one more <xhtml:link> child inside each <url> entry:
<xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/en/pricing"/>
In an HTTP header, used mainly for PDFs and other non-HTML files, it is one more comma-separated entry in the Link: header. Whichever method you use, Google's rules for all methods still apply: fully qualified URLs including https://, and the same set of annotations on every version of the page.
How to add x-default step by step
Adding x-default takes four steps, and the last one is the one people skip.
- List the cluster. Write down every language or region version of the page and its exact canonical URL.
- Choose the fallback. Use the table above. Pick one URL and use it for the whole site pattern, not a different choice per page.
- Add the line everywhere. Put the identical x-default line on every page in the cluster, the same way every page lists all of its siblings.
- Check the target. The x-default URL must return a 200 status, be indexable, and not redirect. Then confirm the change with a crawler or a single-page tester, as covered in the international SEO strategy overview.
If you run a CMS or a multilingual plugin, check whether it already outputs x-default before adding one by hand. Two x-default lines pointing at different URLs is worse than none.
Common mistakes with hreflang x-default
Most x-default problems come from treating it as a language or from pointing it somewhere that moves.
- Adding it to only one page. x-default belongs to the whole cluster. If the German page lists it and the French page doesn't, the annotations disagree.
- Pointing it at a redirect. A fallback that 301s to a geo-detected page sends Google in a circle. Google's guidance on multi-regional and multilingual sites advises against automatically redirecting users between language versions, because it can prevent users and search engines from seeing all of them.
- Using it instead of a language code. x-default is extra. Your English page still needs its own
enannotation. - Expecting it to fix missing reciprocity. If your language versions don't point back to each other, Google may ignore the annotations, and x-default can't rescue that.
- Pointing it at a noindexed or non-canonical URL. The target has to be the indexable, canonical version of the page.
- Writing it wrong. It is
x-defaultwith a hyphen. Values likedefault,x_defaultorxxare not recognised.
Do you need x-default at all?
You don't strictly need it, but most multilingual sites benefit from it.
Google calls x-default "recommended," not required. Without it, Google still serves your hreflang versions to matching users and makes its own choice for everyone else. That choice is often fine.
Add it when any of these apply: you have a language selector or an auto-redirecting home page, you get meaningful traffic from countries whose languages you don't translate into, or you serve several regional variants of one language (such as en-GB and en-US) and want a clear default for other English speakers. Skip it only if you are confident Google already sends unmatched visitors to the right page, which you can check in Search Console's performance report filtered by country. Either way, give any hreflang change time to be recrawled before judging it, since how long SEO takes depends on recrawling.
Frequently Asked Questions
Is hreflang x-default required?
No. Google describes x-default as recommended for specifying a fallback page, not as a requirement. Your other hreflang annotations work without it. Adding it removes guesswork about where searchers in unsupported languages land, so it is worth the one extra line on most multilingual sites, especially those with a language selector or an auto-redirecting home page.
Can x-default point to the same URL as your English page?
Yes. A single URL can carry both an en annotation and an x-default annotation. Google's own documentation suggests a generic page in one language can serve as the catch-all for that language, and many sites use their English page as the global fallback. Keep the en line as well; x-default does not replace it.
Does x-default need a language code?
No. Google states there is no need to specify a language code for x-default, because the page targets users whose language settings don't match any version on your site. The language of the x-default page itself is irrelevant to the annotation. You simply write hreflang="x-default" and give the full URL.
Should every page have an x-default tag?
Every page that belongs to an hreflang cluster should carry the same x-default line as its siblings. Pages that only exist in one language and have no alternates don't need hreflang or x-default at all. Consistency matters more than coverage: a cluster where half the pages list x-default sends mixed signals.
What is the difference between x-default and a canonical tag?
They do different jobs. A canonical tag tells Google which URL is the preferred version of duplicate or near-duplicate content. x-default tells Google which language version to show users who match none of your listed languages. A translated page should canonicalize to itself, and x-default should point to an indexable, canonical URL.
Can I point x-default at a page on a different domain?
Yes. Google's guidelines say alternate URLs do not need to be on the same domain, and that applies to x-default too. A business with example.de and example.fr can point x-default at example.com. The target must still be fully qualified, return a 200 status, and be part of the same reciprocal hreflang cluster.
The short version on x-default
Add hreflang x-default as one extra line on every page in each cluster, point it at your language selector if you have a useful one, and otherwise at your English (or dominant-language) page. Make sure the target is indexable, canonical and doesn't redirect, and keep it identical across siblings.
Getting this right by hand across dozens of translated pages is where most small teams slip. Agent Solo's Growth plan publishes in two languages with hreflang, canonicals and per-market keywords handled for you, and the Scale plan goes up to five languages. If your second market is still invisible, try it with early access.