Get found on Google. Get quoted by AI.
SEO and GEO audits for programmatic sites: rank on Google and get cited by ChatGPT, Perplexity and Claude — reported per template, so every fix shows how many pages it covers.
3 free audits a day · about $0.20 each, paid by us · no sign-up · unlimited when you self-host
One report instead of four tools
13 modules, one report
Audit runs on every scan. Connect adds your own search and analytics data. Track runs on a schedule and catches regressions.
Audit
Titles, canonicals, duplicates, orphans and sitemap health, per template.
See it in the sample report →LCP, CLS and INP for each template, from Chrome field data or lab runs.
See it in the sample report →JSON-LD, freshness, a quotable verdict sentence, and whether Claude can pull the facts out.
See it in the sample report →The page with and without JavaScript — what GPTBot and ClaudeBot actually see.
See it in the sample report →Ready-to-paste JSON-LD, titles, verdict blocks, llms.txt and robots.txt.
See it in the sample report →Connect
Indexed vs submitted and clicks for each template, plus why pages aren't indexed.
See it in the sample report →Bing indexation per template — ChatGPT search relies on Bing's index.
See it in the sample report →Visits from ChatGPT, Perplexity, Gemini and Claude, by template.
See it in the sample report →Track
Your question set, asked on a schedule: cited or not, position, who's cited instead.
See it in the sample report →From your logs: which AI bots crawl which templates, and what errors they hit.
See it in the sample report →Scheduled re-audits and alerts when a deploy breaks a template.
See it in the sample report →Questions people ask, mapped to the template that should answer them.
See it in the sample report →Fail a PR when a template regresses. Run audits from Claude Code or Cursor.
See it in the sample report →How an audit works
The full pipeline, models and guardrails →- 01
Read the sitemap
Smart sampling across every sitemap family, scaled back up to estimate pages per template. robots.txt respected.
- 02
Find the templates
URL patterns plus page structure, clustered with HDBSCAN.
- 03
Check a sample
Rule checks, Core Web Vitals, and Claude reading about 5 pages per template.
- 04
Rank the fixes
By pages covered × severity, each with the code to fix it.
What runs where
The hosted demo runs on Claude and free APIs. Everything else is built and open source — self-host it and add your own keys.
Crawling, technical SEO, Core Web Vitals, what AI sees, AI crawler logs, monitoring, CI.
Fact extraction, judging and fixes, question gaps, Claude citation tracking. About $0.20 per audit.
Your Google Search Console, Bing Webmaster, and GA4 or PostHog, read-only. Coming soon: these need the site owner's own accounts.
ChatGPT, Perplexity, Gemini and Copilot citation tracking, when you self-host.
Sample reports
Pre-run audits of example sites — open one to explore every module.
Built for developers
Catch SEO and GEO regressions in pull requests, run audits from your editor, or host the whole thing yourself.
- ✓GitHub Action — fails the PR when a template's score drops or its schema disappears.
- ✓MCP server — audit_site, check_page, get_llms_txt and more, in Claude Code or Cursor.
- ✓Self-host — docker compose up: the API, the website and Postgres, with your own keys.
# .github/workflows/seogeo-audit-kit.yml
name: SEOGEO Audit Kit
on: [pull_request]
jobs:
audit:
runs-on: ubuntu-latest
steps:
- uses: jaylahoti/seogeo-audit-kit/action@main
with:
url: ${{ steps.deploy.outputs.preview-url }}
fail-on: "geo<60,high-issues>0,missing-jsonld"
anthropic-api-key: ${{ secrets.ANTHROPIC_API_KEY }} # optionalQuestions
Do you check every page?+
No — and you don't need to. Pages built from one template share its problems, so the audit uses smart sampling: it reads a fair sample of your sitemap files across every family and checks about 5 representative pages per template. The report shows exactly how pages were counted, and “Count every page” reads every sitemap file when you need the exact number. On a 1.3M-page site the estimate was within 1% of the full count.
Why per template?+
A programmatic site has thousands of pages but only a handful of templates. Fix the template and every page built from it is fixed — so that's the unit worth reporting on.
What does an audit cost?+
About $0.20 in Claude usage, paid by the hosted demo. Rules and ML run first for free; Claude only reads about 60 sample pages and the bigger model runs once. Each report shows the exact cost under “Under the hood”.
Which parts need my own keys?+
Tracking ChatGPT, Perplexity, Gemini and Copilot citations. Everything else runs on Claude or free Google and Bing APIs.
Is my site safe to point this at?+
It only fetches public pages, identifies itself as SEOGEOAuditKitBot, respects robots.txt and Crawl-delay, and caps requests per host.
See your templates
Paste a site or sitemap. Results in 2–4 minutes.