SEO Site Checkup — Technical Website Audit
Pricing
from $25.00 / 1,000 seo page auditeds
SEO Site Checkup — Technical Website Audit
Audit public website pages for on-page SEO, technical signals, structured data, social metadata, security headers, and prioritized issues.
Pricing
from $25.00 / 1,000 seo page auditeds
Rating
0.0
(0)
Developer
Muhammad Afzal
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
3 days ago
Last modified
Categories
Share
Run a bounded technical SEO audit on a public website URL and receive one structured record per audited page. The actor reports an explainable 0–100 heuristic score, page metadata, crawlability signals, structured data, social tags, security headers, and prioritized recommendations for SEO agencies, site owners, developers, and AI agents.
This is a static HTML audit. It does not log in, bypass access controls, execute JavaScript, or claim to reproduce Google rankings.
What it checks
| Area | Output |
|---|---|
| Page metadata | HTML title, title length, meta description, canonical URL, robots meta |
| Content structure | H1/H2/H3 counts, first H1 text, approximate visible word count |
| Crawlability | HTTP status, final URL, HTTPS, robots.txt, sitemap availability, internal/external links |
| Media | Image count and images missing a non-empty alt attribute |
| Search enhancements | JSON-LD schema.org types and indexable signal |
| Social previews | Open Graph and Twitter/X card presence |
| Response hardening | HSTS, CSP, X-Content-Type-Options, and Referrer-Policy headers |
| Recommendations | Critical, warning, and informational issues with a concrete fix |
When to use it
Use this actor when you need a quick, repeatable technical baseline for one URL or a small same-host sample. Set crawlLinks to true to follow internal links until maxPages, or false for a single-page check. For JavaScript-heavy sites, run a browser-based crawler first and pass its rendered URLs to a suitable audit workflow; this actor intentionally measures the HTML returned to a normal HTTP crawler.
Do not use it for private pages, authenticated staging environments, full enterprise-scale crawling, Core Web Vitals, backlink discovery, keyword-volume research, or a guarantee of search-engine indexation. seoScore is a heuristic prioritization score, not a ranking score.
Input
Minimal input:
{"targetUrl": "https://example.com/"}
Bounded site sample:
{"targetUrl": "https://example.com/","maxPages": 25,"crawlLinks": true,"includeRobotsTxt": true,"requestDelayMs": 750,"responseFormat": "detailed"}
targetUrl accepts a full public http or https URL. maxPages defaults to 5 and is capped at 100. Each stored page audit is one billable page-audited event. requestDelayMs defaults to 500 milliseconds and exists for respectful pacing, not anti-bot bypass. responseFormat: "concise" keeps the first eight issues per page for smaller agent responses; it does not change the checks or score.
Output
The default dataset contains one stable-shape record per successfully fetched page. Missing values are explicit nulls, which lets agents distinguish “not present” from a field omitted by the actor.
{"sourceUrl": "https://example.com/","statusCode": 200,"title": "Example Domain","metaDescription": null,"h1Count": 1,"imagesMissingAlt": 0,"structuredDataTypes": [],"seoScore": 78,"issues": [{"key": "missing-meta-description","severity": "critical","message": "The page has no meta description.","recommendation": "Add a unique 120–160 character description that explains the page value."}],"warnings": [],"scrapedAt": "2026-08-02T12:00:00.000Z"}
The OUTPUT and SUMMARY key-value records contain page counts, failed requests, robots/sitemap diagnostics, warnings, and estimated page-event charges. A successful empty crawl is reported with diagnostics; a target that fails all requests after retries is marked failed so temporary outages are not mistaken for a healthy site.
Pricing
| Event | Price |
|---|---|
| Actor start | $0.00005 |
page-audited | $0.025 per stored page |
The actor is configured for predictable PPE with platform usage paid by the user, so compute and proxy usage can be passed through for larger runs. PPE is declared in .actor/pay_per_event.json. A five-page default run is capped at approximately $0.125 in page events, excluding the start event and normal Apify usage charges.
Reliability and responsible use
The actor uses a single low-concurrency CheerioCrawler, retries failed requests, caps page discovery, and does not send credentials. Discovered same-host links are filtered through a conservative robots.txt check when enabled. Site owners remain responsible for permission, terms of service, applicable law, and appropriate request pacing. Results should be reviewed against the source before making material SEO or security changes.
API and MCP
Through the Apify API, call the actor with targetUrl, maxPages, and the other input fields, then read the default dataset. Through Apify’s hosted MCP integration, use this tool for technical SEO checks on a public URL; it returns one page record at a time with seoScore, issues[], metadata, link counts, structured-data types, and security-header booleans. Do not choose it when you need rendered browser content, private-page access, backlink data, or a full crawl beyond the configured cap.
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('YOUR_USERNAME/seo-site-checkup').call({targetUrl: 'https://example.com/',maxPages: 5,crawlLinks: true});console.log(run.defaultDatasetId);
Python
from apify_client import ApifyClientclient = ApifyClient(token="YOUR_APIFY_TOKEN")run = client.actor("YOUR_USERNAME/seo-site-checkup").call(run_input={"targetUrl": "https://example.com/","maxPages": 5,"crawlLinks": True,})print(run["defaultDatasetId"])
This independent actor is not affiliated with any audited website or search engine.