SEO Audit
Run a full-site SEO audit and return a scored, prioritized report.
Crawls a site from its sitemap and audits every page for crawl, index, on-page, content, schema and mobile issues, scored out of 100 with ranked fixes.
Listed ·Updated
$ npx skills add https://seoskills.sh --skill full-site-seo-auditorFull-Site SEO Auditor is an SEO Audit skill for AI agents, published in the seoskills.sh catalog. Reach for it when your work involves full technical and on-page audits with prioritized action plans. Install it with one command and it runs inside your own agent, so the work happens in your workflow, not a separate SEO tool.
AGENT ROLE: Autonomous site-audit agent. Crawl the site, measure every page against the checks below, score each area, and emit the JSON in references/output.schema.json. Then explain the results to the user as a prioritized fix list, in plain language, starting with the critical and high items.
Answer "what is wrong with this site's SEO, and what should we fix first?" with measured findings rather than a checklist: every finding names the check, how many pages it affects, example URLs, and the fix.
site (REQUIRED via --site): the site root, for example https://example.com.max_pages (OPTIONAL, default 50): pages to audit. Raise it for bigger sites; the run takes roughly one second per four pages.sitemap (OPTIONAL): a sitemap URL to use instead of the one robots.txt lists.psi (OPTIONAL flag): add Google PageSpeed Insights (mobile) for the homepage.seoskills-full-site-auditor/1.0.--psi calls the PageSpeed Insights API, which needs env PSI_API_KEY (a free Google Cloud API key with the PageSpeed Insights API enabled; Google refuses keyless requests). IF the key is missing or the call fails THEN psi.status="unavailable" with the reason, and the audit continues.scripts/full_site_audit.py --site https://example.com [--max-pages 50] [--psi].http:// homepage, then one per audited page (4 in parallel).STEP 1: FETCH the homepage, then robots.txt. Parse robots.txt with Google's matching rules (the longest matching rule wins; Allow wins a tie; * and $ supported). Flag ROBOTS_BLOCKS_SITE when Googlebot may not fetch /.
STEP 2: DISCOVER pages from the sitemaps robots.txt lists (else /sitemap.xml), following sitemap indexes. IF there is no sitemap THEN crawl breadth-first from the homepage through internal links, and flag SITEMAP_MISSING.
STEP 3: AUDIT each page for status and redirect chain, robots.txt access, meta robots and X-Robots-Tag, canonical tags, title, meta description, H1s, images without alt, visible word count, internal links out, JSON-LD (parsed), HTTPS and mixed content, viewport, lang, response time and HTML size.
STEP 4: SITE-WIDE checks. Duplicate titles and meta descriptions; http:// to https:// redirect; pages no audited page links to (only when the whole sitemap was audited, so a partial crawl never reports false orphans).
STEP 5: SCORE seven areas with fixed weights (crawlability 20, indexability 20, on-page 25, content 15, structured data 5, security and mobile 10, performance 5). Each area loses severity weight × share of pages affected per issue (critical 1.0, high 0.6, medium 0.3, low 0.1; site-wide issues count as every page). The total is the sum, out of 100.
STEP 6: EMIT issues sorted by severity, then pages affected, each with its fix; up to five quick wins; and the per-page table.
--concurrency, at most 8); a 0.15-second pause between pages when crawling without a sitemap; 15-second timeout per request.UNREACHABLE, not skipped. IF the homepage answers 401, 403, 429 or 503 THEN a warning says the site may block automated requests, since that would turn bot protection into false errors.error.code="SITE_UNREACHABLE". An --site that is not an absolute URL STOPs INPUT_INVALID.pages_audited and sitemap.fully_audited say how much of the site that was. Never extrapolate a count to pages that were not fetched.psi.field_p75 is null. Never present lab numbers as field data.One JSON object per references/output.schema.json. Then a short report for the user: the score, the three to five most important fixes with their page counts, and the quick wins.
scripts/full_site_audit.py: robots.txt matching, sitemap discovery, crawl, per-page and site-wide checks, area scoring, PageSpeed Insights.references/output.schema.json: output contract.Not using the CLI? Copy the SKILL.md and paste it straight into ChatGPT, Claude, or any agent.
$ npx skills add https://seoskills.sh --skill full-site-seo-auditor -a claude-codeRun a full-site SEO audit and return a scored, prioritized report.
Enter a friendly OpenSEO coach mode that explains workflows, recommends next steps, and helps users use agents, web search, scraping, and MCP data effectively.
Diagnose search-experience and intent mismatches using SERP page types, user stories, and persona scoring.
Audit a website or web codebase for SEO and AI-search (GEO/AEO) — produces two independent 0-100 scores (Search SEO + AI Visibility) plus a prioritized, evidence-backed report persisted on disk.
Turns raw findings from any SEO audit into one deduplicated, RICE or ICE scored remediation roadmap, with owners, effort and ready-to-file tickets.
Crawls a site for canonical, hreflang, redirect and robots signals that contradict each other and make Google ignore your canonical tags.