SEO & Technical Site Audit avatar

SEO & Technical Site Audit

Pricing

Pay per usage

Go to Apify Store
SEO & Technical Site Audit

SEO & Technical Site Audit

Combined technical SEO audit: broken links, redirect chains, on-page checks, sitemap/robots health. Client-ready HTML report + structured JSON.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Berkay

Berkay

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

3

Monthly active users

a day ago

Last modified

Share

Crawl a website and get every broken link, redirect chain, on-page SEO problem, and sitemap issue in one run — as a clean JSON dataset plus an HTML report you can hand to a client.

Most link checkers on the Store do exactly one thing: find 404s. This actor runs the full technical pass in a single crawl, so you're not stitching together four different tools to audit one site.

What it checks

  • Broken links (4xx / 5xx) — internal and external, with the page they were found on and the anchor text. It also catches broken #fragment anchors, which most checkers quietly skip.
  • Redirect chains — every hop, the final URL, and the chain length, so you can flatten 301 → 302 → 200 messes that waste crawl budget and leak link equity.
  • On-page SEO — missing or duplicate titles and meta descriptions, missing or multiple H1s, images without alt text, missing canonicals, and accidental noindex tags.
  • Sitemap & robots health — whether your sitemap is reachable and valid, and which crawled pages never appear in it (orphan hints).

Every issue is graded by severity (critical / warning / info) and rolled up into a single health score.

How it's different

I built this because the existing options are either single-purpose (just broken links) or haven't been touched in over a year. A few things I cared about:

  • One crawl, full picture — links, redirects, on-page, and sitemap in the same run instead of four separate actors.
  • Output you can actually use — flat, predictable JSON (one row per page, with that page's issues nested alongside its SEO fields) that drops straight into n8n, Make, a Google Sheet, or your own script. Plus an HTML report for the people who sign off on the work but don't read JSON.
  • No start fee — most audit actors on the Store charge a flat $0.035–$0.04 just to launch a run, before they've checked a single page. This one only bills per page actually crawled. A quick 20-page spot-check stays cheap.
  • Polite by default — respects robots.txt, rate-limits itself, and sends a clear user agent. It won't hammer the site you're auditing.
  • Kept up to date — if a check breaks or a field is missing, it gets fixed. See the roadmap below for what's next.

How to use it

  1. Hit Try for free.
  2. Paste the URL you want to audit into Start URLs.
  3. Optionally set Max pages — start small (say 50) to see the shape of the output first.
  4. Run it. Issues land in the Dataset tab; the HTML report and summary sit in the key-value store under the Storage tab.

No code required, but everything is reachable through the Apify API if you want it in a pipeline.

Input

FieldWhat it does
startUrlsOne or more URLs to audit
maxPagesCap on pages crawled (0 = unlimited)
maxDepthHow many link-hops deep to go
crawlSubdomainsInclude subdomains of the start URL
checkExternalLinksVerify external links too
includeOnPageSEORun the on-page checks
maxConcurrency / requestDelayMsTrade speed against politeness

Example input:

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

Output

Dataset — one row per crawled page, with all SEO fields and any issues found on that page:

{
"url": "https://example.com/about",
"finalUrl": "https://example.com/about/",
"statusCode": 200,
"title": "About Us — Example",
"metaDescription": "Learn more about our team.",
"h1": ["About Us"],
"canonical": "https://example.com/about/",
"indexable": true,
"wordCount": 423,
"imagesMissingAlt": 2,
"redirectChain": [],
"crawlError": null,
"issues": [
{
"issue_type": "missing_alt_text",
"severity": "warning",
"detail": "2 image(s) missing alt attribute."
}
]
}

Key-Value Store:

  • SUMMARY — site-level stats, health score (0–100), score breakdown, sitemap/robots status
  • REPORT — full HTML audit report, open directly in the browser
{
"pages_crawled": 142,
"health_score": 78,
"critical_count": 3,
"warning_count": 19,
"info_count": 7,
"score_breakdown": {
"broken_link": { "count": 3, "deduction": 8.5 },
"missing_meta_description": { "count": 12, "deduction": 5.2 }
}
}

Pricing

Pay per page crawled — you pay for what you actually audit, and the first batch is free so you can see the output before committing. No subscription, no minimum.

On the roadmap

Being upfront about what it doesn't do yet:

  • Lighthouse / Core Web Vitals (performance + accessibility scoring)
  • Scheduled re-audits with change alerts
  • Word count and thin-content flags per page

If you need one of these sooner, or you hit a site that trips up the crawl, tell me — it genuinely helps me decide what to build next.

FAQ

Does it work on JavaScript-heavy sites? It reads the server-rendered HTML, which covers most sites. Fully client-rendered SPAs may expose fewer links until the rendered mode (on the roadmap) lands.

Will it get me blocked? It respects robots.txt, rate-limits, and identifies itself. On your own site you can turn the delay down; on sites you don't control, keep it polite.

Can I run it on a schedule? Yes — use Apify Schedules to run it weekly and diff the results over time.

Is running an SEO audit like this allowed? You're checking publicly accessible pages for technical health, which is standard SEO practice. Respect the target site's terms and robots.txt — which this actor does by default.