SEO Audit
by coreyhaines31 / marketingskills
Audit, review, or diagnose SEO issues on your site.
Measures keyword and SERP-position deltas over time from provided exports or connected tools, including AI-response checks.
Listed ·Updated
Install data from skills.sh
This skill calls shared connector scripts that a single-skill install does not copy. To get them, install the author's Claude Code plugin instead: run "/plugin marketplace add aaron-he-zhu/aaron-marketing-skills", then "/plugin install aaron-marketing@aaron". That installs all of the author's skills and works in Claude Code only.
Rank Tracker 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.
Tracks keyword positions, SERP feature ownership, and AI visibility over time.
Set up rank tracking for [domain] targeting these keywords: [keyword list]
Analyze ranking changes for [domain] over the past [time period]
Expected output: a ranking report or delta summary plus the standard handoff summary for memory/monitoring/.
memory/open-loops.md.Emit the standard shape from skill-contract.md §Handoff Summary Format.
All integrations optional (see CONNECTORS.md). With tools, pull rankings from ~~SEO tool, impressions from ~~search console, traffic from ~~analytics, and AI citations from ~~AI monitor. Without tools, ask for positions, volumes, competitor data, and SERP feature status.
Zero-dependency measurement loop (no paid tool needed): never narrate a ranking movement you did not measure — record each check as a snapshot and let the ledger compute the delta. python3 "${CLAUDE_PLUGIN_ROOT}/scripts/connectors/ledger.py" record <domain> --source rank --data '{"<keyword>": <position>, ...}', then ledger.py diff <domain> --source rank for the change since the last check and ledger.py trend <domain> --source rank --field "<keyword>" for the series. Record real Search Console positions when connected, or the positions the user provides at Tier 1. A ranking delta is a week-scale, confounded outcome — attribute it against a control (a holdout keyword/competitor), not against zero; see references/measurement-protocol.md. See scripts/connectors/README.md.
Stop and ask the user when:
CLAUDE.md or prior monitoring records — offer: (1) supply a keyword list, (2) track the domain's top known terms, (3) cancel.Continue silently (never stop for):
When a user requests rank tracking or analysis:
Label every metric Measured, User-provided, Calculated, Estimated, Proxy, or Unknown; never present an estimate or proxy as measured. An applicable missing metric is Unknown with its reason. A stale or locale/language/device/engine-mismatched position is NEEDS_REFRESH, not a current ranking; N/A is only for a genuinely non-applicable field.
Reference: See Ranking Analysis Templates for the complete output templates for all seven steps.
A ranking report names the biggest winners, biggest drops, and next actions, with each position carrying its source tag and labeled delta against baseline.
| Change | Timeframe | Action |
|---|---|---|
| Drop 1-3 positions | Wait 1-2 weeks | Monitor — may be normal fluctuation |
| Drop 3-5 positions | Investigate within 1 week | Check technical issues and competitor changes |
| Drop 5-10 positions | Investigate immediately | Run a full diagnostic: technical, content, links |
| Drop off page 1 | Emergency response | Comprehensive audit + recovery plan |
| Position gained | Document and learn | Identify what worked and replicate |
Reference: See Tracking Setup Guide for tracking setup, root-cause taxonomy, CTR benchmarks, SERP feature impact, and algorithm-update assessment.
Ask "Save these results?" If yes, write to memory/monitoring/ — see Skill Contract §Save Results Template.
Initial setup (no baseline) → performance-monitor. Subsequent runs (baseline exists) → Terminal. Visited-set rule applies per skill-contract.md.
Not using the CLI? Copy the SKILL.md and paste it straight into ChatGPT, Claude, or any agent.