SEO Audit Tool — $0.004/page · Website Audit & SEO Checker
Pricing
from $3.20 / 1,000 page auditeds
SEO Audit Tool — $0.004/page · Website Audit & SEO Checker
SEO audit and website checker: crawl a site and get a 0-100 SEO score per page, every on-page and technical SEO issue with priority and fix (meta tags, headings, canonical, noindex, schema, images, mixed content, broken links) plus a site audit summary. $4 per 1,000 pages.
🔍 SEO Audit Tool — Website Audit, SEO Checker & Broken Links

Crawl any website and get a technical and on-page SEO audit of every page: a 0-100 SEO score, every issue ranked by priority (high / medium / low) with a fix hint, and a free site summary with the most common problems, duplicate titles and meta descriptions, broken links and the worst pages. Titles, meta descriptions, headings, canonicals, noindex, images without alt text or size, HTTPS and mixed content, structured data (schema.org), hreflang, Open Graph, thin content, slow pages, redirects and broken links.
$4 per 1,000 pages audited — a fraction of what most audit tools charge per page. The site summary is free. No API key.
- ✅ Whole-site crawl: follows internal links from your start URL (choose max pages and depth), or reads your sitemap.xml
- ✅ 0-100 score per page and an average score for the site
- ✅ Issues with priority and fix: every problem comes with
priority,category(technical, content, links, images, performance, social) and a one-line how to fix it - ✅ On-page SEO: title and meta description (missing, too long, too short, duplicated across pages), H1/H2 headings, word count / thin content
- ✅ Technical SEO: HTTP status, redirects, canonical (missing or pointing elsewhere), noindex (meta robots and X-Robots-Tag), HTTPS, mixed content, html lang, mobile viewport, HTML size, server response time
- ✅ Structured data: lists the schema.org types found (JSON-LD and microdata) — Organization, Product, Article, LocalBusiness, FAQPage…
- ✅ International SEO: hreflang languages
- ✅ Images: missing alt text (accessibility, image search) and missing width/height (layout shift / CLS)
- ✅ Broken links: checks internal and external links on each page; links blocked to bots (LinkedIn, Instagram…) are listed separately as unverified, not as broken
- ✅ Social previews: Open Graph and Twitter card tags
- ✅ Respects robots.txt (optional) and never crawls private network addresses
Who uses it
- SEO agencies & freelancers — audit a client's site in minutes and hand over a prioritized fix list.
- Website owners & marketers — find what stops pages from ranking: missing titles, duplicates, noindex by mistake, thin pages.
- Developers — check a staging or newly launched site before go-live; schedule it to catch regressions.
- Lead generation — audit prospects' websites and pitch them the fixes.
How to use it
- Add the start URL of the site (e.g.
https://example.com). - Set max pages and max depth; optionally include the sitemap.xml.
- Keep broken link checks and the site summary on.
- Run, sort the table by
score, and export to CSV, Excel or JSON — or schedule it weekly and send the results to Google Sheets, Slack or email.
Input example
{"startUrls": [{ "url": "https://www.python.org/" }],"maxPages": 200,"maxDepth": 3,"includeSitemap": true,"checkBrokenLinks": true,"addSummary": true}
Output example (one page)
{"type": "page","url": "https://www.python.org/jobs/","status": 200,"score": 76,"title": "Python Job Board | Python.org","metaDescription": "The official home of the Python Programming Language","h1Count": 1,"wordCount": 859,"schemaTypes": ["SearchAction", "WebSite"],"imagesWithoutAlt": 0,"imagesWithoutSize": 19,"responseMs": 111,"issueCount": { "high": 1, "medium": 0, "low": 3 },"issueDetails": [{ "code": "description_short", "priority": "low", "category": "content", "issue": "Meta description too short (52 chars)", "fix": "Use 70-160 characters." },{ "code": "no_canonical", "priority": "low", "category": "technical", "issue": "No canonical link", "fix": "Add <link rel=\"canonical\"> pointing to the preferred URL of the page." },{ "code": "broken_links", "priority": "high", "category": "links", "issue": "Broken links (1 link(s))", "fix": "Fix or remove links that return errors." }],"brokenLinks": [{ "url": "https://wiki.python.org/moin/BeginnersGuide", "status": 404 }],"unverifiedLinks": [{ "url": "https://www.linkedin.com/company/python-software-foundation/", "status": 403 }]}
The last row has "type": "summary": pages audited, average score, pages with errors, noindex pages, total broken links, duplicate titles and descriptions (with the URLs that share them), every issue ranked by priority and number of pages affected (with example URLs and the fix), and the 10 worst pages.
How the score works
Each page starts at 100. Every high-priority issue takes 15 points, medium 7 and low 3. Pages that return an error score 0. It's a simple, transparent checklist score — use the issue list to decide what to fix first.
Related Actors
- Sitemap Extractor — list every URL of a site from its sitemap.xml
- Tech Stack Detector — see the CMS, frameworks and analytics behind any site
- Domain Availability Checker & Bulk WHOIS — domain age, expiry, registrar and DNS (SPF, DMARC)
- AI Visibility Tracker — check if ChatGPT, Perplexity and Gemini recommend the site
Pricing
$0.004 per page audited ($4 per 1,000 pages). The site summary row and input errors are free. Higher Apify plans get an automatic discount, and you can set a maximum cost per run.
Tips
- Core Web Vitals and PageSpeed scores for the same pages: Lighthouse & PageSpeed Bulk Audit.
- Check redirects and status codes of a URL list: URL Status & Redirect Checker.
- Get every URL of a site first: Sitemap URL Extractor.
FAQ
Does it render JavaScript? It reads the HTML the server sends, like most SEO crawlers do on a first pass. Sites built entirely in the browser (client-side React/Vue without server rendering) may show missing titles or thin content — which is also what many search engines see first.
Why are some links "unverified" instead of broken?
Sites like LinkedIn or Instagram answer bots with 403/999 even when the page exists. Those are listed in unverifiedLinks so they don't inflate your broken-link count.
How many links are checked per page? Up to 25 internal and 10 external links per page, with results cached across the crawl.
Can I audit several sites at once? Yes — add several start URLs; each site is crawled within its own domain.
Is it safe to run on my site?
It crawls politely (a few pages at a time), identifies itself as TidyDataSEOBot and respects robots.txt unless you turn that off.
Something doesn't work or you need a check? Open an issue in the Issues tab — we answer fast.