Website Technical Audit — SEO, Accessibility & Broken Links
Pricing
from $5.00 / 1,000 audited pages
Website Technical Audit — SEO, Accessibility & Broken Links
Crawls a site you own or manage and reports technical SEO issues, accessibility problems, broken links and performance warnings. Every check is validated against test sites whose defects are known in advance. Respects robots.txt. Report in English or French.
Pricing
from $5.00 / 1,000 audited pages
Rating
0.0
(0)
Developer
Christophe De Caroppo
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
18 days ago
Last modified
Categories
Share
Crawl a website you own or manage, and get a prioritised list of what is technically wrong with it.
Point it at a URL. In a few minutes you get a per-page report and a summary that tells you, in order, what to fix first — broken links, missing titles, pages blocked from search engines, images without alt text, slow responses, duplicate metadata.
No account on a third-party SEO suite. No monthly subscription. You pay for the pages you actually audit.
Who this is for
- Web agencies running a technical check before handing a site to a client, or as part of a monthly retainer.
- SEO consultants who need a fast, repeatable audit across many client sites.
- Site owners and developers who want to know what broke after a redesign or a migration.
- Accessibility reviewers looking for missing alt text, unlabelled form fields, undeclared page language and broken heading structure.
What it checks
Indexing and crawlability
- Pages returning 4xx or 5xx errors
- Broken internal links (and external ones, optionally)
noindex/nofollowdirectives — in both the meta tag and theX-Robots-Tagheader- Missing, mismatched or malformed canonical tags
- Redirect chains
On-page SEO
- Missing, too short or too long
<title> - Missing, too short or too long meta description
- Duplicate titles and descriptions across the whole site
- Missing or duplicated H1
- Broken heading hierarchy (h1 → h3, or a page that starts at h3)
- Thin content
Accessibility
- Images without an
altattribute (alt=""is correctly treated as intentional, not as a fault) - Missing
langattribute on<html> - Links with no accessible name
- Form fields with no associated label
Mobile, performance and security
- Missing or malformed viewport meta tag
- Slow server response times
- Heavy pages
- Pages served over HTTP instead of HTTPS
- Mixed content — HTTP resources loaded on an HTTPS page
Rich results
- Missing JSON-LD structured data
- JSON-LD blocks that fail to parse
What you get
A summary (SUMMARY in the key-value store) built to be read in ten seconds:
{"auditedSite": "https://example.com/","overallScore": 74,"pagesAnalyzed": 248,"pagesWithErrors": 6,"brokenLinksFound": 14,"criticalIssues": 6,"majorIssues": 91,"minorIssues": 203,"whereToStart": [{ "code": "broken_link", "label": "Broken links", "severity": "critical", "affectedPages": 14 },{ "code": "missing_meta_description", "label": "Missing meta description", "severity": "major", "affectedPages": 68 }],"pagesToFixFirst": [{ "url": "https://example.com/old-page", "score": 20, "issueCount": 9 }]}
The list of broken links is stored alongside it, under BROKEN_LINKS.
A dataset, one row per page: URL, HTTP status, score out of 100, title, meta description, H1 count, images without alt, response time, crawl depth, and the full list of issues found with severity and explanation.
{"url": "https://example.com/pricing","statusCode": 200,"score": 74,"title": "Pricing | Example","metaDescription": null,"h1Count": 1,"imagesWithoutAlt": 0,"issues": [{"code": "missing_meta_description","severity": "major","message": "No meta description: the search engine then picks a snippet at random."}]}
Every issue carries a stable code you can filter on, a severity, and a message written for a human. Export to Excel, CSV or JSON, or pull it from the API to feed your own report template.
Report language. Field names and issue codes are always English, so your integrations stay stable. The message and label texts follow the Report language setting — English by default, French available.
How it was verified
The audit was tested against 150 generated sites whose defects were known in advance — around 1 000 pages and 8 600 injected issues across three independent draws. Every injected defect was found, and no non-existent defect was reported:
| Recall (real defects actually found) | 100 % |
| Precision (reported defects that are real) | 100 % |
Plus 84 automated tests covering each rule, the crawl boundaries, and robots.txt compliance.
That test bench caught a real bug before release: pages returning 403 were silently skipped by the crawler's block-detection and never appeared in the report. A site with a protected section would have produced an incomplete audit without saying so.
Scoring
Each page starts at 100 and loses points per issue: 25 for a critical, 8 for a major, 2.5 for a minor. The overall score is the average across pages.
It is deliberately simple and documented, so you can explain it to your own client instead of pointing at a black box.
Settings
| Setting | Default | What it does |
|---|---|---|
| Website URL | — | The site to audit. Required. |
| Maximum pages | 100 | How many pages to crawl. This is what you pay for. |
| Maximum crawl depth | 5 | How many clicks from the start page. 0 audits only that page. |
| Include subdomains | off | Also audit blog.example.com, shop.example.com. |
| Check external links | off | Also verify outbound links still resolve. Slower. |
| Parallel requests | 5 | Lower it if the server is small or rate-limited. |
Tip: run it first with Maximum pages = 20 to see the shape of the results and estimate what a full audit will cost.
How it behaves
- robots.txt is always respected. There is no setting to override it, by design. Pages excluded by robots.txt are counted and reported so you know what wasn't seen.
- No anti-bot circumvention. No CAPTCHA solving, no proxy rotation to defeat rate limits, no spoofing. If a site blocks automated access, this Actor reports the failure rather than working around it.
- Rate limited by default — 5 parallel requests, 20 maximum. It won't hammer a small server.
- No personal data is collected. No email addresses, no phone numbers, no author names, no comments. Only technical characteristics of the documents.
mailto:links are ignored entirely. - No browser — pages are fetched and parsed as HTML, which is roughly twenty times cheaper in compute than driving a full browser. That saving is passed on in the price.
Response time is measured end to end, network latency included. A first connection to a distant server can cross the slow-response threshold without the server being at fault — the report says so rather than letting you blame the wrong thing. Re-run the audit before acting on that specific finding.
One consequence worth knowing: because there is no browser, content injected purely by client-side JavaScript is not seen. For most sites this doesn't matter — search engines index the served HTML too — but if your site is a single-page application that renders everything client-side, this tool will report thin content for pages that look full in a browser.
Intended use
This Actor is for auditing websites you own, manage, or are authorised to analyse. That is what it is built and priced for.
Pricing
Pay per event: a small fixed charge when the audit starts, then a charge per page audited. You pay for what you crawl — no subscription, no minimum.
Set Maximum pages to cap your spend exactly. If your run hits your account's spending limit mid-audit, the Actor stops cleanly and still gives you the report for the pages it completed, with a note saying so.
Support
Found a false positive, or a check you'd expect that isn't here? Open an issue on the Actor's issues tab with the URL and what you expected — that's the fastest way to get it fixed.