Build locale clusters from exported HTML and sitemap files, then check the things an hreflang set actually promises: every member links back, every member links to itself, every language tag is well-formed BCP 47, the canonical agrees with the self-link, and the cluster names at most one x-default.
This walkthrough uses the tool's public README and checked-in example files. Run the command from a repository checkout with Node.js 22+; inspect the source before using it on your own files.
Run the checked-in example
node bin/hreflang-cluster-auditor.mjs --config examples/clean/hreflang.config.json
node bin/hreflang-cluster-auditor.mjs --config site/hreflang.config.json --root site --jsonRead the result
stdout carries the JSON report and nothing else. stderr carries the human summary and diagnostics.
Where this check stops
It also never writes to the site it audits, never fetches anything, and refuses any configured path that leaves the input root, whether by spelling or through a symbolic link.
Before adapting the command to your own workflow, review the accepted inputs, exit codes and safety boundaries in the README.
Compiled with AI assistance from checked-in public documentation and example scripts. Run the example and review the repository's current documentation before relying on its result.