audit_site
Audits any website for SEO, GEO/AEO, and speed issues. Runs ~75 checks per page and provides actionable recommendations without modifying the site.
Instructions
READ-ONLY, platform-agnostic site auditor. Works on ANY website (WordPress, Shopify, custom, static — anything). Audits SEO, GEO/AEO and speed: it SHOWS problems and gives CMS-neutral 'how it should be' recommendations — it does NOT modify the site; you decide whether/how to fix. Discovers pages via sitemap.xml (polite ~1 req/sec, default 25 / max 100 pages), fetches each page's HTML (following redirects so it can flag redirect chains), and runs ~75 checks: PER PAGE — title missing/length/HTML-entities/lowercase-start, meta description missing/length, image alt text, H1 count, emoji/overlong/before-H1/broken-hierarchy headings, low word count, no internal links, noindex, large page, soft-404, mixed content, canonical, viewport, Open Graph, structured-data validity; GEO/AEO — JSON-LD Article author-not-Person / missing dates / duplicate-type / conflicting-data / unrecognized @type / incomplete Person, FAQ & HowTo schema not visible on-page, incomplete social tags, AI-restrictive meta robots, /llms.txt, robots.txt AI-bot blocking, sitemap lastmod coverage; CROSS-PAGE / CRAWL — duplicate titles & meta descriptions, trailing-slash duplicates, boilerplate repeated headings, broken internal links, orphaned pages, crawl depth, redirect chains (broken/loop/too-many); SITE — robots.txt missing/blocks-all/blocks-sitemap-path, sitemap unreachable/invalid/empty/index-children-failed/not-declared-in-robots; SPEED — always-on HTML heuristics (render-blocking head resources, images missing width/height, un-lazy offscreen images, large inline blocks, page weight, DOM size), plus Google PageSpeed Insights (Core Web Vitals + Lighthouse opportunities) on a sample of pages when PAGESPEED_API_KEY is set. Returns a per-pillar summary {seo, aeo, speed} (score + health_label + issue count) and a flat issues[] where each item = {code, category, severity, url, evidence, why, target_state, recommendation}.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| site_url | Yes | The site to audit, e.g. https://example.com | |
| max_pages | No | Max pages to crawl from the sitemap (default 25, cap 100). | |
| speed_sample | No | How many pages to measure with PageSpeed Insights (homepage + representative pages). Default 3. Ignored unless PAGESPEED_API_KEY is set; HTML speed heuristics always run on every fetched page. |