SEO Audit for a URL List (No Crawling)
Pricing
from $10.00 / 1,000 pages
SEO Audit for a URL List (No Crawling)
SEO audit of a URL list: checks only the URLs you pass (no crawling, no sitemap reading). Title, meta description, H1, image alt, canonical, Open Graph and more. $0.01 per page; failed URLs are not billed the $0.01.
Pricing
from $10.00 / 1,000 pages
Rating
0.0
(0)
Developer
Emilio Ranúcoli
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 days ago
Last modified
Categories
Share
SEO Audit Report
SEO audit for a list of URLs: each page gets a 0–100 score and a list of concrete on-page issues ranked by impact, each with the measured value.
It audits only the URLs you pass in startUrls. It does not crawl the site or follow links. To audit a whole site, pass the list of URLs (for example, from your sitemap).
What it checks
Every check below maps to a field in the output.
| Check | Output field(s) |
|---|---|
| Title present, under 30 or over 60 characters | title, titleLength, issue missing-title / title-too-short / title-too-long |
| Meta description present, over 160 characters | metaDescription, metaDescriptionLength, issue missing-meta-description / meta-description-too-long |
| H1 count (none or more than one) | h1Count, h1 (first 5), issue missing-h1 / multiple-h1 |
Images without alt text | imagesTotal, imagesWithoutAlt, issue images-missing-alt |
| Canonical link | canonical, issue missing-canonical |
<html lang> | lang, issue missing-lang |
| Meta viewport | issue missing-viewport |
| Open Graph title | issue missing-og-title |
| Word count (thin content under 300 words) | wordCount, issue thin-content |
| Broken links (optional, up to 40 links per page, HTTP 400+) | brokenLinks, issue broken-links |
| HTTP status of the page | statusCode |
| Score: 100 minus the weights of the issues found, min 0 | score, issueCount, issues[].peso |
Issues are sorted by weight, highest first. Each issue has code and detail in English, plus codigo and detalle (the original Spanish fields, kept for backward compatibility).
A URL that fails to load is reported as { "url", "error", "score": null } and the run continues.
Input
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
startUrls | array | yes | [{"url": "https://apify.com"}] | Pages to audit, one URL per row. |
checkLinks | boolean | no | false | Check up to 40 links per page with a HEAD request. Slower. |
Example input (runs as is)
{"startUrls": [{ "url": "https://docs.apify.com/" },{ "url": "https://www.python.org/" }],"checkLinks": false}
Output
One dataset item per URL. Example from a real run on 2026-10-14 (code and detail are added in this version next to the original fields):
{"url": "https://docs.apify.com/","statusCode": 200,"score": 72,"issueCount": 3,"issues": [{"codigo": "sin-meta-description","detalle": "Sin meta description: Google arma el resumen por su cuenta.","code": "missing-meta-description","detail": "No meta description: Google writes the snippet on its own.","peso": 15},{"codigo": "imagenes-sin-alt","detalle": "2 de 22 imágenes sin texto alternativo.","code": "images-missing-alt","detail": "2 of 22 images have no alt text.","peso": 8},{"codigo": "titulo-corto","detalle": "19 caracteres; por debajo de 30 desaprovecha espacio.","code": "title-too-short","detail": "19 characters; under 30 wastes space in the search result.","peso": 5}],"title": "Apify Documentation","titleLength": 19,"metaDescription": "","metaDescriptionLength": 0,"h1Count": 1,"h1": ["Apify Documentation"],"imagesTotal": 22,"imagesWithoutAlt": 2,"wordCount": 479,"canonical": "https://docs.apify.com/","lang": "en","brokenLinks": [],"checkedAt": "2026-10-14T22:32:27.732Z"}
Pricing
Pay per event: USD 0.01 per audited page. A run that audits 10 URLs costs USD 0.10, plus Apify's small per-run start and per-dataset-item events. Pages that fail to load are not charged as audited pages.
Export results as JSON, CSV, Excel or XML, or use them via the Apify API.
© 2026 Ranuk IT Solutions · ranuk.dev