Web data · Apify actor
An SEO score and a fix list for every page
Audit a list of pages or crawl whole websites. Each page gets a 0-100 score plus the exact issues to fix, sorted by severity: titles, descriptions, canonicals, noindex, headings, alt text, structured data, Open Graph, hreflang, HTTPS and broken links.
What it does
Website SEO Audit, in short
- Checks titles, meta descriptions, canonicals, noindex, H1-H6, word count and image alt text
- Reports JSON-LD and microdata types, invalid JSON-LD, Open Graph, Twitter cards and hreflang
- Checks HTTPS, HSTS and mixed
http://resources - Optional broken-link check (4xx, 5xx, unreachable), included in the price
- Per site: robots.txt, sitemap,
llms.txt, and which AI crawlers (GPTBot, ClaudeBot, PerplexityBot and more) are blocked - Crawls internal links breadth-first with robots.txt respected when you raise pages per site
Who it's for
Built for
noindex or links break.Example
Input and output
One dataset row per result, downloadable as JSON, CSV or Excel, or read through the Apify API.
{
"urls": ["https://www.python.org"],
"maxPagesPerSite": 3,
"checkBrokenLinks": true
}From a real cloud run, shortened. The score starts at 100 and subtracts 25 per critical, 10 per high, 5 per medium and 2 per low issue, so scores compare across runs and sites.
{
"url": "https://www.python.org/",
"statusCode": 200,
"title": "Welcome to Python.org",
"metaDescriptionLength": 52,
"canonical": null,
"indexable": true,
"headingCounts": { "h1": 5, "h2": 9 },
"imagesMissingAlt": 0,
"structuredDataTypes": ["SearchAction", "WebSite"],
"score": 86,
"issues": [
{ "severity": "medium", "code": "canonical-missing", "message": "No canonical link." },
{ "severity": "low", "code": "h1-multiple", "message": "5 <h1> headings on one page." }
],
"site": {
"robotsTxtFound": true,
"sitemapFound": false,
"llmsTxtFound": false,
"aiBotsBlocked": []
},
"error": null
}Pricing
Pay per result. Failures are free.
No subscription, no monthly minimum. Apify platform compute is included in the price; Apify also adds a tiny start fee per run ($0.00005 per GB of run memory).
| You run | You pay |
|---|---|
| 1 homepage | $0.004 |
| A 50-page crawl of one site | $0.20 |
| 500 client pages a month | $2.00 |
| 10,000 pages | $40.00 |
link checking included
Not charged:
- Pages that cannot be fetched at all: DNS failure, timeout, refused connection, TLS error
- A URL that redirects to a page already audited in the same run is not charged twice
A page that answers, including a 404 or 500 (itself an SEO finding), is audited and charged once. You can set Maximum cost per run in the run options and the actor stops cleanly when it is reached.
FAQ
Questions
Does it render JavaScript?
No. It reads the HTML the server sends, which is what most on-page checks are based on. Sites that build all their content in the browser will show low word counts, which is itself an SEO risk worth knowing about.
Does it respect robots.txt?
Yes, for every page it discovers while crawling. URLs you list yourself are always audited.
Do I pay for pages that fail?
No. Pages that cannot be fetched are listed with an error and not charged.
Is it the same as Lighthouse?
No. This is an on-page and crawlability audit, not a performance lab test. It is much faster per page and adds checks Lighthouse does not run, such as broken links, sitemap discovery and AI crawler access. Use a Lighthouse-style tool alongside it for Core Web Vitals.
Which AI crawlers are checked?
GPTBot, ChatGPT-User, OAI-SearchBot, ClaudeBot, Claude-User, PerplexityBot, Google-Extended, CCBot, Applebot-Extended, Bytespider and meta-externalagent.
Try Website SEO Audit on Apify
Apify's free plan includes monthly platform credit you can use to try it. Also callable from AI assistants through the Kanto Labs MCP server.
Other Kanto Labs tools
Tech Stack Detector
CMS, ecommerce, analytics, frameworks, CDN and hosting for any list of domains.
Document to Markdown
PDF, DOCX, PPTX, XLSX, EPUB and HTML to clean Markdown with RAG chunks.
Image to Text OCR
Photos, screenshots and scanned PDFs to text, with line boxes and confidence.