Hreflang Checker and Validator
Free individual check · without registration
Tested link rel="alternate" hreflangcodes (language/region), x-defaultduplicates, self-reference, and Return links (mutual hreflang relationship – heuristic), inclusive Status, Robots, Canonical.
- CodesISO 639-1 (e.g. de) optional + ISO 3166-1 alpha-2 (e.g. DE) → de-DE.
- x-default: Optional for language/country selection or fallback.
- Reciprocal: Each alternative should refer back to the origin page (Google recommendation).
- Final URL (after redirects) + status code
- hreflang Alternates: number, duplicates per code, missing href/hreflang
- Code Validation: Form xx or xx-YY (Heuristics)
- Is there an x-default? Several times?
- Is there self-reference? (Heuristics)
- Return links (Reciprocal) random/limit: Alternates are loaded and checked
- Robots: meta robots + x-robots-tag (noindex?)
- Canonical: does it exist? Absolute URL?
- CSV Export of the Findings
| hreflang | URL | Status | Reciprocal |
|---|---|---|---|
| No data yet. | |||
| Level level | Code code | Message |
|---|---|---|
| No data yet. | ||
What is hreflang?
With hreflang Tell search engines which language or country versions of a page belong together. This is particularly important in International websiteswhen content is provided in multiple languages or for multiple countries.
Typical examples are versions such as de-DE, de-AT, en-GB or en-US. hreflang helps Google, users as far as possible the Appropriate language or country version To avoid confusion between similar pages.
For example, German, English or French for the same content.
For example, different sides for Germany, Austria or Switzerland.
Optionally, you can with x-default Define a standard or selection page.
When do you need hreflang – and when not?
hreflang is useful if several versions of a page for different Languages or Countries exist. Especially with shops, SaaS websites, international company pages or publishers, this is often the case.
- You have your own language versions like /de/, /en/, /fr/ have:
- They offer country-specific content, such as prices, shipping or legal texts
- You operate similar sites for several countries, such as de-DE and de-AT
- You want to avoid Google delivering the wrong country or language version
- There is only one language and one country
- You do not have your own URL versions per language/country
- only design or navigation differ slightly, but the target market is the same
- You actually need to solve duplicate content problems with Canonical instead of hreflang
Typical hreflang errors
In practice, hreflang rarely fails on the idea, but on small technical details. Even an invalid code, a missing reference back or a contradictory canonical can cause Google to ignore the setup or not fully consider it.
Examples are incorrect combinations, inconsistent spellings or non-standard codes. Typically correct would be about de de, de-DE, en-GB or x-default.
Each language or country version should usually also refer to itself as a hreflang alternative. If this self-reference is missing, the cluster often becomes less clear.
If page A points to page B, page B should also point back to page A. This mutual relationship is often called Reciprocal hreflang denoted.
If one language version points to another language version via canonical, hreflang can become ineffective. In many cases, every language version should be Self-referential Canonical have.
Pages with noindex are problematic for hreflang, because Google may not consider them as a regular alternative.
If not all relevant language or country versions are linked, incomplete clusters are created. This makes it difficult for search engines to assign correctly.
What to do with hreflang errors?
If the Hreflang Checker reports errors or warnings, you should proceed in a structured manner. In most cases, problems can be resolved quickly if you first check the affected URL sets and then codes, references and canonicals.
- Invent all language and country versions of a page
- hreflang Codes unified and corrected
- Complement self-references
- Checking mutual return links
- Control Canonicals for each language version
- Clean up noindex, redirects and error codes
Do not only work side by side, but always Clustered: all associated variants of a URL group at the same time. This way, you avoid repairing only one part and creating new inconsistencies.
- Each important variant delivers 200 OK
- No version is per noindex Not excluded
- Canonicals do not point to another language version
- All relevant language/country versions consistently link to each other
- Optional is an x-default Set for selection or fallback pages
How do you implement hreflang?
hreflang can be integrated in three ways: directly in HTMLover XML sitemaps or per HTTP headers. Which variant makes sense depends on the technical setup of your website.
The most common variant: Im <head> shall be: left rel="alternate" hreflang=.. Tags included. This is especially obvious for classic websites, shops and CMS.
With major international websites, hreflang is in XML sitemaps It is often easier to maintain centrally. This is convenient if many language and country versions exist or templates are difficult to adapt.
This variant is especially relevant for non-HTML files such as PDFs. Instead of HTML, the alternates are delivered in the HTTP header.
- HTMLIdeal for regular websites and classic CMS setups
- XML sitemaps: useful for many language/country versions and central management
- HTTP headers: suitable for PDFs or other non-HTML resources
Important: No matter which method you use – hreflang must be consistent. Codes, self-references, return links, canonicals, and status codes should fit together.
FAQ: Hreflang Checker
Frequent questions about hreflang, international SEO and typical implementation errors.
A hreflang checker analyzes whether correct hreflang alternatives are included on a page. Typical checks include code validation, duplicates, x-default, self-reference, return links, status codes, robots signals, and canonical conflicts.
hreflang is a signal for search engines that marks related language or country versions. So Google can rather play the right version for users in a certain country or language.
hreflang makes sense if you offer multiple versions of the same content for different languages or countries, such as de-DE, de-AT or en-US. Without such variants, hreflang is usually not necessary.
x-default It is an optional standard version. It is often used for voice selectors, global entry pages or neutral fallback pages if no specific language or country version is to be preferred.
In practice: yes, that is best practice. Each page should also contain a self-reference in the hreflang set. This makes the cluster clearer and reduces interpretation problems.
Yes, ideally yes. If a German version refers to an English version, the English version should also refer back to the German version. These mutual references are often called return links or reciprocal hreflang.
Invalid or inconsistent codes can cause search engines to incorrectly interpret individual alternates or the entire hreflang setup. Therefore, the language and the region should be consistent and compliant with the standards.
Yes. hreflang can lose its effect if pages are noindex, canonicals point to other URLs, alternates provide error codes or the page content does not really belong together.
hreflang and Canonical They have to fit together. In many international setups, each language version should have a self-referential canonical. If one language version points to another language version via canonical, hreflang can become ineffective.
This is usually problematic. noindexPages are often unsuitable for hreflang clusters because they are not treated like normal indexable alternatives by search engines.
Yes. hreflang can be used not only in HTML, but also in XML sitemaps They are cared for. This is especially with large international websites often lower maintenance than a purely HTML-based maintenance.
It depends on the setup. For normal websites, HTML is often the most direct. For large international platforms, XML Sitemap-hreflang is often easier to manage centrally. HTTP headers are more likely to be used for non-HTML files such as PDFs.
Common causes are invalid codes, missing references, canonical conflicts, noindex, erroneous status codes, incomplete clusters or strong inconsistencies between language versions.
It depends on the target market. If only the language is important, a language code such as de de. If content, prices, currencies or legal notices differ per country, a combination such as de-DE or de-AT more sensible.
hreflang Helps search engines select the appropriate language or country version of a page. Canonical In contrast, it indicates which URL should be considered as the main canonical version. Both signals must fit together. If Canonical points to a different language version, hreflang can lose effect.
de de Generally stands for German-language content without a specific country. de-DE is aimed at Germany, de-AT in Austria. If content, prices, currencies or legal frameworks differ per country, a combination of countries usually makes more sense than just a language code.
Often yes. Even if the text is largely identical, hreflang can be useful if the pages are intended for different target markets, for example Germany, Austria and Switzerland. This increases the chance that Google plays the appropriate country version.
Technically yes, but the content of the pages should still be high-quality and usable. hreflang does not replace quality. If machine-translated pages are weak or faulty, this can lead to problems with rankings and user experience, regardless of the hreflang setup.
Ideally, yes: All associated variants should fully reference each other. Incomplete sets often lead to weaker or unclear hreflang clusters. Especially with large websites, a cluster-wise care is therefore worthwhile.
The checker retrieves Alternates on a random or limited basis in order to keep performance and running time within limits. As a result, the return link check is very helpful for practice, but not a complete crawl of all international variants. For large clusters, a systematic overall examination is also useful.
Finding a missing reference
Practical example · for illustration
Starting position
Check /de/ and the English variant /en/ linked therein.
Classify the findings
/de/ refers to /en/, but /en/ does not name /de/. This is an incomplete language set.
Specific amendment
Switch both templates to the same complete set, including self-references. The language pages should have suitable canonicals of their own.
Control and border
Check both URLs again after publication; a successful retrieval of the German page alone is not enough.