Website SEO Audit Crawler — On-Page Analyzer avatar

Website SEO Audit Crawler — On-Page Analyzer

Pricing

from $5.00 / 1,000 results

Go to Apify Store
Website SEO Audit Crawler — On-Page Analyzer

Website SEO Audit Crawler — On-Page Analyzer

Crawl a whole website and export an on-page SEO audit to CSV/JSON: meta tag checker, canonical & noindex checker, schema.org type extractor. No browser.

Pricing

from $5.00 / 1,000 results

Rating

0.0

(0)

Developer

Logiover

Logiover

Maintained by Community

Actor stats

0

Bookmarked

61

Total users

22

Monthly active users

4 days ago

Last modified

Share

Website SEO Audit Crawler — On-Page SEO Analyzer & SEO Spider (No API)

Apify Actor No API key Pay per result SEO Audit Export

Audit the on-page SEO of an entire website in one run. This SEO crawler / SEO spider starts from a single URL, follows every internal link across the domain, and runs a full on-page SEO audit on each page — titles, meta descriptions, headings, canonical tags, robots/indexability, Open Graph, Twitter cards, hreflang, schema.org types, an honest word count, image alt coverage and internal/external link counts — then hands you a ready-made list of detected SEO issues per page. Point it at your homepage and it audits thousands of pages automatically. Fast, pure HTTP, no headless browser, no login, one row per page.

🏆 Why this SEO audit crawler?

28 on-page fields per page · 13 automatic issue flags · thousands of pages per run · full-site internal-link crawl · boilerplate-free word count · schema.org type detection · pure HTTP (no browser, no API key) · export to JSON / CSV / Excel. The unofficial technical SEO audit tool and bulk meta-tag / canonical / noindex checker for site audits, content audits and pre-launch QA.


✨ What this Actor does / Key features

  • 🕷️ Full-site crawl — start from one URL and follow internal links across the whole domain (same-domain strategy, asset URLs skipped automatically).
  • 🏷️ Complete on-page data — title, meta description, H1s, H2 count, canonical, meta robots, Open Graph, Twitter card, hreflang, lang, charset and viewport for every page.
  • 🧱 Structured-data detection — extracts every schema.org @type from JSON-LD (including entries inside @graph).
  • 🚩 13 automatic issue flags — missing/too-long/too-short titles, missing/too-long/too-short meta descriptions, missing or multiple H1, missing canonical, noindex, images without alt, missing viewport and thin content.
  • 🔢 Honest quality metrics — a boilerplate-free word count (scripts, styles, nav, header, footer and sidebars stripped), image alt coverage, and internal vs. external link counts.
  • 🔗 Link accounting — counts internal and external links per page so you can spot orphaned or over-linked pages.
  • Fast & cheap — pure HTTP with Cheerio, no headless browser, configurable high concurrency.
  • 🔑 No API key, no login — just an Apify account and a start URL.

🚀 Quick start (3 steps)

  1. Configure — paste one or more website URLs into Start URLs (your homepage is a great seed). Set Max pages to crawl — use 0 to audit the whole site.
  2. Run — click Start. The crawler spiders internal links and audits the server-rendered HTML of every page, streaming one row per page into your dataset.
  3. Get your data — open the Output tab and export to JSON, CSV, Excel or XML, or pull it via the Apify API. Sort or filter by the issues column to build a prioritized fix-list.

📥 Input

Give the Actor at least one entry in startUrls. Everything else is optional.

Example — full-site audit of a whole domain

{
"startUrls": [{ "url": "https://example.com" }],
"maxPagesToCrawl": 0,
"maxConcurrency": 10
}

Example — quick 500-page sample of a large site

{
"startUrls": [{ "url": "https://example.com" }],
"maxPagesToCrawl": 500,
"maxConcurrency": 20
}

Example — audit several sites (or sections) in one run

{
"startUrls": [
{ "url": "https://example.com" },
{ "url": "https://blog.example.com" },
{ "url": "https://shop.example.com" }
],
"maxPagesToCrawl": 2000,
"maxConcurrency": 10
}
FieldTypeDescription
startUrlsarrayWebsites to crawl. The crawler follows internal links from each seed and audits the on-page SEO of every page it reaches. Accepts objects ({ "url": "https://…" }) or plain URL strings. Required.
maxPagesToCrawlintegerMaximum pages to crawl per run. Set 0 for no limit (crawl the whole site). Default 1000, minimum 0.
maxConcurrencyintegerNumber of parallel requests. Lower this if the target site rate-limits you. Default 10, minimum 1.

Tip: Set maxPagesToCrawl to 0 for a complete site audit, then schedule the run to monitor on-page SEO health over time. Lower maxConcurrency if you start seeing failed requests on a rate-limited host.

📤 Output

One row per page — 28 fields plus a crawledAt timestamp, exportable to JSON, CSV, Excel or XML. Here is a trimmed sample record:

{
"url": "https://example.com/blog/post",
"statusCode": 200,
"title": "How to Do On-Page SEO",
"titleLength": 22,
"metaDescription": null,
"metaDescriptionLength": 0,
"h1": ["How to Do On-Page SEO"],
"h1Count": 1,
"h2Count": 6,
"canonical": "https://example.com/blog/post",
"metaRobots": null,
"isIndexable": true,
"lang": "en",
"charset": "utf-8",
"hasViewport": true,
"hreflangCount": 0,
"wordCount": 1240,
"imagesCount": 8,
"imagesMissingAlt": 3,
"internalLinks": 41,
"externalLinks": 6,
"ogTitle": "How to Do On-Page SEO",
"ogImage": "https://example.com/img/og.png",
"twitterCard": "summary_large_image",
"schemaTypes": ["Article", "BreadcrumbList"],
"issues": ["missing-meta-description", "images-missing-alt"],
"crawledAt": "2026-07-06T12:00:00.000Z"
}

💡 Use cases

  • Technical SEO audits — surface on-page issues across a whole site in a single run and hand clients a prioritized fix-list from the issues column.
  • Content audits — spot thin content (thin-content), missing meta descriptions and duplicate/missing titles at scale.
  • Pre-launch QA — verify titles, canonicals and indexability before a site goes live so nothing ships with noindex or a broken canonical.
  • Migration & redesign checks — confirm meta tags, canonicals and indexability survived a redesign or platform migration.
  • SEO monitoring — schedule the crawl and track on-page SEO health, word counts and issue counts over time.
  • Structured-data coverage — inventory which pages expose which schema.org @types (Article, Product, FAQPage, BreadcrumbList…).

👥 Who uses it

SEO agencies & consultants · in-house SEO and content teams · web developers & QA engineers running pre-launch checks · growth marketers auditing landing pages · site owners monitoring on-page health after migrations.

💰 Pricing

This Actor runs on a simple pay-per-result model — you pay for the audited pages you extract, with no separate Apify platform fees to calculate. Try it on the free tier first, then scale up to full-site crawls. See the Pricing tab on this page for the current rate.

❓ Frequently Asked Questions

Is it legal to crawl a website for an SEO audit? Yes. The Actor reads only the publicly served HTML of the pages it crawls — the same content search-engine crawlers fetch. You are responsible for crawling sites you own or are authorized to audit, respecting each site's terms of service, and using the data lawfully.

Is there a public SEO audit API? Is this an API alternative? This Actor is a self-contained crawl-and-audit engine, so it works as an on-page SEO API alternative — point it at a URL and it returns structured on-page data and detected issues for every page as JSON/CSV, with no third-party API key required.

Do I need an API key or a login? No. There is no third-party API key or login required — only an Apify account. The crawler fetches public HTML over direct HTTP.

Can I crawl a website for SEO without a browser? Yes — this is a pure-HTTP SEO crawler (Cheerio, no headless browser), so it audits server-rendered HTML fast and cheap across thousands of pages. Note that content injected purely by client-side JavaScript after load is not evaluated.

Does it render JavaScript? No — it audits the server-rendered HTML, which is what search engines index first. This keeps runs fast and inexpensive.

How much data can I get / how many pages can I crawl? You can audit thousands of pages per run. Set maxPagesToCrawl to 0 to crawl the whole site with no cap, or set a number to sample a large site. Throughput scales with maxConcurrency.

How do I export an on-page SEO audit to CSV or JSON? Run the crawl, then download the dataset as CSV, JSON, Excel or XML (or pull it via the REST API). Every audited page is one row, so it drops straight into a spreadsheet or BI tool.

Is there a site-wide meta tag and canonical checker?

Yes — it works as a bulk meta-tag checker and a noindex/canonical checker across the whole site, flagging missing titles, missing meta descriptions, multiple H1s, missing canonicals and noindex pages in the issues column.

Does it extract schema.org structured-data types?

Yes — it acts as a schema.org type extractor, pulling every JSON-LD @type it finds on each crawled page (including types nested inside @graph) into the de-duplicated schemaTypes field.

How do I run a full on-page SEO audit of my whole website?

Paste your homepage into Start URLs, set Max pages to crawl to 0, and the crawler audits every page's title, meta, canonical, headings, word count and issues in one run — one row per page.

Can I find all pages accidentally set to noindex?

Yes. After the crawl, filter the export where isIndexable is false (or where issues contains noindex) to surface every page carrying a noindex robots directive across the site.

How is wordCount calculated?

From the body text after removing script, style, noscript, nav, header, footer and aside elements — an honest content word count that ignores boilerplate and navigation.

How do I catch titles and meta descriptions that will be truncated in search results?

Sort or filter by titleLength and metaDescriptionLength, or look for the title-too-long / meta-description-too-long issue flags, to find tags that exceed the lengths search engines typically display.

🔗 More website-crawling & SEO tools by logiover

Building a full site-intelligence pipeline? Pair the SEO audit with the rest of the crawling suite:

ActorWhat it does
Broken Link CheckerCrawl a site and find dead links with their HTTP status codes
Website Link Graph CrawlerMap internal and outbound links to build a site link graph
Website Tech Stack DetectorDetect CMS, frameworks, analytics and other technologies per site
Website Text & Markdown CrawlerCrawl a site and export clean page text / Markdown at scale
JSON-LD Schema & Meta Tag ExtractorDeep structured-data and meta-tag extraction per URL
Sitemap to URL CrawlerExtract every URL from any sitemap.xml (recursively)
URL to MarkdownConvert any page into clean Markdown for LLMs and docs
Website Image & Media ExtractorExtract all images and media assets from a site
Bulk URL Status CheckerBulk HTTP status, redirect chains and response-time checks
Website Contact ScraperExtract emails, phones and social links from any list of websites
Website Change MonitorDetect and track content changes on pages over time
Bulk HTTP Security HeadersAudit HSTS, CSP, X-Frame-Options and other security headers in bulk

👉 Browse all logiover scrapers on Apify Store — 180+ actors across real estate, jobs, crypto, social media & B2B data.

⏰ Scheduling & integration

Schedule this Actor on Apify to re-audit your site daily or weekly and catch SEO regressions the moment they ship. Export results to JSON, CSV or Excel, sync to Google Sheets, or push to your database, BI tools and webhooks through the Apify API. Connect it to Make, n8n or Zapier to trigger alerts when the count of pages with issues — or noindex pages — rises after a deploy.

⭐ Support & feedback

Found a bug or need an extra on-page check or field? Open an issue on the Issues tab — response is usually fast. If this Actor saves you time, a ★★★★★ review on the Store page genuinely helps and is hugely appreciated. 🙏

This Actor reads only publicly served HTML and is intended for legitimate SEO-audit, QA and research use on sites you own or are authorized to audit. You are responsible for complying with each site's terms of service, GDPR and any applicable local laws when using the data.


📝 Changelog

2026-07-06

  • ✨ README overhaul: added shields badges, ready-to-run example scenarios, a complete 28-field output reference with all 13 issue flags, expanded high-intent FAQ, and a cross-linked website-crawling tool grid.

2026-07-01

  • Maintenance pass: re-verified end-to-end on live data and confirmed successful runs within the 5-minute quality window on the default input.
  • Sharpened Store metadata (SEO title & description) and expanded the FAQ with high-intent, long-tail questions for easier discovery in Google and Apify Store search.
  • Added ready-to-run example tasks that cover common real-world use cases.

2026-06-15

  • Reliability pass: re-verified end-to-end on live data with real-world inputs. Routine maintenance build.

2026-06-07

  • Docs: added coverage for exporting an on-page SEO audit to CSV/JSON, crawling a site without a browser, and site-wide meta tag / canonical / schema.org type checking.

2026-06-05

  • 🛡️ Reliability fix: results are no longer dropped by strict output validation — runs now complete cleanly even at high volume (thousands of results).
  • ⚡ Stability & performance hardening; fresh rebuild.

2026-06-04

  • Verified live & refreshed build — reliability/maintenance pass.