In short. Each language version must list its own URL and the other versions in the hreflang set.
Definition: An hreflang self-reference is an alternate-language annotation whose URL points to the page that contains the annotation. Google's localized-versions documentation says each language version must list itself as well as every other language version in the set.
Key facts
- Google's localized-versions documentation requires each language version to list itself and all other language versions.
- In HTML, each page variant gets one
linkelement for every variant, including itself, and the complete set is identical on every version. - Alternate URLs must be fully qualified and include the transport method, such as
https://. - If two pages do not point to each other, Google says the annotations are ignored. When a complete set is difficult to maintain, some languages can be omitted on some pages and Google can still process the mutually pointing ones.
- Google's multilingual-site guidance recommends different URLs for each language version and using
hreflangannotations when those URLs are used.
Why does a page list itself?
The self-reference is one member of the page's full alternate-language set. A page in English therefore lists its own English URL alongside the French, German, or regional URLs that belong to the same content set. Google's current guidance states that each language version must list itself as well as all other language versions.
Google's documentation also describes the relationship as reciprocal. If page A names page B and page B does not name page A, Google says the tags are ignored. This rule prevents an unrelated site from naming itself as an alternative version of another site's page.
What should the HTML contain?
For an HTML implementation, the annotations belong in the document's <head>. Google says to include one link for each page variant, including the current page, and to use the identical set on every version. Its example uses this structure:
<head>
<title>Widgets, Inc</title>
<link rel="alternate" hreflang="en-GB"
href="https://en-gb.example.com/page.html" />
<link rel="alternate" hreflang="en-US"
href="https://en-us.example.com/page.html" />
<link rel="alternate" hreflang="en"
href="https://en.example.com/page.html" />
<link rel="alternate" hreflang="de"
href="https://de.example.com/page.html" />
<link rel="alternate" hreflang="x-default"
href="https://www.example.com/" />
</head>
The self-reference is visible when this same set is placed on each page: the English page includes its English URL, the German page includes its German URL, and so on. The URLs are absolute, with http or https, rather than relative paths. Google also says to keep alternate-language annotations separate from other link attributes such as media.
What happens when the set is incomplete?
The complete pattern remains the documented setup, but Google describes a partial option for maintenance problems. A site can omit some languages on some pages, while Google processes the annotations that point to each other. The documentation gives priority to bidirectional links between newly expanded language pages and the site's originating or dominant language pages.
This partial handling does not remove the self-reference rule for a page that declares its language set. Each declared version still needs its own URL in the set, and every cross-page declaration that is meant to work needs a return declaration from the other page.
Does the same rule apply outside HTML?
Yes. Google documents HTML, HTTP headers, and XML sitemaps as equivalent methods for describing language and regional variants. In an HTTP Link header, the returned set includes every version, including the requested version. In an XML sitemap, each URL has child xhtml:link entries for every variant, including itself; for three versions, each URL entry has three identical child entries.
The surrounding site structure matters as well. Google recommends separate URLs for each language version. Its multilingual-site documentation says a site that changes language dynamically from cookies or browser settings may leave some variations undiscovered because Googlebot usually originates from the USA and sends requests without an Accept-Language header.
Related terms
- hreflang
- How do I check reciprocal hreflang links between translations?
- Can hreflang links use relative URLs?
- Which canonical should a page in an hreflang cluster use?
FAQ
Do you need to repeat the full set on every translation?
Yes. Google documents an identical set of links on every page version, including the link whose URL is the current page.
Can you leave out a language from one page?
Google documents that some languages can be omitted when maintaining a complete set is difficult. The annotations that point to each other can still be processed, while an unmatched declaration can be ignored.
Can you put the self-reference only in an XML sitemap?
Yes. Google documents HTML, HTTP headers, and XML sitemaps as equivalent implementation methods. In a sitemap, each URL's entries include every language or regional variant, including that URL itself.
Sources
- Google Search Central, "Localized Versions of your Pages", 2026-09-21
- Google Search Central, "Managing multi-regional and multilingual sites", 2025-12-10
Check how a page reads to answer engines. Open the GEO score analyzer