Onpage Seo Bulk avatar

Onpage Seo Bulk

Pricing

Pay per usage

Go to Apify Store
Onpage Seo Bulk

Onpage Seo Bulk

Onpage Seo Bulk

Pricing

Pay per usage

Rating

0.0

(0)

Developer

A Man

A Man

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a month ago

Last modified

Share

On-Page SEO Audit — Score & Issues (Bulk URLs)

Audit any URL list in seconds. Get a 0–100 on-page score, a prioritised issue list, and every meta field agencies need — without a browser and without charging for failed URLs (when monetised).

Pipe URLs from the Sitemap URL Harvester, a CMS export, or a rank tracker. Export JSON/CSV or webhook into n8n, Make, Zapier, or Sheets.

What you get

  • Score + issues (missing title, thin content, empty body / SPA shell, noindex, non-HTML Content-Type, multiple H1s, missing alts, …)
  • Meta & social: title, description, canonical, robots, H1, Open Graph, Twitter cards
  • Technical: viewport, html lang, favicon, JSON-LD types (incl. @graph / top-level arrays), hreflang, internal/external links, image alt coverage, response contentType
  • Redirect chain with status codes
  • Up to 50 concurrent fetches; optional Apify Proxy; retries on 429/5xx
  • Failed URLs become error rows (invalid URL, SSRF block, HTTP errors, timeouts) — not billed when monetised

Sample output

{
"requestedUrl": "https://example.com/",
"finalUrl": "https://example.com/",
"ok": true,
"score": 58,
"issues": [
{ "code": "missing_meta_description", "severity": "error", "message": "Missing meta description" },
{ "code": "thin_content", "severity": "warn", "message": "Thin content (~17 words)" }
],
"title": "Example Domain",
"h1": "Example Domain",
"wordCount": 17,
"links": { "internal": 0, "external": 1, "total": 1 },
"redirectChain": [{ "url": "https://example.com/", "status": 200 }]
}

Who it's for

  • SEO agencies running client audits from a sitemap
  • In-house SEO monitoring title / meta / canonical drift on a schedule
  • Automation builders who need clean JSON, not a desktop crawler

Example input

{
"urls": ["https://example.com/", "https://example.com/about"],
"maxConcurrency": 10,
"delayMs": 50
}

Pricing (when monetised)

EventWhenSuggested
page-auditedEach successful parse (ok: true)Start $0.003–$0.005 / page → hike after traction

Failed rows → not charged. Empty urls → hard fail before work.

  • Run only against URLs you are authorised to fetch (your sites, client sites with permission, or otherwise lawful public pages).
  • Respect target robots.txt, rate limits, and site terms; use delayMs / concurrency for polite crawling.
  • Private / loopback / cloud-metadata hosts are blocked (SSRF guard).
  • You are responsible for lawful use of outputs (no credential stuffing, no paywalled content abuse).

Limitations

  • No JS rendering — SPA shells may look empty; use a browser Actor for those
  • Not a site crawler — supply the URL list (pair with Sitemap URL Harvester)

Local test

npm install && npm test
npm run battle # live mixed URLs (404, JSON, SSRF, timeout, redirects)
node src/main.mjs

Built by narrow_circle