AI Search & SEO Audit: GEO, llms.txt & Schema Checker avatar

AI Search & SEO Audit: GEO, llms.txt & Schema Checker

Pricing

Pay per event

Go to Apify Store
AI Search & SEO Audit: GEO, llms.txt & Schema Checker

AI Search & SEO Audit: GEO, llms.txt & Schema Checker

Use this to audit web pages for SEO and AI search (ChatGPT, Perplexity, Claude, AI Overviews) readiness. Input: URLs. Output: SEO and AI scores, blocked AI crawlers, schema, FAQ, author/date, llms.txt and prioritized fixes, plus Excel.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Panda Federation

Panda Federation

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

AI search audit (GEO / AEO) plus SEO checker on Apify: give it URLs and get two 0-100 scores per page, SEO and AI search readiness (ChatGPT search, Perplexity, Claude, Copilot, Google AI Overviews), with the AI crawlers your robots.txt blocks, schema, FAQ, author/date signals, llms.txt, sitemap and prioritized fixes, plus a ready-to-edit llms.txt draft. Exported to Excel, CSV and JSON. Apify's free plan includes $5 of monthly platform credit, enough for roughly 1,250 pages at $0.004 each (pricing below).

See your site the way AI crawlers see it, and get a fix list you can hand to a developer or a client.

Most AI crawlers don't run JavaScript, many sites block them by accident in robots.txt, and answer engines prefer pages with clear entities, Q&A blocks and fresh, attributed content. AI Search & SEO Audit fetches each page once, without JavaScript, and checks:

  • 🤖 AI crawler access: robots.txt rules for AI search/answer bots (OAI-SearchBot, ChatGPT-User, PerplexityBot, Claude-SearchBot, Claude-User, DuckAssistBot, Applebot, Bingbot, Googlebot) and AI training bots (GPTBot, ClaudeBot, Google-Extended, Applebot-Extended, CCBot, Meta-ExternalAgent, Bytespider, Amazonbot), plus bot firewalls that answer crawlers with 403
  • 📝 Content AI can read: words visible without JavaScript, heading structure, question-style headings, lists and tables
  • 🧩 Structured data: every JSON-LD @type, main entity (Organization, LocalBusiness, Product, Article…), FAQPage / HowTo, invalid JSON-LD
  • 🕒 Trust signals: author and published / updated dates (meta tags or schema)
  • 🗺️ Discovery: llms.txt and llms-full.txt, XML sitemap, canonical, noindex
  • 🔍 SEO basics: HTTP status, title and meta description length, one H1, viewport, lang, HTTPS, image alt text, server response time, Open Graph
  • ✍️ llms.txt draft for every site without one (free)
  • 📊 Excel + CSV: Pages, Fixes (one row per fix, by priority) and Sites sheets
  • 💸 $0.004 per page. 250 pages cost $1.00. Pages that can't be reached are listed free

Who it's for

  • SEO and GEO / AEO consultants, agencies and Fiverr / Upwork freelancers: a client-ready AI search audit in minutes, priced for volume
  • Site owners and marketers: find out why ChatGPT or Perplexity never cite you, starting with the blockers
  • Developers: check a release for robots.txt mistakes, client-side-only rendering and broken JSON-LD
  • Lead-gen teams: score prospects' websites and pitch with concrete fixes (pairs with Local Business Leads)

How to use the AI search audit

  1. Click Try for free.
  2. Paste page URLs, one per line (example.com/pricing works).
  3. Optional: set Also audit internal pages (e.g. 10) to check pages linked from each URL, for a quick whole-site pass from the homepage.
  4. Set Maximum pages. You pay per audited page, so this also caps the cost.
  5. Click Start. 50 pages take about a minute. Download AUDIT_XLSX from Storage → Key-value store, or use the dataset via API.

Input example

{
"urls": ["https://react.dev", "https://apify.com"],
"crawlInternalLinks": 3,
"maxPages": 20,
"generateLlmsTxt": true
}

Output example

Example output table from a real ai-search-seo-audit run

One row per page. A real row from the example above (shortened):

{
"url": "https://react.dev",
"statusCode": 200,
"seoScore": 85,
"aiReadinessScore": 55,
"title": "React",
"titleLength": 5,
"h1Count": 2,
"h2Count": 15,
"questionHeadings": 0,
"wordCount": 1236,
"schemaTypes": [],
"author": null,
"aiSearchBotsBlocked": [],
"aiTrainingBotsBlocked": [],
"llmsTxt": true,
"sitemapFound": false,
"responseMs": 97,
"fixes": [
"[medium] [SEO] Title is 5 characters; aim for 10 to 65 so it is not cut off.",
"[medium] [AI] No JSON-LD structured data. Add schema.org markup (Organization, LocalBusiness, Product, Article…) so AI and search engines understand the entity.",
"[medium] [AI] No question-style headings or FAQ schema. AI answers pull from clear Q&A blocks: add an FAQ section with real customer questions (and FAQPage schema).",
"[medium] [AI] No author or date signals. Show who wrote or owns the content and when it was updated (and mark it up in schema)."
],
"agentSummary": "https://react.dev: SEO 85/100, AI readiness 55/100; 1236 words without JS; schema: none; llms.txt yes; top fix: Title is 5 characters; aim for 10 to 65 so it is not cut off."
}

Fields

FieldWhat it is
seoScore, aiReadinessScore0-100 scores (see scoring below)
aiSearchBotsBlocked, aiTrainingBotsBlocked, crawlerBlockedAI bots disallowed for this URL in robots.txt; whether a bot firewall answered crawlers with 403/429/503
wordCount, scriptCountWords visible in the raw HTML (no JavaScript) and number of scripts
schemaTypes, faqSchema, invalidJsonLdJSON-LD types found, FAQ/HowTo present, broken blocks
author, datePublished, dateModifiedAuthorship and freshness signals
title, metaDescription, h1, h1Count, h2Count, questionHeadingsOn-page basics
canonical, noindex, lang, mobileViewport, openGraph, imagesMissingAlt, responseMsTechnical SEO
llmsTxt, sitemapFound, robotsTxtStatusSite-level discovery files
fixes[priority] [SEO or AI] what to do, highest priority first
errorOnly on pages that couldn't be audited (not charged)
agentSummaryOne plain-English line per page

SEO score (100): HTTP 200 (15), indexable (15), title 10-65 chars (10), meta description 50-165 (10), one H1 (10), canonical (5), viewport (5), lang (5), HTTPS (5), image alt text (5), 300+ words (10), HTML under 1.5 s (5). AI readiness score (100): AI search crawlers allowed (20), 150+ words without JavaScript (15), JSON-LD (10), main entity type (5), FAQ schema or question headings (10), author + date (10), llms.txt (5), sitemap (5), meta description (5), H1 + H2 structure (5), lists/tables (5), Open Graph title + image (5). A bot firewall that blocks crawlers costs 20 points. AI training bots are reported but not scored: blocking them is a business choice and doesn't stop AI search citations.

Files in the key-value store

KeyWhat it is
AUDIT_XLSXExcel workbook: Pages, Fixes (one row per fix, colored by priority), Sites (robots.txt, AI bots, sitemaps, llms.txt and draft), Run log, Read me
AUDIT_CSVPages table as CSV
LLMS_TXT_DRAFTSJSON: site → ready-to-edit llms.txt draft, for sites without one
SUMMARYJSON: average scores, per-site findings, one-line takeaway and nextStep

For AI agents

Use this Actor to audit web pages for SEO and AI search (GEO/AEO) readiness and get prioritized fixes. Call it with Apify's MCP server (https://mcp.apify.com, tool call-actor, Actor pandadad0214/ai-search-seo-audit) or the API (POST https://api.apify.com/v2/acts/pandadad0214~ai-search-seo-audit/run-sync-get-dataset-items).

Minimal input:

{"urls": ["https://example.com"], "crawlInternalLinks": 5}

Each dataset item includes agentSummary (one line with both scores, words without JS, schema, blocked AI bots, llms.txt and the top fix), seoScore, aiReadinessScore, aiSearchBotsBlocked and fixes (strings, highest priority first). The SUMMARY record has averageSeoScore, averageAiReadinessScore, sites, a one-line takeaway and nextStep. Unreachable pages come back with error and are not charged.

AI search audit pricing

Apify paid-plan discounts: Bronze members pay 10% less, Silver 20% less and Gold 30% less per page. Free-plan prices are shown below; the discount applies automatically.

$0.004 per page audited (pay-per-event), plus a tiny Actor-start fee of $0.00005. Excel, CSV, llms.txt drafts and the summary are included. Pages that can't be reached, aren't HTML or block the crawler cost nothing. Your maximum charge per run is respected.

FAQ

Is there a free way to try this GEO audit? Yes. Apify's free plan includes $5 of monthly platform credit, enough for roughly 1,250 pages.

Does it check whether ChatGPT actually cites my site? No. It checks whether your pages are technically ready to be crawled, understood and quoted. Citation tracking needs live AI queries; this tool fixes the foundations first.

Why audit without JavaScript? OpenAI, Anthropic, Perplexity and most other AI crawlers fetch raw HTML and don't run JavaScript. If your content only appears after scripts run, they see an empty page.

Does llms.txt help? It's a proposed standard that some AI tools read. It's cheap to add, so the audit drafts one for you, but it's weighted lightly.

Is it safe to run on any site? It makes one normal request per page plus robots.txt, sitemap and llms.txt per site, identifies itself in the User-Agent and never submits forms or logs in. Audit sites you own or have permission to review.

Can I use it from code or an AI agent? Yes, via the Apify API, the Python/JS clients, or as a tool through Apify's MCP server.

More Panda Federation tools

All Panda Federation Actors on Apify

Questions or a custom check? Open an issue on this Actor's Issues tab.

Changelog

  • 2026-11-01: First public release: SEO and AI readiness scores, AI search vs training crawler checks, bot-firewall detection, JSON-LD/FAQ/author/date checks, llms.txt and sitemap detection, llms.txt drafts, internal-page crawl, Excel/CSV exports, agent-friendly agentSummary and takeaway, pay-per-event pricing with Bronze/Silver/Gold discounts.