SEO Site Auditor — On-Page Analysis, Broken Links & Scores avatar

SEO Site Auditor — On-Page Analysis, Broken Links & Scores

Pricing

from $4.00 / 1,000 page audits

Go to Apify Store
SEO Site Auditor — On-Page Analysis, Broken Links & Scores

SEO Site Auditor — On-Page Analysis, Broken Links & Scores

Crawl a website and audit every page: title and meta checks, headings, canonical, indexability, Open Graph, structured data, image alt coverage, mixed content, thin content, redirect chains and broken links. Each page gets a 0-100 score, worst pages first.

Pricing

from $4.00 / 1,000 page audits

Rating

0.0

(0)

Developer

Igor Nersisian

Igor Nersisian

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

SEO Site Auditor — Full On-Page Audit with Scores & Broken Link Checker

Crawl any website and get a complete on-page SEO audit of every page: a 0–100 SEO score, a prioritized issue list (errors / warnings / notices), broken link detection, meta tag analysis, heading structure, structured data, Open Graph, mobile-readiness and basic performance signals — in clean JSON/CSV you can hand to a client or pipe into a dashboard.

Built for agencies, freelancers, in-house SEO teams and site owners who want repeatable, schedulable technical audits without a $100+/mo SaaS subscription.

What it checks on every page

CategoryChecks
IndexingHTTP status, noindex flags, canonical URL, redirect chains
Meta tagsTitle presence & length, meta description presence & length, charset, viewport (mobile)
ContentH1/H2 structure, word count, thin content detection, text-to-HTML ratio, lang attribute
LinksInternal/external counts, broken links (404/410/5xx/dead hosts) — each unique link checked once per run
MediaImages missing alt text
SocialOpen Graph (og:title/description/image), Twitter card
Structured dataJSON-LD blocks and their schema.org types
SecurityHTTPS usage, mixed content on secure pages
PerformanceServer response time, HTML document size

Every issue comes with severity and a human-readable message; every page gets a score, and results are sorted worst pages first so you know where to start.

Input example

{
"startUrls": ["https://your-website.com"],
"crawlWebsite": true,
"maxPages": 100,
"checkBrokenLinks": true
}

Output example (one page)

{
"url": "https://your-website.com/pricing",
"score": 76,
"statusCode": 200,
"title": "Pricing",
"titleLength": 7,
"metaDescription": null,
"h1Count": 1,
"brokenLinkCount": 2,
"brokenLinks": [{ "url": "https://your-website.com/old-page", "status": 404 }],
"imagesWithoutAlt": 3,
"wordCount": 420,
"jsonLdTypes": ["Organization"],
"issues": [
{ "severity": "error", "code": "missing-meta-description", "message": "Page has no meta description." },
{ "severity": "error", "code": "broken-links", "message": "2 broken links found on this page." },
{ "severity": "warning", "code": "short-title", "message": "Title is only 7 characters (recommended 30–60)." }
]
}

Use cases

  • Client audits & reports — run once, export CSV, deliver a prioritized fix list.
  • Continuous monitoring — schedule weekly; diff scores over time and alert on regressions via Apify integrations (Slack, email, webhooks).
  • Pre-launch QA — catch noindex flags, broken links and missing metas before a site goes live.
  • Migration verification — crawl after a redesign/replatform and compare against the old baseline.

Scheduling & integrations

Run on a schedule, export JSON, CSV, Excel, or connect Google Sheets, Zapier, Make, Slack, webhooks and the Apify API. MCP-compatible for AI agents.

FAQ

Does it render JavaScript? No — it audits server-rendered HTML, which is also what search engine crawlers parse first. This keeps audits fast and affordable. JS-only content will show as thin content, which is itself a useful SEO signal.

How is the score calculated? Errors cost 12 points, warnings 6, notices 2, from a base of 100. The formula is consistent across runs, so scores are comparable over time.

Will it crawl the whole site? It follows internal links from your start URLs up to maxPages. Subdomains are treated as separate sites (not followed).