On-Page SEO Checker - Bulk Website SEO Audit avatar

On-Page SEO Checker - Bulk Website SEO Audit

Pricing

from $4.50 / 1,000 page audits

Go to Apify Store
On-Page SEO Checker - Bulk Website SEO Audit

On-Page SEO Checker - Bulk Website SEO Audit

Audit any list of URLs for on-page SEO: 0-100 score, prioritized issues with a fix for each, title/meta/H1 checks, keyword placement, page speed, structured data. 50+ checks, no crawl limits, from $0.006 per page.

Pricing

from $4.50 / 1,000 page audits

Rating

0.0

(0)

Developer

Wrenfield Data

Wrenfield Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 hours ago

Last modified

Categories

Share

On-Page SEO Checker audits a list of URLs (up to 2,000 per run) and returns one row per page with an SEO score (0-100) and A-F grade, every issue ranked by severity with the exact fix, title / meta description / H1 checks, target-keyword placement, content depth, structured data, and technical health. Run it on a whole site's key pages in minutes and export to CSV, Excel or Google Sheets.

Built for SEO audits, agency client reports, pre-launch QA and monitoring pages after a release. From $0.006 per page ($6 per 1,000), no crawl limits, no subscription, no API key.

  • 🧮 SEO score and grade per page: starts at 100 and loses points for each critical, high, medium and low issue, so a page with no H1 and no description cannot score an A.
  • 🛠️ Prioritized fix list: every issue has a severity and a one-line fix, ready to paste into a ticket or client report.
  • 🎯 Target keyword check: is the keyword in the title, H1, meta description and URL? Set one keyword for all pages or one per line (url | keyword).
  • 📝 Page facts: title and description length, H1s, heading counts, canonical, word count, readability, internal / external links, images, Open Graph tags.
  • 🧩 Structured data: lists the schema.org types found (Organization, FAQPage, Product, Article...) and flags pages with none.
  • ⚡ Technical health: HTTP status, HTML fetch time, page size, render-blocking resources, compression, HTTPS, mixed content, broken links.
  • 🌐 JavaScript rendering (optional) for React / Vue / single-page sites, with a browser-measured load time.
  • 📊 Run summary: average score, the lowest-scoring pages, and the issues that repeat across most of your pages.

How to run a bulk on-page SEO audit

  1. Paste your URLs (one per line; https:// is added when missing).
  2. Optionally add a target keyword, or write https://example.com/page | keyword for per-page keywords.
  3. Click Start. About 50 pages take under a minute. Export the dataset, or read the Run summary for the site-wide issue list.

Input example

{
"urls": [
"https://www.helpscout.com/pricing/",
"https://www.helpscout.com/ | help desk software"
],
"targetKeyword": "customer support software",
"renderJavaScript": false
}

Output example

One dataset row per page (shortened here):

{
"url": "https://www.helpscout.com/pricing/",
"status": "ok",
"http_status": 200,
"seo_score": 69,
"grade": "D",
"technical_score": 94.2,
"issues_high": 1,
"issues_medium": 5,
"issues": [
{
"id": "keyword_not_in_title",
"severity": "high",
"issue": "Target keyword \"help desk pricing\" is not in the title",
"fix": "Work the exact keyword into the title, ideally near the start."
},
{
"id": "duplicate_meta_tags",
"severity": "medium",
"issue": "Duplicate meta tags",
"fix": "Remove repeated title/description/robots meta tags so each appears once."
}
],
"title": "Help Scout Pricing: Affordable Customer Support Software",
"title_length": 56,
"meta_description": "Discover Help Scout’s pricing plans for customer support software that’s built for growing businesses at a fraction of the cost of competitive tools.",
"meta_description_length": 149,
"h1": [
"Deliver delightful support at every stage of growth"
],
"word_count": 1836,
"html_fetch_ms": 46,
"page_size_bytes": 658234,
"broken_links": false,
"target_keyword": "help desk pricing",
"keyword_in_title": false,
"keyword_in_h1": false,
"keyword_in_description": false,
"keyword_in_url": false
}

The Run summary (key-value store record SUMMARY) lists the average score, the 10 lowest-scoring pages and the top site-wide issues with how many pages each affects.

What is checked

AreaExamples
Title and snippetmissing, too short (under 30), too long (over 60), duplicate or mismatched title; missing or mismatched meta description
Headingsmissing H1, several H1s, no H2s
Keyword placementkeyword missing from title, H1, meta description or URL
Contentthin content, low text-to-HTML ratio, hard-to-read copy, placeholder text
Images and linksimages without alt text, broken links, HTTPS pages linking to HTTP
Indexingcanonical tag, redirects, 4xx / 5xx errors, meta-refresh redirects
Markupschema.org types present or missing, Open Graph tags, doctype, charset, favicon, deprecated tags
Speed and deliveryslow server response, render-blocking resources, no gzip / brotli, pages over 3 MB

Pricing

Pay-per-event pricing. Paid Apify plans get automatic volume discounts (Bronze, Silver, Gold).

EventPrice
Page audit (page-audit)$0.006 per URL audited ($6 per 1,000)
JavaScript render (javascript-render)$0.004 extra per URL, only when Render JavaScript is on

Pages that cannot be fetched (domain not found, blocked, timed out) are never charged. Set the maximum cost per run in the run options and the Actor stops cleanly when it is reached.

Free Apify plan: 10 URLs per run.

Use it through the API, on a schedule or with AI agents

One-link MCP setup: https://mcp.apify.com?tools=wrenfield-data/on-page-seo-checker (Claude, Cursor, VS Code or any MCP client). Set maxTotalChargeUsd on the run to cap what it can charge.

Schedule a weekly audit of your money pages, call it from the Apify API, or connect it to Make, Zapier, n8n and Google Sheets. One page takes about 2-5 seconds.

FAQ

How is the SEO score calculated? Every page starts at 100. Each critical issue costs 20 points, high 8, medium 4 and low 1. A score of 90+ is an A, 80+ B, 70+ C, 60+ D. The technical_score field also gives the crawler's own 0-100 health score for HTML, speed and markup.

Does it crawl my whole site? No. It audits exactly the URLs you give it, so you pay only for the pages you care about. To audit a full site, paste the URLs from your sitemap.

Why do I need JavaScript rendering? Pages built with React, Vue or Angular may show an empty shell without it. Turn it on when word counts or headings look empty.

Why was my page not audited? The domain does not exist, the site blocks automated requests, or it timed out. The row says which, and failed pages are not charged.

Is a high score a ranking guarantee? No. The score measures page-level SEO hygiene. Rankings also depend on links, competition and search intent.

From the same developer:

Feedback and support

Missing a check, hit an error, or want another output field? Open an issue on the Issues tab and include the run ID. We read every issue and reply there.

Acceptable use

  • This Actor is an independent tool. It is not affiliated with, endorsed by or sponsored by Google.
  • Only audit websites you own or have a legitimate reason to audit, and don't use it to load-test or attack websites.
  • The Actor may not be used from, or for people or organizations in, Russia, Belarus, Cuba, Iran, Syria, Myanmar, North Korea, Crimea or the Russian-occupied territories of Ukraine.
  • You are responsible for using the results lawfully.