Hreflang x-default: What It Is and Where It Should Point
If a checker just flagged your site for a missing hreflang x-default value, don't panic. It's the single most common hreflang finding there is, and in most cases it's a warning, not a broken page. Ahrefs looked at 374,756 domains using hreflang and found that 56.3% of them had at least one page missing x-default, which makes it three times more common than missing self-reference, the mistake that actually breaks a cluster of translated pages.
You're in good company. The question worth answering isn't "do I need this tag," it's "where should it point when I add it."
That's what this article walks through. Not the full hreflang rulebook (our hreflang tags explained guide already covers language codes, return links, and the rest), just x-default: what it does, whether it's required, and a decision rule for where to point it depending on your site.
Hreflang can live in three places: the HTML head of a page, an XML sitemap, or an HTTP response header for non-HTML files like PDFs. x-default is just one more value inside whichever of those three you're already using. It doesn't have its own file or its own rules. It rides along with the rest of your hreflang set, which is why it trips people up when it's missing from only some pages in a group, or "cluster," of translated URLs that all point back to each other.
What x-default Actually Does
Picture a French-speaking visitor searching Google from Brazil. Your site has English and Spanish versions, but nothing tagged "fr." Which page does Google show?
Without any instruction from you, Google picks whatever it judges best. With an x-default value set, you get to answer that question yourself.
Google introduced x-default in April 2013, in a post by then-Webmaster Trends Analyst Pierre Far. The definition hasn't changed since: it "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." The original post gave two examples: French speakers with no matching page, and English speakers browsing from google.ca on a site that only has en-us and en-au (source: Google Search Central blog, April 2013).
Ten years later, Google revisited the topic. In May 2023, Gary Illyes wrote that the x-default hreflang value is "potentially underused" and spelled out three valid targets: a language and country selector page, a redirect-free fallback page for regions you don't serve, or simply "the version of the content that you consider, well, default." He also noted something a lot of site owners miss: hreflang URLs, x-default included, can be used for URL discovery, meaning Googlebot may follow them to find pages it hasn't crawled yet (source: Google Search Central blog, May 2023).
So x-default isn't "the English tag." It's the answer to one specific question: where should a visitor land when none of your declared languages match theirs? The answer might be English.
It might not be. That depends on your site, and that's the part most guides skip.
Is x-default required?
No. Google's own reference documentation calls it "recommended," not mandatory, and says it "was designed for language selector pages." Screaming Frog's crawler classifies a missing x-default as a low-priority warning and says outright that the attribute is "optional, and not necessarily an issue" (source: Screaming Frog, Missing X-Default issue). The hreflang.tools checker treats it the same way: pages missing x-default show up as an informational finding, not an error, which is a deliberate choice to match how Google itself weighs it.
None of that means it's worthless. Skip x-default and Google still picks a page for unmatched searchers, you just don't get a vote. For a two-language personal blog, that might be fine.
For a five-language ecommerce site where the wrong landing page means a lost sale, it's worth the two minutes it takes to add. Given that hreflang missing x default is the most common issue in Ahrefs' whole study, it's also the easiest one to fix in bulk: get the value right in your template once, and it applies to every page in the cluster.
Where should it point?
This is the part that actually needs a decision, and it depends on what your site already has. Three cases cover almost everyone.
| Your situation | Where x-default should point | Why |
|---|---|---|
| You have a language or country selector page that loads normally (returns a 200 status, no redirect) | The selector page itself | This is the use case Google designed x-default for. A selector lets the visitor choose instead of guessing for them. |
| No selector page, but one language clearly serves the widest audience (usually English) | That language's own page, same URL as its regular hreflang entry | Google's 2023 example does exactly this: French speakers with no French page get sent to the English version via x-default. |
| No selector, and no language is a sensible global fallback (say, a bilingual Welsh and Irish site) | Whichever page more outside readers can understand, or skip x-default entirely | Forcing a fallback that serves almost nobody outside your core audience isn't better than having no fallback at all. |
If you want a single rule of thumb that covers all three rows: point x-default at the page you'd hand to a stranger who speaks none of your listed languages. Sometimes that's a menu of choices. Sometimes it's just your best default page. Rarely, it's nothing at all, and that's allowed too.
One caution worth naming here: a language selector isn't the same thing as a language switcher. A switcher is the dropdown widget in your header that changes the page you're already on. A selector is a standalone URL, its own page, that a browser can land on directly. x-default needs the URL, not the widget.
The redirect trap
Here's a mistake that looks smart but backfires. Say your homepage auto-detects a visitor's country and redirects them to the matching language version. It seems like a natural x-default target, since it "figures out" the right page for everyone. It's actually the worst choice you can make.
Googlebot crawls almost entirely from US-based IP addresses and does not attempt to spoof other locations to see what a redirect would show a visitor elsewhere (source: Google Search Central, managing multi-regional sites). Point x-default at a geo-redirecting homepage, and Googlebot just gets bounced to whatever your redirect logic decides for a US visitor, every single time. It never sees the destination you actually meant to offer. The same document tells site owners directly to avoid automatically redirecting users between language versions, because it can prevent both visitors and search engines from ever seeing your other versions at all.
This is exactly what the hreflang.tools checker flags as target_redirects: an x-default value that leads somewhere other than a direct, 200-status page. If you're checking a redirect chain to see where it actually lands, a tool like httpcheck.tools will trace it hop by hop. The fix is simple even if the underlying redirect logic isn't: your x-default target has to load its own content directly, not hand the visitor off somewhere else first.
Can x-default be the same URL as another entry?
Yes, and this is where even experienced site owners get tangled. In August 2022, someone asked exactly this question on Google's Search Central community forum: could their English page carry both the "en" hreflang value and the x-default value, at the same URL? A Google Product Expert replied that it couldn't, since a page "does NOT meet that definition" if it still targets a specific language like English.
Nine months later, Google's own May 2023 blog post gave the opposite answer as its main worked example: a site with English and Spanish alternates, plus "an x-default value pointing to the English version," sending French-speaking users to English. Sitebulb's documentation reaches the same conclusion from the auditing side, calling it "perfectly valid for a specific hreflang page to also be the x-default." Treat the 2023 Google post as the current position; the 2022 forum answer predates it and has effectively been superseded.
The practical takeaway: reusing a URL for both its own language and x-default is fine, as long as you keep both lines. Don't delete the "en" entry just because "x-default" is doing double duty on the same page. English-speaking searchers still need their own explicit match, separate from the fallback logic.
Three ways to write it
x-default follows the same three formats as any other hreflang value, because it isn't a special tag, just a special value inside the tag you're already writing.
In the HTML head, every page in the cluster needs the identical set of link elements, including the x-default line:
<link rel="alternate" hreflang="en" href="https://example.com/en/shipping/">
<link rel="alternate" hreflang="de" href="https://example.com/de/versand/">
<link rel="alternate" hreflang="fr" href="https://example.com/fr/livraison/">
<link rel="alternate" hreflang="x-default" href="https://example.com/en/shipping/">
In an XML sitemap, the same information goes inside Google's xhtml:link extension (a syntax Google documents, not one defined by the sitemap protocol itself):
<url>
<loc>https://example.com/en/shipping/</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://example.com/en/shipping/"/>
<xhtml:link rel="alternate" hreflang="de" href="https://example.com/de/versand/"/>
<xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/en/shipping/"/>
</url>
For non-HTML files like PDFs, where there's no head to put a link element in, the same declaration moves into an HTTP Link header (per RFC 8288, the Web Linking specification):
Link: <https://example.com/en/guide.pdf>; rel="alternate"; hreflang="en",
<https://example.com/de/guide.pdf>; rel="alternate"; hreflang="de",
<https://example.com/en/guide.pdf>; rel="alternate"; hreflang="x-default"
Whichever format you use, three rules stay constant: one x-default value per cluster, the same URL declared from every page in that cluster, and absolute URLs rather than relative paths. There's no language code to argue over on the x-default line itself. Google's reference doc is explicit that the language of the page you point to "is irrelevant" for the tag's purposes, even though the page itself obviously still has a language.
Mistakes the checker catches
A few patterns show up often enough that it's worth naming them by what they look like in a report. cluster_partial_x_default means only some pages in a group declare x-default while others don't, which happens when a template change only reaches part of a site. Two different x-default targets inside the same cluster is another one: it's effectively giving Google two different answers to the same question, and there's no documented rule for which one wins, so treat it as a bug rather than a style choice. A relative URL on the x-default line, a target that returns noindex, or a selector page that never links back to the rest of the cluster will all surface as separate findings too.
None of these need memorizing. Paste your cluster of URLs into the hreflang.tools checker and it will fetch every declared alternate, verify the return links, and tell you exactly which of these patterns, if any, apply to your pages.
Frequently Asked Questions
What is x-default in hreflang?
x-default is a special hreflang value that tells search engines which page to show a visitor whose language doesn't match any of the versions you've listed. It isn't tied to a specific language code; instead it marks a fallback page for everyone outside your declared set, whether that's a language selector, a global homepage, or the version of the page you consider your default.
Is x-default required?
No. Google describes it as recommended rather than mandatory, and both Screaming Frog and the hreflang.tools checker treat a missing x-default as a low-priority, informational finding rather than an error. Skipping it just means Google chooses a fallback page on its own instead of following your instruction, which is a reasonable trade-off for small or single-audience sites.
Should x-default point to the English page or a language selector?
It depends on what your site has. If you have a working language or country selector page, point x-default there, since that's the use case Google designed the value for. If you don't have a selector, pointing x-default at your most widely understood language, often English, is a valid and explicitly Google-endorsed pattern. Neither choice is universally "correct"; pick whichever page best serves a visitor who matches none of your listed languages.
Can x-default be the same URL as another hreflang entry?
Yes. A page can carry both its own language value, such as "en," and serve as the x-default target at the same URL. Google's own 2023 example does this directly, sending unmatched visitors to the English version via x-default while that same page still declares "en" for English-speaking visitors. Keep both lines in your markup; the shared URL doesn't replace the need for its regular language entry.