On-Page SEO Audit – Bulk Meta Tags, Headings & Schema Checker avatar

On-Page SEO Audit – Bulk Meta Tags, Headings & Schema Checker

Pricing

from $2.00 / 1,000 audited pages

Go to Apify Store
On-Page SEO Audit – Bulk Meta Tags, Headings & Schema Checker

On-Page SEO Audit – Bulk Meta Tags, Headings & Schema Checker

Audit any list of URLs for on-page SEO: titles, meta descriptions, H1s, canonicals, robots/noindex, hreflang, JSON-LD schema, Open Graph, image alt text, links, redirects and speed basics. Score plus prioritised issues.

Pricing

from $2.00 / 1,000 audited pages

Rating

0.0

(0)

Developer

Phuc Tiet

Phuc Tiet

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

6 days ago

Last modified

Share

Audit hundreds or thousands of URLs for on-page SEO in one run. For every page you get a score from 0 to 100, a prioritised list of issues (errors → warnings → notices) and all the raw SEO facts, ready to export to CSV, Google Sheets or your dashboard.

What it checks on each page:

  • Title tag: missing, too short or too long, multiple titles. Meta description: missing, length.
  • Headings: H1 present or multiple, H1 vs title, skipped heading levels, H1–H6 counts.
  • Indexability: meta robots / googlebot, X-Robots-Tag header, noindex/nofollow, canonical (missing, multiple, pointing elsewhere), HTTP status, redirect chains.
  • International: <html lang>, hreflang codes and self-reference.
  • Structured data: JSON-LD blocks and @type list (Article, Product, FAQPage, BreadcrumbList...), invalid JSON-LD, microdata types.
  • Social previews: Open Graph (og:title, og:image...) and Twitter Card tags.
  • Content: visible word count, thin content, text-to-HTML ratio.
  • Images and links: images without alt text (with a sample list), lazy-loading, internal/external/nofollow links, links without anchor text.
  • Tech basics: HTTPS, mixed content, HSTS, compression, HTML size, server response time, viewport, charset, favicon.
  • Run summary: average score, duplicate titles and duplicate meta descriptions across all audited pages.

Why this Actor

  • 💸 $2 per 1,000 pages. Popular SEO audit Actors charge $10–$40 per 1,000 pages.
  • ⚡ Fast and light. Plain HTTP with no headless browser, so a 1,000-page audit takes minutes.
  • 🧾 Actionable output. Every issue has a code, a severity and a human-readable message. The Issues view gives one row per issue, perfect for sorting and filtering.
  • 🤝 Polite. Respects robots.txt by default, fetches each listed URL once (no crawling), identifies itself, and uses timeouts.
  • 🤖 Agent-friendly. Structured JSON that AI agents and automations (Make, Zapier, n8n, MCP) can act on.

Input

{
"urls": ["https://wordpress.org/news/", "https://www.gov.uk/", "apify.com"],
"includeNotices": true
}
FieldDefaultDescription
urls–Page URLs to audit (required). Up to 20,000. Bare domains get https://.
includeNoticestrueInclude low-priority suggestions
respectRobotsTxttrueSkip disallowed pages (not charged)
maxConcurrency5Parallel requests
timeoutSecs30Per page

Tip: to audit a whole site, first list its URLs with a sitemap extractor (e.g. Sitemap URL Extractor) and paste them here.

Output (one row per page, shortened)

{
"url": "https://www.gov.uk/",
"statusCode": 200,
"score": 88,
"issueCounts": { "error": 0, "warning": 1, "notice": 2 },
"issues": [
{ "severity": "warning", "code": "TITLE_TOO_SHORT", "message": "Title is 15 characters (aim for 30–60)." },
{ "severity": "notice", "code": "META_DESCRIPTION_SHORT", "message": "Meta description is 64 characters (aim for 70–160)." }
],
"title": "Welcome to GOV.UK",
"metaDescription": "GOV.UK - The place to find government services and information",
"h1": ["..."],
"headings": { "h1": 1, "h2": 6, "h3": 12, "h4": 0, "h5": 0, "h6": 0 },
"canonical": "https://www.gov.uk/",
"robots": { "meta": null, "xRobotsTag": null, "indexable": true, "follow": true },
"hreflang": [],
"wordCount": 412,
"images": { "total": 3, "withoutAlt": 0, "lazyLoaded": 0, "withoutAltSample": [] },
"links": { "internal": 58, "external": 4, "nofollow": 0, "emptyAnchorText": 0 },
"structuredData": { "jsonLdBlocks": 1, "jsonLdTypes": ["WebSite"], "invalidJsonLd": 0, "microdataTypes": [] },
"openGraph": { "title": "...", "image": "..." },
"redirects": [],
"responseTimeMs": 61,
"status": "ok"
}

Issue codes include:

  • Errors: HTTP_ERROR, NOT_HTTPS, TITLE_MISSING, H1_MISSING, NOINDEX.
  • Warnings: TITLE_TOO_LONG, META_DESCRIPTION_MISSING, CANONICAL_MISSING, REDIRECT_CHAIN, IMAGES_WITHOUT_ALT, MIXED_CONTENT, SLOW_RESPONSE, INVALID_JSON_LD, HREFLANG_INVALID, VIEWPORT_MISSING, LANG_MISSING.
  • Notices: NO_STRUCTURED_DATA, OPEN_GRAPH_INCOMPLETE, THIN_CONTENT, HSTS_MISSING, NO_COMPRESSION and more.

Score: starts at 100 and loses 12 points per error, 5 per warning and 1 per notice.

Pricing

Pay per event, plus a tiny Actor start fee ($0.00005 per GB of memory):

  • Audited page: $0.002 per page ($2 per 1,000 pages), compute included.
  • Pages that return HTTP 4xx/5xx, time out, don't resolve, aren't HTML or are blocked by robots.txt are reported but not charged.
  • Set a maximum cost per run to cap spend; the Actor stops cleanly when it's reached.

Limitations (honest)

  • No JavaScript rendering. The audit sees the HTML as served, which is what most search-engine first passes and all social previews see. Content injected only by client-side JavaScript isn't counted.
  • One page per URL, no crawling. Combine with a sitemap extractor for full-site audits. Broken outbound links are not checked; use a broken-link checker for that.
  • Not a Lighthouse/Core Web Vitals test. Response time is server time-to-HTML, not page-load metrics.
  • Heuristic thresholds (e.g. title 30–60 characters) follow common SEO guidelines and are not search-engine rules.

FAQ

Can I audit a competitor's site? It fetches public pages like a normal visitor and respects robots.txt by default. Use it responsibly and keep concurrency low for small sites.

Can I schedule it? Yes. Run it weekly on your key pages with Apify Schedules and compare scores over time.