Website SEO Audit & Checker: 0-100 Score + Client Report avatar

Website SEO Audit & Checker: 0-100 Score + Client Report

Pricing

Pay per usage

Go to Apify Store
Website SEO Audit & Checker: 0-100 Score + Client Report

Website SEO Audit & Checker: 0-100 Score + Client Report

SEO audit and website checker in one: a 0-100 score for SEO, speed, security, accessibility and email/DNS health, a prioritized fix list and a white-label HTML report for clients. Audit sites in bulk, no API key needed. Unreachable sites are free.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

PewterDesk

PewterDesk

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 hours ago

Last modified

Share

Website SEO audit tool and site checker for agencies and freelancers: run an SEO audit on one site or hundreds and get a score, a fix list and a client-ready report.

Audit one website or hundreds in a single run. For every site you get a 0–100 score, a grade (A–F), five category scores, a prioritized fix list in plain English, and a white-label HTML report you can send to a client or save as PDF.

Built for agencies, freelancers and consultants who sell website audits, for prospecting ("your site scores 58/100, here are the 3 fixes"), and for monitoring client sites on a schedule.

No API key needed. Sites that can't be audited are free.

What you get for each site

CategoryWeightWhat's checked
SEO30%Title and meta description (presence and length), H1, noindex, canonical, mobile viewport, robots.txt, XML sitemap (auto-discovered), http/https and www/non-www consolidation, broken internal links, sitemap URLs that redirect or 404, duplicate or missing titles across sampled pages, structured data (schema.org), Open Graph, thin content
Performance25%Server response time (TTFB), gzip/Brotli compression, render-blocking scripts, HTML weight, script and stylesheet count, image dimensions (layout shift), lazy loading. With your free Google key: Lighthouse performance score, real-user Core Web Vitals (LCP, INP, CLS) and Lighthouse's top opportunities
Security20%HTTPS, HTTP→HTTPS redirect, valid SSL certificate, days until certificate expiry, TLS version, HSTS, CSP, clickjacking protection, nosniff, Referrer-Policy, mixed content, software versions leaked in headers
Accessibility15%Page language, image alt text, form labels, links and buttons with no accessible name, zoom disabled, page title (homepage plus sampled pages). With a Google key, the Lighthouse accessibility score is added too
Email & domain10%SPF and DMARC (spoofing and deliverability), DMARC enforcement and reporting, CAA, and domain expiry from the official RDAP registry

Each report also lists site facts, which make good sales openers: the detected tech stack (CMS, e-commerce platform, analytics, CDN, and 135+ other technologies), the email provider, DNS provider, registrar, domain age, social profiles, whether the site has an llms.txt, and which AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended and others) its robots.txt blocks.

The fix list

Every failed check becomes a fix with a severity (critical, high, medium or low), an effort estimate, the affected URLs and a concrete instruction, such as "Send 'Strict-Transport-Security: max-age=31536000; includeSubDomains'". Fixes are ranked by impact, and quick wins go first when the impact is equal. A rule-based executive summary is always included, so no AI is required.

White-label HTML report

Each site gets its own report in the run's key-value store (report-<host>), with a link in the dataset row. Runs with several sites also get a comparison table (REPORT), which is useful for "you vs. your 3 competitors" pitches. Add your agency name, brand color and logo in the input. The report is self-contained and print-friendly, so you can open it and use Save as PDF.

Input example

{
"urls": ["acme-plumbing.com", "https://www.competitor-one.com/", "competitor-two.com"],
"maxPagesPerSite": 10,
"checkBrokenLinks": true,
"agencyName": "Bright Pixel Studio",
"brandColor": "#7c3aed",
"logoUrl": "https://brightpixel.example/logo.png"
}

Optional settings:

  • googleApiKey: adds Lighthouse and Core Web Vitals (one PageSpeed call per site). The key is free, gives you 25,000 requests a day, and takes 2 minutes to create: in Google Cloud Console, open APIs & Services → Library, enable PageSpeed Insights API, then go to Credentials → Create API key. It's stored encrypted.
  • aiSummary (off by default): a client-friendly AI-written summary using your own OpenAI, Anthropic or OpenAI-compatible key (OpenRouter, Groq and others). Only scores and the fix list are sent, never page content. If the call fails, you still get the rule-based summary.

Output (shortened)

{
"finalUrl": "https://basecamp.com/",
"overallScore": 86,
"grade": "B",
"scores": { "seo": 87, "performance": 86, "security": 80, "accessibility": 82, "emailDomain": 96 },
"summary": "basecamp.com scores 86/100 (grade B). Strongest area: Email & domain (96). Weakest area: Security (80). 11 issues found, 1 of them high or critical priority. Top fixes: 1) Sitemap pages are indexable; 2) HSTS header; 3) Form fields have labels.",
"topFixes": [
{ "priority": 1, "severity": "high", "issue": "Sitemap pages are indexable",
"detail": "1 sampled page(s) listed in the sitemap carry noindex.",
"fix": "Either remove noindex or drop those URLs from the sitemap; the two signals contradict each other.",
"affected": ["https://basecamp.com/2"] },
{ "priority": 2, "severity": "medium", "issue": "HSTS header", "fix": "Send 'Strict-Transport-Security: max-age=31536000; includeSubDomains'." }
],
"topFixesText": "1. Sitemap pages are indexable | 2. HSTS header | 3. Form fields have labels | …",
"reportUrl": "https://api.apify.com/v2/key-value-stores/…/records/report-basecamp.com",
"site": { "technologies": [{ "name": "Cloudflare", "category": "CDN" }], "aiCrawlers": { "GPTBot": "allowed" } },
"emailDomain": { "securityGrade": "B", "dmarcPolicy": "quarantine", "registrar": "Cloudflare, Inc." }
}

See sample_output.json for a full row. Every check is also listed with its status, weight and details, so the score is fully explainable. The dataset's Overview table (site, scores, top fixes, report link) exports cleanly to CSV, Excel or Google Sheets for mail merges.

Pricing

$0.02 per site audited, which includes the homepage, up to 25 sampled pages, the link check, DNS, SSL and registry lookups, and the HTML report. Volume tiers bring it down to $0.01.

Free: sites that are unreachable, blocked by bot protection (HTTP 403/429/503), disallowed by robots.txt, invalid input lines and duplicates. Set a maximum cost per run and the Actor stops cleanly at your limit.

Use cases

  • Sell audits. Run a prospect's site, attach the branded HTML report, and quote the fixes.
  • Cold outreach at scale. Audit 500 local businesses and sort by score. Use topFixesText as a personalised first line.
  • Competitor benchmarks. Put your client and 3–5 competitors in one run to get a comparison table.
  • Client retainers. Schedule a monthly run per client and show the score improving.
  • Pre-launch QA. Catch noindex, broken links, mixed content and a missing sitemap before go-live.

How it works

The Actor fetches robots.txt, the homepage and the sitemap, then samples pages spread across site sections and HEAD-checks internal links. It also runs public DNS, RDAP and TLS lookups. It respects robots.txt by default, sends a clearly identified user agent, never logs in, and doesn't collect personal data. The work runs on a handful of polite parallel requests per site, and a typical site takes 5–20 seconds.

FAQ

Is this a replacement for Lighthouse? It's broader: it covers SEO, security headers, SSL, email and domain health, and multi-page sampling. Add your Google key to include Lighthouse and Core Web Vitals as well. Without the key, performance is scored with fast server-side checks.

Is the accessibility score a WCAG audit? No. It runs automated heuristics that catch common, high-impact problems. Treat it as a screening tool, not a compliance certificate.

Why does a JavaScript-heavy site show low word count? The Actor reads the HTML that the server returns, as most crawlers first do. Content rendered only in the browser isn't counted.

Can I change the weights? Every check's raw result is in the checks array, so you can re-weight it in a spreadsheet. Configurable weights are on the roadmap. Requests are welcome in the Issues tab.


Built by PewterDesk (pewterdesk.pages.dev). We also make Bulk PageSpeed & Core Web Vitals, Bulk Domain Intel and Sitemap URL Inventory.