Website SEO Audit Tool & SEO Checker with AI Search Check avatar

Website SEO Audit Tool & SEO Checker with AI Search Check

Pricing

from $7.00 / 1,000 pages

Go to Apify Store
Website SEO Audit Tool & SEO Checker with AI Search Check

Website SEO Audit Tool & SEO Checker with AI Search Check

SEO audit tool and SEO checker for any web page: title, meta description, H1, canonical, noindex, JSON-LD, plus whether ChatGPT, Claude and Perplexity bots can read it and an llms.txt check. Fixes sorted by severity, $0.01 per page.

Pricing

from $7.00 / 1,000 pages

Rating

0.0

(0)

Developer

Crawlwise

Crawlwise

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Give it page URLs, get back one row per page: a 0-100 SEO score, a list of issues sorted by severity with a fix for each, and an AI search readiness check — whether GPTBot, ClaudeBot, PerplexityBot and other AI crawlers are allowed by robots.txt, whether the site has an llms.txt, and how much of the page text AI crawlers can read without JavaScript.

One HTTP request per page, no browser: a page takes a few seconds, and you pay $0.01 per page audited.

What it checks

AreaChecks
MetaTitle (missing, length 30-60), meta description (missing, length 70-160), lang, Open Graph
HeadingsMissing H1, several H1s, skipped levels (H2 → H4)
ContentImages without alt
Indexabilitynoindex in meta robots or X-Robots-Tag, canonical missing or pointing to another URL, plain HTTP, redirect chains
Structured dataJSON-LD present, valid JSON, schema.org types found; articles have an author and a date
AI searchrobots.txt verdict for GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, PerplexityBot, Google-Extended and CCBot on this page, and a warning when they are allowed on this page only while the rest of the site is blocked (Allow: /$); /llms.txt checked against llmstxt.org (title, > summary, Markdown links, size in tokens); /llms-full.txt present; words and estimated tokens of text in the raw HTML; a <main> element

The page is fetched the way a search crawler fetches it, without browser language settings, so sites that switch language by browser get audited in the version search engines index.

Example output

Real result for https://example.com, shortened:

{
"url": "https://example.com/",
"score": 54,
"scores": { "meta": 75, "headings": 70, "content": 100, "indexability": 95, "structuredData": 85, "aiSearch": 75 },
"issueCount": { "high": 1, "medium": 3, "low": 5 },
"issues": [
{ "id": "H1_MISSING", "severity": "high", "category": "headings",
"message": "The page has no H1 heading.", "fix": "Add one H1 that states what the page is about." },
{ "id": "LITTLE_TEXT_IN_HTML", "severity": "medium", "category": "aiSearch",
"message": "Only 25 words of text are in the raw HTML. AI crawlers that do not run JavaScript see little of this page.",
"fix": "Render the main text on the server, or add more descriptive text to the page." },
{ "id": "LLMS_TXT_MISSING", "severity": "low", "category": "aiSearch",
"message": "The site has no /llms.txt.", "fix": "Add /llms.txt: a short Markdown file with the site name as '# title', a '> ' one-line summary, and links to the key pages." },
{ "id": "MAIN_ELEMENT_MISSING", "severity": "low", "category": "aiSearch",
"message": "The page has no <main> element, so parsers must guess where the content starts.", "fix": "Wrap the main content in <main> (one per page)." }
],
"aiSearch": {
"robotsTxt": "missing",
"bots": { "GPTBot": "allowed", "ClaudeBot": "allowed", "PerplexityBot": "allowed", "Google-Extended": "allowed" },
"llmsTxt": { "status": "missing", "bytes": null, "tokens": null, "hasTitle": null, "hasSummary": null, "links": null },
"llmsFullTxt": "missing",
"wordsInHtml": 25,
"textTokens": 39,
"hasMain": false,
"jsonLdTypes": []
}
}

Every row also has meta (title, description, canonical, robots, hreflang count, Open Graph), headings, images and links. The Issues to fix view in the Output tab lists every issue as its own row, ready to export to a spreadsheet.

Score: 100 minus 15 points per high, 7 per medium and 2 per low issue. Category scores work the same way, minus 30 / 15 / 5.

How much it costs

Apify planPrice per page audited
Free$0.010
Starter$0.009
Scale$0.008
Business and above$0.007

URLs that cannot be audited (site down, 404, blocked) return a row with error: true and are not charged. Platform usage is included.

On the Free plan: 10 pages = $0.10, 100 pages = $1.00.

Set a maximum cost per run in the run options and the Actor stops when it is reached.

What it does not do

  • It does not crawl: it audits exactly the URLs you give, up to 100 per run.
  • No page speed or Core Web Vitals, no browser rendering, no broken-link checking, no accessibility audit, no keyword analysis.
  • It does not ask ChatGPT or any other AI whether it mentions your site.
  • Sites that refuse automated requests (HTTP 403, bot protection) and pages that robots.txt closes to all crawlers are reported as errors, not bypassed.
  • A page that comes back empty (no title, no heading, almost no text: a bot check or a page built only by JavaScript) and a site whose TLS certificate is invalid (expired, self-signed, wrong host) are reported as errors too, instead of being audited as if they were fine. Error rows are never charged.
  • E-mail addresses and phone numbers that appear in titles or descriptions are replaced with [email] and [phone].

Use it from the API or an AI agent

API, one call that waits for the result:

curl -X POST "https://api.apify.com/v2/acts/crawlwise~seo-audit-ai-search/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"urls": ["https://example.com"]}'

AI agents: the Actor is available through the Apify MCP server. Input is a single field, urls, and each output row has issues with a fix sentence the agent can use directly.