SEO Site Auditor: Score, Broken Links & Prioritised Fixes avatar

SEO Site Auditor: Score, Broken Links & Prioritised Fixes

Pricing

$7.00 / 1,000 page auditeds

Go to Apify Store
SEO Site Auditor: Score, Broken Links & Prioritised Fixes

SEO Site Auditor: Score, Broken Links & Prioritised Fixes

Fast, low-cost technical SEO audit of your website: 0-100 site score, top 10 prioritised fixes, broken links, titles, meta descriptions, H1s, canonicals, noindex, alt text, JSON-LD and Open Graph. Clean JSON for AI agents.

Pricing

$7.00 / 1,000 page auditeds

Rating

0.0

(0)

Developer

Luke Main

Luke Main

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 hours ago

Last modified

Features

Limited permissions

Share

Run a technical SEO audit of your website in minutes and get back exactly what to fix first: a 0-100 site score, a top 10 prioritised fix list (with how-to-fix advice and example URLs), and a clean per-page JSON report covering status codes, titles, meta descriptions, H1s, canonicals, noindex, broken internal and external links, missing image alt text, page size, response time, JSON-LD structured data and Open Graph tags.

US$7 per 1,000 pages audited. The site summary, top fixes and link checks are free. No proxy, no headless browser, no monthly subscription.

Built with AI and maintained by Luke Main (Apify: luke-main). Please audit sites you own or manage. The crawler identifies itself (SEOSiteAuditor user agent), respects robots.txt by default and stays on your site.

Why this auditor

  • Fix list, not a data dump. The first dataset row is a site summary with a score, a grade and the 10 fixes that move the score most, ranked by severity and how many pages they affect. Each fix has a plain-English howToFix and example URLs.
  • Built for AI agents and automations. Stable field names, one row type per record (summary or page), machine-readable issue codes (missing_h1, broken_internal_links, ...) and a ready-made Markdown REPORT an LLM can read in one go. Works well as a tool for Claude, ChatGPT, LangChain, n8n, Make and Zapier.
  • Fast and cheap. Lightweight HTTP crawling (Crawlee CheerioCrawler). A 50-page audit typically finishes in under a minute and costs about US$0.08.
  • Honest scoring. The scoring formula is published below, so you can explain a score to a client.

What it checks

AreaPer-page fieldsIssue codes
HTTPstatusCode, redirected, finalUrl, responseTimeMs, pageSizeKbhttp_error, fetch_failed, redirected, slow_response, large_page
Title & metatitle, titleLength, metaDescription, metaDescriptionLengthmissing_title, title_too_long (>60), title_too_short (<30), missing_meta_description, meta_description_too_long (>160), meta_description_too_short (<70), duplicate_title, duplicate_meta_description
Headings & contenth1Count, h1, wordCount, lang, hasViewportmissing_h1, multiple_h1, thin_content, missing_lang, missing_viewport
Indexingcanonical, canonicalIsSelf, noindex, nofollow, hreflangnoindex, missing_canonical, canonical_mismatch
LinksinternalLinks, externalLinks, brokenInternalLinks[], brokenExternalLinks[]broken_internal_links, broken_external_links
ImagesimagesTotal, imagesMissingAlt, imagesMissingAltSampleimages_missing_alt
Structured data & socialjsonLdTypes, openGraph, twitterCardno_structured_data, invalid_json_ld, missing_open_graph
SiterobotsAndSitemaps (summary row)no_robots_txt, no_sitemap

A link counts as broken on 404, 410, any 5xx or a connection failure. 401/403/429 responses (logins and bot protection on sites like LinkedIn) are not reported as broken.

Input

FieldDefaultWhat it does
startUrls(required)Your home page or a section, e.g. https://yoursite.com.
maxPages50Hard cap on pages audited. Also caps your cost.
crawlScopesame-hostnamesame-hostname stays on your host (www and non-www count as one); same-domain adds subdomains.
respectRobotsTxttrueSkips URLs disallowed for *.
checkExternalLinkstrueChecks outbound links too.
maxLinkChecks500Max link URLs checked (most-linked first). Free.
maxConcurrency5Parallel requests to your server.
slowResponseMs2000Threshold for slow_response.
includePageIssuesOnlyfalseOutput only pages with critical/high issues (all pages are still audited and charged).
{
"startUrls": [{ "url": "https://yoursite.com" }],
"maxPages": 200,
"checkExternalLinks": true
}

Output

Row 1: site summary (also saved as SUMMARY in the key-value store):

{
"type": "summary",
"siteScore": 81, "grade": "B", "pagesAudited": 50,
"issuesBySeverity": { "critical": 2, "high": 9, "medium": 31, "low": 64 },
"topFixes": [
{ "rank": 1, "code": "broken_internal_links", "severity": "critical",
"issue": "Page links to broken internal URLs",
"howToFix": "Update or remove links to internal URLs that return 4xx/5xx, or redirect those URLs.",
"affectedPages": 6, "affectedPct": 12, "exampleUrls": ["https://yoursite.com/blog/old-post"] }
],
"brokenLinks": 4, "duplicateTitles": 3, "avgResponseTimeMs": 412,
"robotsAndSitemaps": { "yoursite.com": { "robotsTxt": true, "sitemapFound": true, "sitemaps": ["https://yoursite.com/sitemap.xml"] } }
}

Rows 2+: one row per page (type: "page") with every field in the table above, an issues array (code, severity, message) and a pageScore.

REPORT (key-value store): a short Markdown report with the score and top 10 fixes, ready to paste into an email, a ticket or an LLM prompt.

Dataset views: Pages, Issues per page, Site summary & top fixes. Export as JSON, CSV, Excel or HTML.

Scoring

  • Page score = 100 minus 25 per critical, 10 per high, 5 per medium and 2 per low issue (minimum 0).
  • Site score = average page score minus a small penalty for a missing sitemap (3) or robots.txt (1).
  • Grades: A 90+, B 80+, C 70+, D 55+, F below 55.
  • Top fixes are ranked by severity weight x (0.3 + 0.7 x share of pages affected), so a medium issue on every page can outrank a high issue on one page.

Pricing

Pay per event: US$0.007 per page audited (US$7 per 1,000 pages). The summary row, top fixes, Markdown report, robots/sitemap checks and link checks are free. Set a max charge on the run and the crawl stops at what it allows. Apify platform usage is included in the price.

Integrations: put audits on autopilot

  • Weekly SEO health check. Create an Apify Schedule (e.g. Monday 7 am) and add the email or Slack integration on the Integrations tab to get the score and top fixes every week.
  • Google Sheets. Add the Google Sheets integration to log each run's pages, or just the summary row, and chart your score over time.
  • Zapier, Make and n8n. Use the Apify app with the trigger "Actor run finished", then "Get dataset items" (or fetch the SUMMARY record) to open tickets in Jira, Linear, Trello or Notion for each top fix.
  • Webhooks. Add a webhook on ACTOR.RUN.SUCCEEDED to call your CI or deploy pipeline and fail a release when the score drops or broken links appear.
  • AI agents and MCP. Call the Actor from Apify's MCP server or the API from Claude, ChatGPT, Cursor or your own agent, and give the model the REPORT record. Issue codes and howToFix text make it easy for an agent to draft fixes or explain them to a client.
  • API. POST https://api.apify.com/v2/acts/luke-main~seo-site-auditor/run-sync-get-dataset-items?token=YOUR_TOKEN with the input JSON returns the summary and pages in one call for small sites.

Use cases

  • Agencies and freelancers: a quick pre-sales or monthly technical SEO audit with a client-ready fix list.
  • Developers: catch broken links, missing titles and noindex mistakes before or after a deploy.
  • Site owners: a free-of-subscription SEO checker you run when you need it.
  • AI agents: a reliable "audit this site" tool that returns structured JSON.

Limits and notes

  • HTML is fetched over plain HTTP, without running JavaScript. Sites that render all content client-side (some single-page apps) may show missing titles or links even though browsers see them. Server-rendered and static sites, WordPress, Shopify, Webflow, Next.js/Nuxt with SSR and Docusaurus are fine.
  • No Core Web Vitals or Lighthouse scores: responseTimeMs is the time to download the full HTML from Apify's servers (US), not a field-data metric.
  • No backlink, keyword ranking or traffic data.
  • Only text/html pages are audited; images, PDFs and other files are skipped and not charged.
  • If a site blocks datacenter IPs, pages may show fetch_failed or HTTP 403.

FAQ

Is it free to try? Apify's free plan credit covers thousands of audited pages.

Will it hammer my server? No. Default concurrency is 5 with a 240 requests/minute ceiling, and you can lower it.

Can I audit a competitor? The tool reads only public pages and respects robots.txt, but it is designed for your own sites. Please follow each site's terms.

Who made this? Luke Main, built with AI assistance. Feedback and feature requests are welcome in the Issues tab.