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.
1 page lists a language version that does not list it back
/Missing return links from: /en-us/ (en-us)
http://127.0.0.1:8006raptor 0.3.0, 17 Oct 2026Where 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 crawlprints 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_findingswith thischeck_idreturns 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" }