SEO Audit: On-Page Checker for Any List of URLs
Pricing
from $1.75 / 1,000 page auditeds
SEO Audit: On-Page Checker for Any List of URLs
Audit pages for on-page SEO in bulk: title and meta description length, H1 and headings, canonical, noindex, lang, mobile viewport, image alt texts, word count, Open Graph, structured data (JSON-LD), HTTPS and mixed content, load time. Score 0-100 with a clear issue list per page.
Pricing
from $1.75 / 1,000 page auditeds
Rating
0.0
(0)
Developer
Tidelane Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 hours ago
Last modified
Categories
Security
Limited permissionsShare
Check the on-page SEO of many pages at once. For each URL you get a score from 0 to 100, a clear list of issues (errors, warnings, notices) and all the facts behind them: title and meta description length, H1 and heading structure, canonical, noindex, language, mobile viewport, image alt texts, word count, internal and external links, Open Graph, structured data (JSON-LD), HTTPS and load time.
- ✅ Bulk audits: paste your sitemap URLs or a client's key pages
- ✅ Real browser: JavaScript-rendered content and tags are checked as Google sees them after rendering
- ✅ 22 checks with plain-English messages, ready for client reports
- ✅ Structured data types (Organization, Product, Article, FAQPage …) and invalid JSON-LD detection
- ✅ Fair billing: pages that fail, error pages and pages excluded by robots.txt are free
Checks
| Severity | Checks |
|---|---|
| Error | missing title, missing meta description, missing H1, noindex (meta or X-Robots-Tag), no mobile viewport, invalid JSON-LD, no HTTPS |
| Warning | title under 30 or over 60 characters, description under 70 or over 160, several H1s, no lang attribute, images without alt, under 300 words, mixed content, load time over 3 s |
| Notice | no canonical or canonical to another URL, no Open Graph title or image, no structured data, no favicon |
The score starts at 100 and loses 12 points per error, 5 per warning and 1 per notice.
Input example
{ "urls": ["https://apify.com", "https://books.toscrape.com/"] }
Output example
Real output from a test run:
{"url": "https://books.toscrape.com/","finalUrl": "https://books.toscrape.com/","score": 80,"issues": [{"code": "no_description", "severity": "error", "message": "The page has no meta description."},{"code": "no_canonical", "severity": "notice", "message": "The page has no canonical URL."},{"code": "no_og", "severity": "notice", "message": "Open Graph tags (og:title, og:image) are missing; shared links look plain."},{"code": "no_structured_data", "severity": "notice", "message": "No structured data (JSON-LD) found."},{"code": "mixed_content", "severity": "warning", "message": "The HTTPS page loads images, scripts or styles over plain HTTP."}],"issueCounts": {"error": 1, "warning": 1, "notice": 3},"statusCode": 200,"redirected": false,"title": "All products | Books to Scrape - Sandbox","titleLength": 40,"metaDescription": null,"metaDescriptionLength": 0,"h1": ["All products"],"headingCounts": {"h1": 1, "h2": 0, "h3": 20, "h4": 0, "h5": 0, "h6": 0},"canonical": null,"metaRobots": "NOARCHIVE,NOCACHE","lang": "en-us","hreflang": [],"wordCount": 308,"images": 20,"imagesWithoutAlt": 0,"linksInternal": 94,"linksExternal": 0,"openGraph": {"title": null, "description": null, "image": null, "type": null, "url": null},"twitterCard": null,"structuredDataTypes": [],"loadTimeMs": 237,"htmlBytes": 5576,"auditedAt": "2026-10-23T14:30:22.998Z"}
A summary per URL is saved as OUTPUT in the key-value store.
Pricing
A fixed price per audited page. In our tests 6 pages took 26 seconds with the default 2 GB memory.
Paid Apify plans pay less: 10% off on Starter, 20% on Scale and 30% on Business and higher plans.
FAQ
Is this a full site crawler? No, it audits the pages you list. Take the URLs from your sitemap or analytics to audit a whole site.
Why do images with alt="" not count as missing? An empty alt is the correct way to mark decorative images. Only images without any alt attribute are reported.
Why is a page "blocked_by_robots"? By default the Actor respects robots.txt. Turn off Respect robots.txt only for your own sites or with the owner's permission.
More tools from Tidelane Data
- Lighthouse Audit: bulk PageSpeed, Core Web Vitals and SEO scores
- Broken Link Checker: find 404s, redirects and dead links
- Sitemap Extractor: all URLs of a website from its sitemaps, with lastmod
- Accessibility Checker: WCAG 2.2, EAA and ADA audits with axe-core
- Tech Stack Detector: CMS, frameworks and technologies of any website
All our tools: apify.com/tidelane
Impressum
Levi Griesinger, Tidelane Data
Besigheimer Straße 18
74369, Löchgau, Deutschland
E-Mail: LeviGriesinger@gmail.com