Website SEO Audit - On-Page Analyzer, Meta, Speed & Issues avatar

Website SEO Audit - On-Page Analyzer, Meta, Speed & Issues

Pricing

from $4.00 / 1,000 page audits

Go to Apify Store
Website SEO Audit - On-Page Analyzer, Meta, Speed & Issues

Website SEO Audit - On-Page Analyzer, Meta, Speed & Issues

Instant on-page SEO audit for any list of URLs: title & meta tags, H1s, word count, internal/external links, load time, on-page score & a prioritized list of SEO issues. Bulk-check pages. Clean JSON/CSV for audits & reports. No API keys.

Pricing

from $4.00 / 1,000 page audits

Rating

5.0

(2)

Developer

Santhej Kallada

Santhej Kallada

Maintained by Community

Actor stats

1

Bookmarked

24

Total users

3

Monthly active users

15 days ago

Last modified

Share

Website SEO Audit — On-Page Analyzer for Title, Meta, Links, Speed & Issues

Audit any page's on-page SEO in seconds — or crawl a whole site. Get the title, meta description, headings, link counts, word count, load time, an on-page score and a list of detected SEO issues — for one URL, a list of URLs, or an entire website.

What does Website SEO Audit do?

It runs a technical on-page SEO check in one of two modes:

  • Instant — paste a list of page URLs (up to 1,000) and get one audit row per URL.
  • Crawl — give one starting URL or domain and a page cap (up to 50). The Actor crawls the site and returns a site-summary row (site score, pages with issues, broken links and resources, duplicate titles and descriptions, 4xx/5xx counts) followed by an audit row for every crawled page, worst pages first.

Use it for site audits, client reports, migrations and pre-publish QA.

What you get per page

FieldDescription
onpage_scoreOn-page health score, 0–100
status_code, is_redirect, is_httpsHTTP status, redirect flag, HTTPS flag
title, title_lengthTitle tag and its length
description, description_lengthMeta description and its length
h1, h1_countFirst H1 and number of H1 tags
word_countWords of visible text
internal_links, external_linksLink counts
broken_links1 if the page links to a broken URL, 0 if not
images_count, images_without_altImage count; images_without_alt is 0 when every image has alt text, otherwise null and the no_image_alt issue is raised
canonicalCanonical URL
has_structured_dataWhether the page carries schema.org / microdata markup
duplicate_title, duplicate_descriptionWhether another crawled page shares the title / description (meaningful in crawl mode)
load_time_ms, dom_complete_msTotal load time and DOM-complete time, in ms
ttfb_msTime to first byte — measured when Render JavaScript is on, otherwise null
issues, issue_countDetected problems, e.g. no_title, title_too_long, title_too_short, no_description, no_h1_tag, no_image_alt, high_loading_time, is_redirect, is_4xx_code, is_5xx_code, is_broken, low_content_rate, has_render_blocking_resources, duplicate_meta_tags, deprecated_html_tags

largest_contentful_paint_ms and cumulative_layout_shift are part of the row but are null: they require full browser rendering, which this Actor does not perform.

What you get for the whole site (crawl mode)

The first row of a crawl has "type": "site-summary": pages_crawled, onpage_score, avg_page_score, pages_with_issues, broken_links, broken_resources, links_internal, links_external, duplicate_title and duplicate_description (number of pages affected), count_4xx, count_4xx_pages, count_5xx_pages and no_image_alt (pages with images missing alt text).

Use cases

  • SEO audits — bulk-check a whole site or a content batch.
  • Client reports — export a clean issue list per page.
  • Pre-publish QA — catch missing meta, missing H1s and broken pages before they go live.
  • Migrations — verify titles, canonicals and status codes after a move.
  • Competitor benchmarking — compare your landing pages with competitors' on the same checks.

How to use

  1. Pick a Mode: instant (a list of URLs) or crawl (one site).
  2. Instant: paste your Page URLs (with https://). Crawl: set Site to crawl and Max pages to crawl.
  3. Optionally turn on Render JavaScript for JavaScript-heavy sites (slower; also measures TTFB).
  4. Click Start, then export JSON, CSV or Excel, or pull the dataset via the Apify API.

Example input — instant

{ "mode": "instant", "urls": ["https://www.notion.com/pricing", "https://slack.com/pricing"], "enableJavaScript": false }

Example input — crawl

{ "mode": "crawl", "target": "https://basecamp.com", "maxCrawlPages": 25 }

Input configuration

FieldTypeDefaultDescription
modestringinstantinstant audits the listed URLs; crawl crawls one site.
urlsarray of strings—Page URLs to audit in instant mode, up to 1,000.
targetstring—Domain or URL to crawl in crawl mode.
maxCrawlPagesinteger25Pages to crawl in crawl mode, 1–50.
enableJavaScriptbooleanfalseRender pages with JavaScript before auditing.

Example output

A real instant-mode row:

{
"type": "page",
"url": "https://www.notion.com/pricing",
"status_code": 200,
"onpage_score": 97,
"title": "Notion Pricing Plans: Free, Plus, Business, & Enterprise.",
"title_length": 57,
"description": "Learn more about our different pricing plans. We support everyone, from free personal accounts to enterprise businesses.",
"description_length": 120,
"h1": "One tool to run your company.",
"h1_count": 1,
"internal_links": 87,
"external_links": 10,
"images_count": 10,
"images_without_alt": null,
"word_count": 3430,
"is_https": true,
"canonical": "https://www.notion.com/pricing",
"has_structured_data": false,
"broken_links": 0,
"duplicate_title": false,
"duplicate_description": false,
"is_redirect": false,
"ttfb_ms": null,
"dom_complete_ms": 38,
"largest_contentful_paint_ms": null,
"cumulative_layout_shift": null,
"load_time_ms": 38,
"issues": ["no_image_alt", "low_content_rate", "has_render_blocking_resources", "no_image_title"],
"issue_count": 4
}

A real crawl-mode site-summary row:

{
"type": "site-summary",
"target": "https://basecamp.com",
"domain": "basecamp.com",
"crawl_progress": "finished",
"pages_crawled": 10,
"onpage_score": 98,
"avg_page_score": 98,
"pages_with_issues": 10,
"broken_links": 0,
"broken_resources": 0,
"links_external": 75,
"links_internal": 424,
"duplicate_title": 0,
"duplicate_description": 0,
"count_4xx": 0,
"count_4xx_pages": 0,
"count_5xx_pages": 0,
"no_image_alt": 1
}

How much does a website SEO audit cost?

Pay per page. No monthly fee.

EventPriceWhen it is charged
Actor start$0.001Once per run
Page audit$0.005Per URL audited in instant mode
Crawl page$0.004Per page returned by a crawl (the site-summary row is free)

A URL that could not be audited is still returned (with an issues entry such as audit_failed) so every URL is accounted for, but it is not charged.

  • Instant audit of 100 URLs: $0.001 + 100 × $0.005 = $0.501.
  • Crawl of 25 pages: $0.001 + 25 × $0.004 = $0.101.
  • Crawl of 50 pages: $0.201.

FAQ

Can it crawl a whole site? Yes — use crawl mode with a starting URL and a page cap of up to 50. Use instant mode to audit a specific list of URLs.

Can it render JavaScript? Yes — turn on Render JavaScript for single-page apps and JavaScript-heavy sites. It is slower, and it is also what enables the ttfb_ms measurement.

Does it measure Core Web Vitals (LCP, CLS)? No. Those need full browser rendering, so largest_contentful_paint_ms and cumulative_layout_shift are always null. You do get total load time, DOM-complete time and, with JavaScript rendering, time to first byte.

What issues does it detect? Missing or too long/short titles, missing descriptions, missing H1, images without alt text, slow load, redirects, 4xx/5xx errors, broken pages, thin content, render-blocking resources, duplicate meta tags and more — see the issues field above.

Why is images_without_alt null on some pages? The audit reports whether any image lacks alt text, not how many. When at least one does, the page gets the no_image_alt issue and the count is left null rather than guessed.

Can I use it with AI agents and automation tools? Yes. The output is clean JSON, ready for n8n, Make, Zapier and MCP-based agents.


Tags: seo audit, on-page seo, site audit, technical seo, meta tags checker, seo analyzer, page speed, seo issues, website audit, seo crawler.