You generated three thousand pages from a dataset. They are on disk, they are in the sitemap, and there is no traffic. indexgap tells you where they were lost — and which of the numbers on those pages your generator invented.
pipx install indexgap
cd your-project
indexgap init
indexgap check
Every general site auditor will tell you a page is thin or a title is duplicated. None of them can tell you that a visa page states a processing time that appears nowhere in the row of data that produced it. indexgap compares the numbers printed on each page against its own dataset row, and that is the check the rest of the package is built around.
It is also why indexgap never writes page text. If the package supplied those numbers itself, the check would be checking its own output and would be green forever.
On a live 2,970-page catalogue the audit reports 6,074 findings.
indexgap brief turns them into 966
work orders — because a finding that fires on nearly every page is one template
defect, and a near-duplicate cluster of 24 pages is one decision, not 24.
From auditing the keyword file before a single page exists, through the audit itself, to the crawl-to-index funnel and measuring whether AI search cites you. See all ten →
Python 3.9 and up, standard library only. No dependencies, no API keys, no
telemetry, no account. Nothing leaves your machine without an explicit flag. The
one command that queries AI search engines needs your own keys and sends nothing
without --send. MIT licensed.