On-Page SEO Audit Crawler avatar

On-Page SEO Audit Crawler

Pricing

Pay per usage

Go to Apify Store
On-Page SEO Audit Crawler

On-Page SEO Audit Crawler

Crawl a site you own or manage and audit every page: title and meta description length, H1, canonical, alt text, Open Graph, lang, viewport, noindex, duplicates, thin content. One row per page with a list of issues.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Nick Mory

Nick Mory

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Crawls a website you own or manage and checks every page for common on-page SEO problems. You get one row per page with the measured values and a list of issues, ready to export as JSON, CSV or Excel.

What it checks

  • Title: missing, too short (<15) or too long (>60 characters)
  • Meta description: missing, too short (<50) or too long (>160)
  • H1: missing or more than one; H2/H3 counts
  • Canonical URL, lang, viewport, robots meta / noindex
  • Open Graph and Twitter card tags, hreflang count, JSON-LD blocks
  • Images without an alt attribute
  • Thin content (under 150 visible words)
  • HTTP errors (404, 5xx, fetch failures)
  • Duplicates across the crawled pages: same title, same meta description
  • Number of internal links pointing to each page

Issues are labelled error:, warning: or info:, for example warning:title-too-long.

Input

FieldMeaning
startUrlsWhere to start. Only the same site (host) is crawled.
maxPages / maxDepthCrawl size limits (default 50 pages, depth 3).
onlyPagesWithIssuesSave only the pages that have problems.
respectRobotsTxtOn by default.
urlExcludesSkip internal URLs containing these strings.

Output example

{"url": "https://example.com/", "status": 200, "title": "Example Domain", "titleLength": 14,
"metaDescription": "", "h1Count": 1, "wordCount": 28, "imagesMissingAlt": 0,
"issues": ["error:missing-meta-description", "warning:title-too-short", "info:thin-content"], "issueCount": 3}

Notes

  • Fetches pages with plain HTTP: it reads the HTML the server returns and does not run JavaScript, so pages rendered only in the browser will look empty.
  • Use it only on sites you own or are allowed to crawl. Keep concurrency low on small sites.
  • The thresholds are common rules of thumb, not guarantees about rankings.