Website SEO Audit - Broken Links, Meta Tags & Core Web Vitals
Pricing
from $8.00 / 1,000 page auditeds
Website SEO Audit - Broken Links, Meta Tags & Core Web Vitals
Crawl whole websites and get a 0-100 SEO score per page: titles, meta descriptions, H1, canonical, noindex, broken links, Core Web Vitals (LCP, CLS, TBT), page weight, structured data, sitemap and robots.txt, plus a shareable HTML report.
Pricing
from $8.00 / 1,000 page auditeds
Rating
0.0
(0)
Developer
Site Audit Lab
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 hours ago
Last modified
Categories
Share
Run a full technical and on-page SEO audit of entire websites in one go. Give a list of websites. This Actor reads each site's sitemap and follows its internal links, opening every page in a real Chrome browser. It returns:
- an SEO score out of 100 for every page,
- every problem found, ranked error / warning / notice, with the value that caused it,
- broken links (404, 410, 5xx, unreachable), with the page where each one was found,
- Core Web Vitals lab metrics: LCP, CLS, Total Blocking Time, server response time and page weight,
- duplicate titles and meta descriptions across the site,
- a shareable HTML report per run, ready to send to a client.
It's built for SEO agencies, freelancers, web developers and site owners who need a fast site audit without a monthly SEO tool subscription.
What it checks
| Area | Checks |
|---|---|
| Indexability | HTTP status, redirects, noindex (meta robots and X-Robots-Tag), canonical tag, robots.txt, sitemap.xml |
| On-page | Title (missing, too long, too short, duplicate), meta description (missing, length, duplicate), H1 (missing, multiple), H2/H3 counts, word count, lang attribute, hreflang |
| Links | Internal and external links on every page, broken links with anchor text, internal/external link counts |
| Speed | Largest Contentful Paint, Cumulative Layout Shift, Total Blocking Time, time to first byte, load time, page weight, number of requests |
| Mobile & security | Viewport meta tag, HTTPS, mixed content |
| Rich results & social | Structured data types (JSON-LD and microdata), Open Graph tags, Twitter card |
| Images | Images without alt text |
Why use it
- Whole sites, in bulk. Audit hundreds of websites in one run, for example to qualify prospects or monitor client sites every week.
- JavaScript sites included. Pages are rendered in Chrome, so React, Vue and other single-page applications are audited as Google sees them.
- Sitemap and links. It finds orphan pages through the sitemap as well as linked pages.
- Fast link checking. Each unique link is checked once per run, even if it appears on every page.
- Pay per page. There is no subscription: you only pay for the pages audited.
Input
| Field | Description | Default |
|---|---|---|
| Websites to audit | One or more URLs. The audit starts there. | required |
| Maximum pages per website | Pages to audit per site. Use 1 to audit only the URLs you entered. | 20 |
| Use the sitemap | Also audit pages listed in sitemap.xml | Yes |
| Check links | All links, internal links only, or none | All |
| Maximum links checked per page | Limit for very large pages | 200 |
| Device | Desktop (1366 px) or mobile (390 px) | Desktop |
| Proxy | Only for websites that block automated visits | None |
Example input:
{"startUrls": [{ "url": "https://example.com" }, { "url": "https://another-site.com" }],"maxPagesPerSite": 50,"checkLinks": "all","device": "mobile"}
Output
One dataset item per page (shortened):
{"url": "https://example.com/about","statusCode": 200,"seoScore": 74,"errors": 1,"warnings": 2,"notices": 3,"issues": [{ "id": "broken-links", "severity": "error", "message": "The page links to broken URLs (404, 410, 5xx or unreachable)", "details": "1 broken links" },{ "id": "description-missing", "severity": "warning", "message": "Missing meta description" }],"title": "About us | Example","titleLength": 18,"metaDescription": null,"h1": ["About us"],"canonical": "https://example.com/about","indexable": true,"structuredDataTypes": ["Organization"],"wordCount": 420,"brokenLinks": [{ "url": "https://example.com/old-page", "status": 404, "anchorText": "Our history", "internal": true }],"performance": { "ttfbMs": 180, "lcpMs": 1900, "cls": 0.02, "totalBlockingTimeMs": 120, "pageWeightKb": 1450, "requests": 48 }}
The run's key-value store also contains:
- REPORT: an HTML report per website with the average score, issues by severity, broken links, duplicate titles and descriptions, and the pages to fix first.
- SUMMARY: the same summary as JSON.
You can export the dataset as JSON, CSV, Excel or HTML. You can also call the Actor through the Apify API, run it on a schedule, or use it from Make, Zapier or n8n.
How the score works
Each page starts at 100. Each problem found removes points: 10 for an error, 5 for a warning, 1 for a notice. Use the score to compare pages and track progress over time.
Good to know
- Speed metrics are lab measurements taken from a data center with a real Chrome browser. They are reliable for comparing pages and spotting slow ones, but real visitors (Google's field data) may see different values.
- Some websites, such as LinkedIn, refuse automated link checks. These links are counted as
linksUnverified, not as broken. - Only audit websites you own or have permission to test.
FAQ
Can I audit only a list of pages? Yes. Set "Maximum pages per website" to 1, turn off "Use the sitemap" and list the exact pages.
Should I use desktop or mobile? Google indexes the mobile version of websites, so mobile gives the most relevant results for SEO.
Does it also check accessibility? For a full WCAG / European Accessibility Act audit, use our Website Accessibility Audit Actor.