Missing hreflang return link

hreflang.missing_return_links
Priority
Medium
Severity
Warning

What we look for

These pages have hreflang tags (lines in <head> listing the page's versions in other languages), and at least one listed version that Raptor crawled does not list the page in return.

Why it matters

Search engines use a language pairing only when both pages confirm it, so unconfirmed pairs may be ignored and searchers may land on the wrong language.

How to fix

Add the missing hreflang tag to each listed version so it names this page too, in the page template or the plugin that writes the tags. Every version in a group should list every other version and itself.

What it cannot know

Raptor checks only versions this crawl fetched. A version on another domain, or one the crawl did not reach, is not checked.

Seen in a real crawl

From a crawl of Fernhollow Outdoor, a test site built for this site’s demo.

Medium

1 page lists a language version that does not list it back

  • /Missing return links from: /en-us/ (en-us)
Paths on http://127.0.0.1:8006raptor 0.3.0, 17 Oct 2026

Where you’ll see it

The id is stable, and every surface uses it, so it’s the thing to search for or hand to an agent.

Terminal
When it is one of the five findings under Fix first, raptor crawl prints the id under it.
Check: hreflang.missing_return_links
crawl.json and the CSV
The crawl JSON names the finding by this id, and so do the CSV and raptor_query.
"check_id": "hreflang.missing_return_links"
The HTML report
This link opens the finding in the report, and each finding shows its id.
crawl.html#finding=hreflang.missing_return_links
MCP
raptor_findings with this check_id returns the finding in full, with a fix brief ready to paste into a task. If it didn’t fire, it says why.
raptor_findings {
  "job_id": "...",
  "check_id": "hreflang.missing_return_links"
}