SEO Audit Tool & Broken Link Checker - On-Page Score 0-100
Pricing
$8.97 / 1,000 page audited (html page fetched and analysed)s
SEO Audit Tool & Broken Link Checker - On-Page Score 0-100
On-page SEO audit for pages or small sites: titles, meta descriptions, H1s, canonical, noindex, hreflang, Open Graph, JSON-LD, alt text, mixed content and broken links, with a 0-100 score and a fix list. $0.00897 per page; failed pages free. Respects robots.txt.
Pricing
$8.97 / 1,000 page audited (html page fetched and analysed)s
Rating
0.0
(0)
Developer
DigiVibeTech
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Features
Share
Audit single pages or crawl small sites and get, per page, a 0-100 SEO score and a prioritised fix list (high / medium / low). $0.00897 per page audited. Link checks are included. Pages that fail (errors, non-HTML, blocked or skipped) are free.
Why this one
- A 0-100 SEO score and a prioritised fix list (high / medium / low) per page: titles, meta descriptions, H1, canonical, hreflang, schema, alt text.
- Broken link checks are included in the same run at no extra cost.
- $0.00897 per page, against $0.04 per page at the most-used rival (736 users). Pages that fail, are not HTML or are blocked are free.
Screenshots
From a real run on 3 Nov 2026 (Europe/Amsterdam): 1 public page audited (digivibetech.com homepage), SEO score 94/100, 2 low-severity issues found (thin content, no Open Graph title), 1 page-audited event charged.

Quick start: example input, output and cost
Bulk on-page SEO audit with 0-100 score and fix list: titles, meta descriptions, H1, canonical, hreflang, schema, alt text, broken links. robots.txt respected.
Example input
{"startUrls": ["https://www.iana.org/help/example-domains"]}
Cost example: A 100-page site x $0.00897 = $0.897.
Example output (real run, 2026-10-30 UTC)
From a real run of this actor on public IANA example-domains page, 2 pages per site, link check on (plus a 404 URL on the reserved example domain, which is not charged). The run audited 2 pages, so the excerpt has 2 records. Three records max, long fields shortened:
[{"url": "https://www.iana.org/help/example-domains","finalUrl": "https://www.iana.org/help/example-domains","httpStatus": 200,"redirects": [],"responseTimeSec": 0.954,"https": true,"htmlBytes": 6774,"title": "Example Domains","titleLength": 15,"metaDescription": "","metaDescriptionLength": 0,"h1": ["Example Domains"],"h1Count": 1,"h2Count": 1,"h3Count": 0,"canonical": null,"canonicalSelf": null,"noindex": false,"nofollow": false,"lang": null,"hreflang": [],"viewport": true,"openGraph": {},"twitterCard": null,"structuredDataTypes": [],"images": 1,"imagesMissingAlt": 0,"wordCount": 185,"internalLinks": 22,"externalLinks": 4,"mixedContentResources": 0,"favicon": true,"issues": [{"code": "meta-description-missing","severity": "medium","message": "No meta description."},{"code": "canonical-missing","severity": "low","message": "No canonical link."},{"code": "lang-missing","severity": "low","message": "No lang attribute on <html>."},{"code": "thin-content","severity": "low","message": "Fewer than 200 words of visible text."},{"code": "open-graph-missing","severity": "low","message": "No Open Graph title (social sharing preview)."}],"seoScore": 81,"linksChecked": 22,"brokenLinks": 0,"brokenLinkList": [],"linksSkippedByRobots": 0,"auditedAt": "2026-10-30T06:37:03.676660+00:00"},{"url": "https://www.iana.org/","finalUrl": "https://www.iana.org/","httpStatus": 200,"redirects": [],"responseTimeSec": 0.589,"https": true,"htmlBytes": 6253,"title": "Internet Assigned Numbers Authority","titleLength": 35,"metaDescription": "","metaDescriptionLength": 0,"h1": ["Internet Assigned Numbers Authority"],"h1Count": 1,"h2Count": 3,"h3Count": 0,"canonical": "https://iana.org/","canonicalSelf": false,"noindex": false,"nofollow": false,"lang": null,"hreflang": [],"viewport": true,"openGraph": {},"twitterCard": null,"structuredDataTypes": [],"images": 0,"imagesMissingAlt": 0,"wordCount": 187,"internalLinks": 19,"externalLinks": 4,"mixedContentResources": 0,"favicon": true,"issues": [{"code": "meta-description-missing","severity": "medium","message": "No meta description."},{"code": "canonical-other","severity": "medium","message": "Canonical points to a different URL."},{"code": "lang-missing","severity": "low","message": "No lang attribute on <html>."},{"code": "thin-content","severity": "low","message": "Fewer than 200 words of visible text."},{"code": "open-graph-missing","severity": "low","message": "No Open Graph title (social sharing preview)."}],"seoScore": 77,"linksChecked": 19,"brokenLinks": 0,"brokenLinkList": [],"linksSkippedByRobots": 0,"auditedAt": "2026-10-30T06:37:06.597842+00:00"}]
Full sample from the same run (≤50 rows): JSON · CSV
Try it: run with {"startUrls":["https://www.iana.org/help/example-domains"],"maxPagesPerSite":2}. That is 2 pages × $0.00897 (page-audited event) = $0.0179 (about $0.02). Apify's free plan includes $5 of prepaid usage every month, so this run fits in it many times over.
What is checked
- Title (missing, too long > 60, too short) and meta description (missing, > 160)
- Headings: missing H1, multiple H1s, H2/H3 counts
- Indexability:
noindex/nofollow(meta robots andX-Robots-Tag), canonical (missing or pointing elsewhere), redirect chains - International:
langattribute,hreflangalternates - Mobile & security: viewport meta, HTTPS, mixed content (HTTP resources on HTTPS pages)
- Rich results & sharing: JSON-LD structured data types (and invalid JSON-LD), Open Graph, Twitter card
- Content: word count (thin content), images without
alt, internal/external link counts, favicon - Speed: server response time for the HTML
- Broken links (optional): each internal link (and optionally external) checked once per run; 4xx/5xx/unreachable listed in
brokenLinkList
Input
startUrls (required), maxPagesPerSite (1 = only the listed pages; higher = follow internal links on the same host), checkLinks, checkExternalLinks, maxLinksCheckedPerPage.
Output
One item per audited page with all fields above, issues[] (code, severity, message) and seoScore. Use the Issues view for a flat fix list. Failed URLs and reasons are in ERRORS; totals in SUMMARY.
Limits
- It reads the HTML the server sends (no browser), so text, links or markup added later by JavaScript are not seen.
- It checks on-page signals only. It has no backlink, keyword ranking or traffic data.
- Response time is measured from Apify's servers and is a rough guide, not a Core Web Vitals score.
Responsible crawling
We follow each site's robots.txt (disallowed pages and links are skipped and not charged), send at most about one request per second per site, use an honest User-Agent (SEOAuditOnPage/1.0), and never log in or bypass bot protection. Audit sites you own or are allowed to analyse.
Pricing
| Event | Price |
|---|---|
| Page audited (HTML fetched and analysed) | $0.00897 |
A 200-page site audit with link checks costs $1.79. No start fee.
Maintained by DigiVibeTech. Questions or bugs: use the Issues tab; we reply within 2–5 business days.
Maintained by DigiVibeTech. Questions or bugs: use the Issues tab or digivibetech.com/support; we reply within 2–5 business days.