seo_audit
Run a one-shot SEO audit of any domain's homepage, receiving a 0-100 composite score and a list of missing signals with concrete fixes. Ideal for pre-pitch assessment or marketing maturity triage.
Instructions
One-shot SEO audit of a domain's homepage with a 0-100 composite score + a missing_signals list of concrete fixes. Use BEFORE pitching SEO work to a prospect, when triaging a lead's marketing maturity, or as a structured pre-flight before deeper auditing tools (Lighthouse / SEMrush). 10 audit rules each worth 10 pts: title present, title length 30-60 chars (Google SERP truncation window), meta description present, meta description length 50-160, exactly one H1, canonical link, >=3 OG tags, JSON-LD present, image alt-text coverage (proportional), HTTPS. Strictly homepage-only — we do NOT crawl the site. Ethical floor: target's robots.txt is honoured — Disallow: / for ContrastAPI OR * returns 403 error.code = robots_txt_disallow and we DO NOT fetch. Cache-Control: no-store/private skips our cache write (cache_respected=false in the response). Per-target eTLD+1 throttle (60 req/min) prevents weaponising via subdomain rotation. All target-derived strings/lists are _untrusted. Free: 30/hr, Pro: 500/hr. Returns {domain, fetched_url, status_code, title_untrusted, meta_description_untrusted, canonical_url, h1_untrusted, h1_count, h2_count, h3_count, images_total, images_missing_alt, internal_link_count, external_link_count, og_tags, json_ld_present, score, missing_signals, cache_respected, summary}. Returns 502 on DNS/TCP/TLS failure; 403 robots_txt_disallow when the target opted out.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Registrable domain to audit SEO for (e.g. 'example.com', 'shopify.com'). No scheme, no path, no port. Strictly homepage-only — the bot fetches https://<domain>/ with HTTP fallback and audits that single page (we do NOT crawl). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |