Hreflang Checker (Free)

Point it at your site, sitemap or build folder and see every hreflang pair Google may ignore, with the reason.

Hreflang Checker (Free) cover

What it does

Check hreflang the way Google describes it: valid language and region codes, every page listing itself, return links between every pair, one URL per code, x-default, and alternates that redirect, 404, are noindex or canonicalize somewhere else. Works on a live site, an XML sitemap, or a static build folder before you deploy.

python3 -m hrefcheck https://example.com/ --max-pages 50                 # live: reads <head> tags and HTTP Link headers, follows alternates
python3 -m hrefcheck --sitemap https://example.com/sitemap.xml           # xhtml:link annotations in a sitemap (file or URL)
python3 -m hrefcheck --dir dist --base https://example.com/ --csv issues.csv   # a local build, mapped to its public URLs

Exit code 1 if there's anything high severity, so it can run in CI.

What you get

The screenshot is real output from the kit’s own commands. Tested from a fresh download of this exact zip: ./run_tests.sh ran 6 tests OK on Python 3.13 and 3.10.

Real terminal output from Hreflang Checker: demo and passing tests

What it checks

  • Codes: ISO 639-1 language first, optional ISO 15924 script (zh-Hant) and ISO 3166-1 alpha-2 region; catches en_US, region alone (gb), en-UK (use en-GB), EU/UN, es-419, three-letter languages, unknown codes.
  • Sets: fully-qualified URLs only, each page lists itself (and with the exact URL form), no code pointing to two URLs, x-default present, a language catch-all when you have several regions (en-GB + en-US but no en).
  • Pairs: every alternate links back, and calls this page by the same code; differences in trailing slash or www are pointed out.
  • Targets (live and --dir): alternates that redirect, return 4xx/5xx, are noindex (meta robots or X-Robots-Tag), or have a rel=canonical pointing elsewhere; hreflang tags placed outside <head>; HTML tags and Link header that disagree.
  • Sitemaps: the xhtml namespace, valid XML, alternates with no <url> entry of their own.

Rules follow Google Search Central's "Tell Google about localized versions of your page" (checked Nov 9, 2026). Run ./demo.sh for the examples and ./run_tests.sh for the tests. Python 3.9+, no dependencies.

Honest limits

  • Private and local addresses are blocked by default; set HREFLANG_ALLOW_PRIVATE=1 to check a staging server on your network.
  • --max-pages (default 50) caps a crawl; the report says how many linked pages weren't checked.
  • Sites that block bots may return different pages to this checker than to Google.

Format and license

Zip, 17 KB, v1.0, 18 files. Free to use, modify and share for any purpose, including commercial work, as long as this notice stays in copies. Not affiliated with or endorsed by Google.

FAQ

Is it free?
Yes, free to use, change and share.
Does it need an account or API key?
No, it runs on your computer.
Can I check before deploying?
Yes, point --dir at your build folder and --base at the public URL.
How do I get the files?
Click Download free. The zip downloads straight away: no checkout, no account.
Do I have to sign up for the newsletter?
No. The form is optional and the download works without it.

Get Hreflang Checker (Free)

Free hreflang checker: invalid codes, missing self-references and return links, x-default, and alternates that redirect, 404 or are noindex.

Pairs well with

Download$19

Google Merchant Center Feed Checker Skill

Check a Google Merchant Center feed before upload: prices, GTIN check digits, identifiers, availability dates, variants, with a fixed copy. $19 once.

View Google Merchant Center Feed Checker Skill
Download$29

SEO Log File Analyzer

Analyze server logs for SEO: verified vs fake Googlebot, crawl waste on 404s and redirects, sitemap URLs never crawled, GPTBot/ClaudeBot. $29 once.

View SEO Log File Analyzer
DownloadFree

llms.txt Generator (Free)

Free llms.txt generator: build llms.txt from your site folder or sitemap, write Markdown copies of pages, and check any llms.txt and its links.

View llms.txt Generator (Free)

Related