How x-default works
It is a reserved value used inside hreflang annotations, alongside the entries naming real languages and regions. Where those entries say “this URL is for Australian English” or “this URL is for Nepali”, the x-default entry says “and this URL is for everyone the others do not describe”. It can be declared in the page head, in HTTP headers or in the XML sitemap, and it belongs to the same annotation set as the rest.
Two things it is not. It does not redirect anybody — nothing is forced, and the visitor’s browser behaviour is unchanged. And it is not a ranking signal. It only helps a search engine choose which of your versions to show a particular searcher, once it has already decided to show one of them.
Why x-default matters
Without it, an unmatched visitor still gets a version — you simply do not choose which. Search engines fall back to inference, which often lands on whichever version is strongest or best linked rather than the one you would have picked. Someone in a country you never listed can end up on a page priced in the wrong currency or written for the wrong market.
That case is not an edge case for a lot of businesses working from Nepal. If you sell to the Nepali diaspora, your visitors are spread across many countries you will never enumerate individually, and a remittance, travel or education site can find that most of its unmatched traffic is genuinely valuable. Naming the fallback yourself turns a guess into a decision.
Where x-default goes wrong
The most common misreading is treating it as “the main version” or “the English one”. It is not a hierarchy; it is a catch-all, and a page can legitimately be both an English version and the fallback, but the two roles need separate annotations. Declaring more than one x-default in a single set is the next problem, because it leaves nothing to choose between them.
Then there are the targets that cannot do the job. Pointing x-default at a URL that redirects, carries a noindex tag, or canonicalises elsewhere makes the annotation useless. Pointing it at a country-selector page only works when that page has real, crawlable content — a selector built entirely in JavaScript is an empty document to a crawler. And like every hreflang entry, it has to be reciprocal: the page named as x-default must carry the full annotation set too, or the whole set can be ignored.
What to do about it
Choose the fallback that is genuinely honest for a visitor you know nothing about. A global or international English page usually beats a selector, because it answers the question rather than asking one. Use a selector only if it is indexable and carries enough content to stand as a page.
Declare x-default in every annotation set rather than only on the homepage, keep exactly one per set, and confirm the target returns a normal, indexable, self-canonical response. Then validate the whole set with a crawler that reports hreflang reciprocity, since a broken return link is the failure you cannot see from the page itself. If you are setting this up for the first time, the wider decisions about country versions and URL structure are covered in the international SEO guide, and they should be settled before the annotations are written.