SEO Audit & Broken Link Checker (Site Crawler) avatar

SEO Audit & Broken Link Checker (Site Crawler)

Pricing

from $10.00 / 1,000 pages

Go to Apify Store
SEO Audit & Broken Link Checker (Site Crawler)

SEO Audit & Broken Link Checker (Site Crawler)

Crawl a website and audit every page: title, meta description, headings, canonical, noindex, Open Graph, structured data, images alt, duplicate titles, slow pages and broken links. Score per page and a site summary.

Pricing

from $10.00 / 1,000 pages

Rating

0.0

(0)

Developer

Scraper Forge

Scraper Forge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Crawl a website and get an SEO score and a clear list of issues for every page, plus a site summary and an optional broken-link report showing exactly which pages contain each dead link.

What it checks (per page)

AreaChecks
BasicsHTTP status, HTTPS, redirects, response time
Titlemissing, too short, too long, duplicate across pages
Meta descriptionmissing, too short/long, duplicate across pages
Headingsmissing H1, multiple H1, H2 count
Indexabilitymeta robots / X-Robots-Tag noindex, canonical (missing, invalid, pointing elsewhere)
Mobile & i18nviewport meta, lang attribute, hreflang alternates
SocialOpen Graph title/image, Twitter card
Rich resultsJSON-LD structured data types (and invalid JSON-LD)
Contentword count (thin content), images without alt text
Linksinternal/external/nofollow counts, broken links (optional)

Each issue has a severity (error / warning / notice), and each page gets a score from 0 to 100. Results are sorted worst page first, so you know where to start.

  • Only real failures count as broken: 404, 410, 5xx and dead domains
  • Links that block bots, need a login or rate-limit (403, 401, 429, timeouts) go to a separate "could not verify" list instead of false alarms
  • Polite checking: at most 4 requests at a time per host, so you don't hammer anyone's server (including yours)
  • A link cap and a time budget keep runs predictable; anything not checked is counted in the summary

Output

  • Dataset: one row per page (score, error/warning/notice counts, issue list, title, meta, H1, canonical, indexable, word count, links, broken links on the page…)
  • SITE_SUMMARY: average score, most common issues across the site, robots.txt and sitemap presence
  • BROKEN_LINKS: every broken link with status code and the pages it appears on, plus the "could not verify" list
{
"url": "https://example.com/pricing",
"score": 62,
"errors": 1, "warnings": 3, "notices": 2,
"issueCodes": ["broken-links", "title-too-long", "missing-meta-description", "images-missing-alt", "missing-open-graph", "no-structured-data"],
"title": "Pricing plans for teams of every size | Example – the best example product",
"titleLength": 72,
"h1": "Pricing", "h1Count": 1,
"canonical": "https://example.com/pricing",
"indexable": true,
"wordCount": 845,
"brokenLinks": [{ "link": "https://example.com/old-plan", "statusCode": 404 }]
}

Input example

{
"startUrls": [{ "url": "https://example.com" }],
"maxPages": 200,
"checkBrokenLinks": true
}

Turn off Crawl the whole site to audit only the URLs you list (e.g. a set of landing pages).

Good to know

  • No browser: fast and efficient. Pages that render their content only with JavaScript will be audited on their initial HTML.
  • The crawler respects robots.txt.
  • Schedule it weekly to catch regressions (new 404s, accidental noindex, duplicate titles).