Hreflang Bidirectional & Return-Tag Grapher
Google ignores hreflang when return tags are missing — if page A links to page B with
hreflang, page B must link back to A. This tool maps every annotation,
finds every missing return tag, and visualizes the full relationship graph.
Tool interface
Format A (CSV triple): SOURCE_URL, CODE, TARGET_URL — one per line.
Format B (pipe): PAGE_URL | code1: url1 | code2: url2. Both auto-detected.
Bidirectional Audit
Relationship Graph
All Annotations
| # | Source | Code | Target | Return Tag |
|---|
Introduction
Hreflang is one of the most error-prone areas of international SEO. The most common failure is the missing return tag: page A references page B, but page B doesn't reference page A back. When that happens, Google may ignore the entire hreflang cluster. This grapher finds every broken pair instantly.
How It Works
- Annotations are parsed from CSV triples or pipe-delimited format.
- Language codes are validated against BCP-47 patterns (including
x-default). - A directed map is built; each annotation is checked for a reciprocal return tag.
- Results are rendered as an SVG circular graph with color-coded edges.
Privacy
Your hreflang data is analyzed entirely in your browser. No content is transmitted anywhere. No API calls, no tracking.
Limitations
- Cannot crawl live pages; you must paste annotations (e.g., from a Screaming Frog export).
- URL matching is normalized (trailing slash stripped, lowercased) to reduce false negatives.
- Graph rendering is capped at 60 nodes for readability.
FAQ
Why does Google ignore my hreflang tags?
The most common reason is missing return tags. Hreflang must be fully bidirectional. Also check for invalid language codes and missing self-references.
Does every page need a self-reference?
Yes — Google recommends that each page include an hreflang tag pointing to itself. This tool flags pages missing self-references as warnings.
Is my data uploaded?
No. Everything is analyzed locally in your browser. Nothing is transmitted.