Technical On-Page SEO & Meta Auditor
Pricing
from $5.00 / 1,000 page auditeds
Technical On-Page SEO & Meta Auditor
Audit any website's on-page SEO: titles, meta descriptions, H1 tags, canonical URLs, hreflang, Open Graph, Twitter Cards, JSON-LD schema, broken links, image alt text, and robots compliance. Single polite crawl, first-party domains only.
Pricing
from $5.00 / 1,000 page auditeds
Rating
0.0
(0)
Developer
Geo
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
A comprehensive on-page SEO audit tool that crawls your website's key pages and analyzes critical ranking signals: page titles, meta descriptions, H1 tags, canonical URLs, hreflang annotations, Open Graph tags, Twitter Cards, JSON-LD structured data, link health, image alt text, and robots.txt compliance.
Designed for your own first-party domains. The auditor reads only public HTML and standards-defined files (/robots.txt, /sitemap.xml). Single-request politeness, identifiable user-agent, full robots.txt compliance built in.
๐ Features
- Title & Meta Analysis โ Checks title length (30โ60 chars), meta description length (50โ160 chars), and detects missing tags
- Heading Structure โ Validates H1 count (exactly 1 recommended) and extracts heading content
- Canonical & Hreflang โ Detects canonical URLs and hreflang annotations for international SEO
- Social Meta Tags โ Extracts Open Graph (og:title, og:description, og:image) and Twitter Card tags
- Structured Data โ Identifies JSON-LD schema blocks on each page
- Link Health Check โ Audits internal and outbound links with HEAD-request status verification
- Image Alt Text Audit โ Counts images with and without alt text
- Meta Robots Directives โ Flags noindex/nofollow directives
- Page Size Analysis โ Detects oversized pages (>500 KB) that may impact Core Web Vitals
- Robots.txt Compliance โ Reads and respects your site's robots.txt, crawl-delay, and disallowed paths
- Sitemap Detection โ Checks for the presence of /sitemap.xml
- SEO Score โ Overall score (0โ100) with per-issue penalty breakdown
๐ Use Cases
| Use Case | Description |
|---|---|
| New Site Launch | Audit pages before going live to catch missing meta tags, broken links, and poor heading structure |
| SEO Migration | After a site redesign or CMS migration, verify all pages retain their SEO elements |
| Content Audit | Run quarterly audits to maintain SEO hygiene across your content library |
| Competitive Benchmarking | Compare your on-page SEO posture against industry standards |
| Pre-Launch Checklist | Integrate into your CI/CD pipeline as a quality gate before deploying |
โ๏ธ Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
domain | string | โ Yes | example.com | Root domain to audit (without protocol) |
paths | array | No | ["/", "/about", "/contact", "/blog", "/products", "/services"] | URL paths to crawl |
maxPages | integer | No | 10 | Maximum pages to audit (capped at 50) |
timeoutSecs | integer | No | 15 | Per-request timeout in seconds |
๐ Output Schema
Each crawled page produces a dataset item with:
| Field | Type | Description |
|---|---|---|
url | string | Audited page URL |
score | integer | Overall SEO score (0โ100) |
statusCode | integer | HTTP response status |
pageTitle | string/null | <title> tag content |
titleLength | integer/null | Title character count |
metaDescription | string/null | Meta description content |
metaDescriptionLength | integer/null | Meta description character count |
h1Count | integer | Number of <h1> tags |
h1Tags | string[] | H1 heading text |
canonicalUrl | string/null | Canonical URL |
hreflangTags | object[] | Hreflang annotations |
openGraphTags | object | Open Graph meta tags |
twitterCardTags | object | Twitter Card meta tags |
metaRobots | string/null | Robots meta directive |
jsonLdSchemas | string[] | Raw JSON-LD blocks |
internalLinks | object[] | Internal links with status |
outboundLinks | object[] | External links with status |
imagesMissingAlt | integer | Images lacking alt text |
imagesWithAlt | integer | Images with alt text |
pageSizeBytes | integer | Raw HTML size |
issues | object[] | List of SEO issues found |
๐ท๏ธ Issue Types
| Issue Type | Severity | Penalty |
|---|---|---|
missing-title | ๐ด Critical | โ15 pts |
meta-robots-noindex | ๐ด Critical | โ20 pts |
broken-internal-link | ๐ด Critical | โ8 pts |
multiple-h1 | ๐ด Critical | โ10 pts |
missing-meta-description | ๐ด Critical | โ10 pts |
short-title / long-title | ๐ก Warning | โ3/โ5 pts |
missing-h1 | ๐ก Warning | โ5 pts |
missing-canonical | ๐ก Warning | โ5 pts |
short/long-meta-description | ๐ก Warning | โ3/โ5 pts |
missing-og-title | ๐ก Warning | โ5 pts |
broken-outbound-link | ๐ก Warning | โ5 pts |
images-missing-alt | ๐ก Warning | โ5 pts |
large-page | ๐ก Warning | โ3 pts |
missing-og-description | ๐ต Info | โ3 pts |
missing-og-image | ๐ต Info | โ3 pts |
missing-twitter-card | ๐ต Info | โ3 pts |
no-jsonld | ๐ต Info | โ2 pts |
๐ฐ Pricing & Events
This actor uses Pay Per Event (PPE) pricing:
| Event | Price | Description |
|---|---|---|
actor-start | $0.01 | Synthetic start event (first 5s subsidized) |
url-audited | $0.02 | Per page fully analyzed for SEO signals |
issue-flagged | $0.01 | Per SEO issue found (capped at 10 per domain) |
Worked Example: 3-Page Audit
Input: { "domain": "example.com", "paths": ["/", "/about", "/contact"] }
Expected events and cost:
| Event | Count | Cost |
|---|---|---|
actor-start | 1 | $0.01 |
url-audited | 3 | $0.06 |
issue-flagged | ~6 (2 issues/page avg) | $0.06 |
| Total | ~$0.13 |
Platform Cost Analysis:
- Estimated CU for a 3-page audit: ~0.002โ0.003 CU
- At $0.20/CU: platform cost โ $0.0004โ$0.0006
- Margin: Event revenue ($0.13) is 200ร+ platform cost
- Well under the 30% cost/revenue target
๐ง Integration Notes
API (REST)
curl -X POST "https://api.apify.com/v2/acts/gp005~seo-onpage-auditor/runs" \-H "Content-Type: application/json" \-H "Authorization: Bearer YOUR_API_TOKEN" \-d '{"domain": "your-site.com","paths": ["/", "/about", "/contact"]}'
MCP (Apify Model Context Protocol)
Use the Apify MCP integration to run this actor directly from Claude, Cursor, or any MCP-compatible agent. The MCP tool name is act-gp005-seo-onpage-auditor.
Webhooks
Set up a webhook on run completion to push SEO audit results to:
- Slack (via incoming webhook)
- Google Sheets (via Make/Zapier)
- Custom API endpoint
Make (Integromat) / n8n
Use the Apify module in Make or n8n to trigger audits on a schedule (e.g., weekly) and pipe results into your reporting dashboard.
โ ๏ธ Honest Limitations
- First-party domains only โ This actor assumes you own or have permission to audit the target domain. Do not point it at third-party sites without ownership verification.
- No JavaScript rendering โ The auditor parses static HTML only. Single-page applications (React, Vue, Angular) may yield incomplete results if content is rendered client-side.
- Link checking is sampled โ Up to 20 links per page are checked for performance. Very large pages may have undetected broken links.
- Not a full technical SEO audit โ This covers on-page elements only. It does NOT check: backlinks, keyword rankings, page speed (real Core Web Vitals), sitemap validity, mobile-friendliness, or server configuration.
- Single-domain only โ Each run audits one domain. For multi-site audits, run multiple instances.
- Public pages only โ Login-gated, paywalled, or behind-authentication pages cannot be audited.
โ Frequently Asked Questions
What is an on-page SEO audit?
An on-page SEO audit analyzes individual web pages to evaluate their optimization for search engines. It checks elements like titles, meta descriptions, headings, content structure, internal links, and technical metadata that influence search rankings.
How is the SEO score calculated?
The score starts at 100 and deducts points for each issue detected. Critical issues (missing title, multiple H1s, noindex) carry the heaviest penalties (10โ20 pts). Warnings (short title, missing alt text) deduct 3โ8 pts. Info items (missing OG tags, no JSON-LD) deduct 2โ5 pts. The minimum score is 0.
Does this tool respect robots.txt?
Yes. The auditor fetches your site's /robots.txt, parses the rules, and automatically skips any disallowed paths. It also respects Crawl-delay directives for polite crawling.
Can I use this for competitor analysis?
This tool is designed for auditing domains you own. Auditing third-party sites without permission may violate their Terms of Service and robots.txt policies. Always verify you have the right to crawl a domain before using this tool.
What's the difference between on-page and technical SEO?
On-page SEO focuses on content and HTML source code optimizations (titles, meta, headings, schema). Technical SEO covers server configuration, site architecture, page speed, mobile optimization, crawlability, and indexation. This tool covers the on-page layer plus robots.txt/sitemap checks.
How many pages can I audit in one run?
You can audit up to 50 pages per run via the maxPages parameter. The default paths list includes 6 common pages (homepage, about, contact, blog, products, services).
Does this check Core Web Vitals?
Not directly. The auditor reports page size as a hint โ oversized pages (>500 KB) are flagged. Actual Core Web Vitals (LCP, FID, CLS) require real user monitoring or lab tools like Lighthouse.
How long does a run take?
A typical audit of 1โ6 pages completes in under 30 seconds. Larger audits (up to 50 pages) may take 2โ5 minutes depending on server response times and crawl-delay settings.
๐ Changelog
- 0.1 โ Initial release: title/meta/H1/canonical/hreflang/OG/Twitter/JSON-LD/link-check/alt-text/page-size/page-size audits, robots.txt compliance, sitemap detection, PPE pricing
๐ค Support
For issues, feature requests, or questions, visit the actor page on Apify or open an issue in the repository.