Skip to the content.

seo-suite

A Claude Code plugin that does SEO end to end, from a five-minute page check to a full audit, migration, or AI-search visibility programme. It is built so the free path always works and paid tools are an upgrade with a stated reason.

What’s inside

Install

In Claude Code:

/plugin install seo-suite --marketplace ChaoticSurfer/seo-suite

Or from a terminal:

claude plugin marketplace add ChaoticSurfer/seo-suite
claude plugin install seo-suite@seo-suite

You need Python 3.9 or newer. The scripts use only the standard library, so there is nothing else to install by hand. Rendering, the Search Console API and technical drift use claude-seo, which seo-suite installs itself the first time a run needs it (a venv and Chromium, about 150 MB). That needs git and Python 3.11–3.14.

Connect paid data (optional)

Everything works on free data. To add a paid source, install its connector:

/plugin install seo-suite-semrush@seo-suite
/plugin install seo-suite-ahrefs@seo-suite
/plugin install seo-suite-dataforseo@seo-suite

Then sign in: /mcp for Semrush and Ahrefs, and /plugin configure seo-suite-dataforseo@seo-suite for DataForSEO’s API login. Set the monthly budgets with /plugin configure seo-suite@seo-suite. Until you do, the credit guard blocks every paid call.

INTEGRATIONS.md lists every tool the plugin works with, free and paid, how each one connects, and what it costs.

How much it does on its own

A run goes end to end without stopping to ask. Claude makes the SEO decisions itself and asks only for access it lacks (a sign-in, an export) and for real business decisions, all together at the end. What it may change depends on the autonomy level you set with /plugin configure seo-suite@seo-suite:

Level Runs without asking
1. Analyse (default) Fetches, crawls, scripts, free APIs, paid calls within budget, reports, the work log
2. Fix in code Level 1, plus edits, commits and pull requests in the site’s repo
3. Ship Level 2, plus merging pull requests that pass CI, and submitting sitemaps or IndexNow for changed URLs
4. Operate Level 3, plus publishing to a CMS and Search Console sitemap submission through an authorised connector

Some actions always need your OK, at every level: messages to real people, disavow files, deleting pages that earn traffic, DNS and CDN changes, Business Profile and Merchant Center edits, and spending above budget. The run prepares each one exactly and lists it at the end; Claude carries out the items you approve. Buying reviews or ranking links, and anything a vendor’s terms forbid, are never done. The full list is in references/autonomy.md.

Use

Ask in plain words: “audit example.com”, “why did traffic drop in September”, “add Product schema”, “get us cited in ChatGPT”, “teach me SEO”. You can also call a skill directly: /seo-suite:seo-audit.

Scripts run on their own too. <plugin-dir> is your clone, ~/.claude/skills/seo-suite for a local copy, or ~/.claude/plugins/cache/seo-suite/seo-suite/<version>/ after a marketplace install:

python3 <plugin-dir>/scripts/page_audit.py https://example.com/

Tests

python3 -m unittest discover -s <plugin-dir>/tests

test_docs.py fails if a skill references a script or flag that doesn’t exist, or a section of google-rules.md has gone unchecked for about six months. test_scripts.py fails if a script can emit a finding id that has no triage row. GitHub Actions runs the suite on every push (.github/workflows/tests.yml) and prints the test count in the job summary.

Whether a request reaches the right skill is tested with a model, not by the unit tests: 36 routing cases in evals/routing/, run with claude plugin eval after any change to a skill’s description (evals/README.md).

Manage

Licence

MIT