SEO audit of a website
seo_audit_websiteCrawl a site and audit each page for on-page SEO issues like missing titles, meta descriptions, H1s, canonicals, alt text, and thin content; get per-page issues and a 0–100 score.
Instructions
Crawl a site from one or more start pages (same host only) and audit every page for on-page SEO problems: missing or overlong titles and meta descriptions, H1s, canonicals, noindex, image alt text, thin content, Open Graph, JSON-LD and slow responses. Returns one record per page with a list of issues and a 0-100 score. Use it to find what to fix on a site; use extract_website_metadata instead when you only need the tags of known URLs. Cost, charged to your own Apify account: $0.003 per page audited; $0.00005 per Actor start (per GB of memory, once per run). Each call is capped at maxCostUsd (default $0.25). Defaults applied by this server when omitted: maxPagesPerSite=10. Runs Apify Actor fecklesspleb/website-seo-audit (https://apify.com/fecklesspleb/website-seo-audit).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| startUrls | Yes | Websites to audit. Start page of each site, usually the home page, e.g. ["https://books.toscrape.com/"]. Plain URL strings or {"url": "..."} objects; a URL without http(s):// gets https:// added. Only links on the same host are crawled (www. and the bare domain count as one host) and robots.txt is obeyed. Default ["https://www.python.org/"] is a sample run: at most 2 pages, stops after 15 s. | |
| maxCostUsd | No | Most this call may charge your Apify account, in US dollars. Default 0.25, maximum 5. Passed to Apify as maxTotalChargeUsd, the most Apify will charge for this run. | |
| maxResults | No | Max pages in dataset. Maximum rows saved to the dataset in the whole run, across all sites. Default 0 = no cap. Free rows (pages that returned HTTP 400+ or no response) also count. The crawl stops when the cap is reached. Each charged row costs $0.003. | |
| includeJsonLd | No | Include JSON-LD data. If true, each row gets jsonLd: the parsed JSON-LD blocks, with email, telephone, author, creator, contributor, editor and reviewedBy keys removed. Default false. jsonLdTypes (schema.org types found) and jsonLdErrors (blocks that failed to parse) are always included. | |
| excludePatterns | No | Exclude URL patterns. Regular expressions for links not to crawl, matched case-insensitively anywhere in the full URL, e.g. ["/tag/", "\\?page="]. They apply to links found on pages; the start URL is always audited. Default: none. | |
| maxPagesPerSite | No | Max pages per site. Maximum pages audited per start URL, 1 to 10,000. Default 10. Pages that fail (HTTP 400+ or no response) count; pages blocked by robots.txt, non-HTML files and redirects to another host do not. Example: 200 for a full audit of a small site. | |
| onlyPagesWithIssues | No | Only pages with issues. If true, pages with no issues are not saved and not charged; only pages with at least one issue are output. Default false: every audited page is output. |