I wanted to check hreflang relationships in my browser without running a separate crawl every time something looked wrong.
A page can have hreflang tags that look perfectly reasonable while the implementation is broken elsewhere. An alternate might not link back, a canonical might point somewhere unexpected, or declarations in an XML sitemap might disagree with the HTML. I've spent enough time investigating international websites to know that looking at one page's source doesn't settle those questions. I wanted a quicker way to follow the relationships between pages and see where they failed.

From browser code to a working extension
The first version was code I ran directly in the browser. As I developed it, I brought together checks for HTML tags, HTTP headers and XML sitemaps, along with reciprocal links, canonicals and response issues. The aim was to make a finding useful for investigation, with the affected URLs and enough detail to understand what had gone wrong.
Turning that code into a Chrome extension brought different problems. The interface had to trigger the right checks, report progress and handle failures. I added caching, the ability to stop an analysis and CSV export. I also kept its purpose focused. It checks pages and their alternate relationships; it isn't intended to replace a full website crawler.

Testing it and making it available
I developed and tested the extension for my own use over several weeks. The test was practical. Could I move from a suspicious declaration to a clear finding without having to reconstruct the investigation myself? By June 2025, I had a version I was ready to share as a beta. Publishing it meant other people could try it against implementations I hadn't encountered and report problems I'd missed.

The Advanced Hreflang Module is available on the Chrome Web Store. I built it for the point in an investigation when the tags look right, but I need to know whether the pages agree with each other.
