Hreflang Tags Tester

Enter a page URL. Find language-tag errors and check whether alternate pages link back.

The Hreflang Tags Tester checks how a page identifies its language alternatives and whether the inspected alternatives link back. Enter a public page URL to find invalid codes, conflicting destinations and missing references. The report shows evidence from delivered HTML and HTTP Link headers; a green result does not confirm indexing or the language version Google will show.

Choose the page you want to check

Use the exact page whose language relationships you want to inspect. For a translated product, that might be https://example.com/en/products/blue-shirt, rather than the homepage. The address must be publicly accessible without signing in.

Submit the URL, then open the alternative-page rows to inspect findings, declarations and final destinations. A redirect can change which page supplies the tags. The tester follows eligible alternatives declared by the starting page; it does not recursively discover every language page on your site.

If no hreflang is found, check how you publish it. Declarations available only in an XML sitemap or inserted by JavaScript are outside this analysis. Their absence from this report does not prove your site has no hreflang.

Read status and coverage together

Start with coverage, then examine the individual findings. The tester checks up to 20 pages, including the starting page, within 25 seconds. Size, time or declaration limits can leave part of the analysis unfinished.

Result Meaning Next action
Green ✓ The inspected check passed Confirm that the checked pages are the intended alternatives
Red ✕ A confirmed problem, such as an invalid code or missing return link Open the finding and correct the affected declaration
Yellow ⚠ A warning or incomplete coverage Review the reason before changing the tags
Gray — A check was unavailable or not applicable Read the explanation; do not assume a missing link

The starting page's return-link cell is not applicable: the return check concerns alternatives linking back to it. A valid self reference is a separate check.

Complete coverage means the discovered pages were checked within the supported scope. It does not mean every language relationship across the website passed. Download the JSON report if you need to preserve the evidence before making changes.

Check language codes and self references

For an English product page and its German equivalent, this illustrative set belongs in the HTML head of both pages:

<link rel="alternate" hreflang="en" href="https://example.com/en/products/blue-shirt">
<link rel="alternate" hreflang="de" href="https://example.com/de/produkte/blaues-hemd">

On the English page, the first entry is its self reference; on the German page, the second is. Use complete URLs and keep one consistent destination for each code. Two different URLs assigned to de create a conflict; repeating the same declaration in one source creates a duplicate warning.

Use en for English or en-GB for English targeting the United Kingdom. en-UK is invalid. The tester also supports script combinations such as zh-Hant. An optional x-default can identify a suitable default page; leaving it out is not an error. Google's localized-version guidance explains these codes and declaration methods.

Fix missing hreflang return links

Suppose the English page above lists the German page, but the German page lists only itself. The English-to-German declaration exists, yet the German page lacks the English entry needed to link back. Add that entry to the German page and check both URLs again. A normal navigation link is not a substitute for the hreflang declaration.

Open the missing-return finding and read its expected URL. When the starting address redirects, the tester checks for a return to its final URL. It also checks for a matching language code from the starting page's valid self references. Fix a missing self reference too; without one, the tester has less information to judge the return code.

If an alternative could not be fetched, its return link remains unverified. Restore access or retry before treating it as missing. This report checks alternatives against the submitted page, not every alternative against every other one. Run the other language pages separately to inspect those relationships.

Recheck the pages after fixing the tags

  1. Correct invalid codes, conflicting URLs and missing self references in the affected pages' declarations.
  2. Add the missing reciprocal declarations and replace redirected destinations with the intended final URLs.
  3. Run each affected language page again. Compare findings and coverage with the saved report; an unavailable check still needs attention.
  4. Review the actual content and indexing signals before considering the issue resolved.

The canonical warning has a limited purpose: it flags an HTML canonical outside the discovered group. A canonical inside that group can still point to the wrong language version without triggering this warning. Google's canonical guidance recommends a same-language canonical, or the best substitute when none exists. Use the Canonical Tag Checker to inspect the declaration and its immediate target; neither report identifies Google's selected canonical.

Review any noindex finding against your intended search visibility. For crawler access rules, use the Robots.txt Tester. The Sitemap Checker checks XML structure and URL entries, not sitemap hreflang declarations.

Finally, open the language versions and confirm they represent the same intended page in the appropriate languages. This tester does not compare their content. Google determines page language from visible text, so correct tags alone cannot establish that a translation is suitable.

Hreflang Checker FAQ

Understand the checks and their limits.

What are the limits?

Up to 20 pages including the source, four parallel requests and 200 annotations per page within 25 seconds. Each page has a six-second request limit and a 2 MiB content limit; total decoded content is capped at 16 MiB. Incomplete checks are labeled. Valid annotations do not guarantee indexing.

What is a missing return link?

Page A lists page B as an alternate, but B does not link back to A. Review both pages' annotations and include self references.

Are sitemap and JavaScript annotations checked?

No. XML sitemap annotations and tags added by running JavaScript are outside this check. No HTML or HTTP annotations does not mean that your website has no hreflang.

Is x-default required?

No. x-default is optional. Its absence is not an error; use it when you have a suitable default page.

What does this hreflang checker inspect?

It reads the supplied page's HTML and HTTP Link headers, then checks its directly declared alternate URLs for self references and return links. It does not crawl the whole website.