SEO/AEO/GEO Plugin for Claude Code — Full Guide

On this page
What Is the SEO/AEO/GEO Plugin for Claude Code?
The SEO/AEO/GEO plugin is a Claude Code plugin that turns Claude into a full-stack search optimization practitioner. It runs site crawls, keyword research, backlink analysis, rank tracking, and AI-citation checks against live DataForSEO data, then hands back prioritized reports or, in a Next.js + Sanity codebase, direct code fixes.
We built this plugin because every SEO task we were asking Claude to do — audit a page, research keywords, check if ChatGPT was citing us — kept devolving into copy-pasting numbers out of a dashboard and back into a chat window. The plugin closes that loop: Claude calls DataForSEO's APIs directly, so the analysis is grounded in current numbers instead of the model's training data, which for search rankings and keyword volume goes stale within weeks. It's one of the plugins in Rhize plugins for Claude Code, Rhize Media's public Claude Code plugin marketplace.
What Problem Does It Solve — and What's the Difference Between SEO, AEO, and GEO?
SEO is optimizing for traditional search rankings; AEO (Answer Engine Optimization) is getting selected as the answer in Google AI Overviews and featured snippets; GEO (Generative Engine Optimization) is visibility across generative engines like ChatGPT, Perplexity, and Google AI Mode. The plugin treats all three as one connected discipline rather than separate tools, because AI systems tend to cite content that's already well-structured and well-established under traditional SEO.
That's a real operational problem for anyone running search visibility work today: a site can rank well in classic organic results and still be invisible when someone asks ChatGPT the equivalent question. Checking that requires different data — LLM brand mention tracking, AI Overview citation rates, AI crawler access — that most SEO tooling wasn't built to surface. The plugin's aeo-geo-optimization skill and /ai-visibility command exist specifically to answer "are AI systems citing us," using DataForSEO's AI Optimization module rather than manual spot-checking.
How Does the Plugin Work?
The plugin has two component types: skills, which are reference knowledge Claude loads automatically when your request matches a trigger phrase, and commands, which you invoke explicitly with a slash prefix to run a full workflow end-to-end. You don't call the DataForSEO API yourself in either case — you describe what you want to know or fix, and Claude calls the right endpoint.
Six of the seven skills are DataForSEO-backed data skills: they pull live search volume, rankings, backlink authority, and AI citation numbers and turn them into analysis. The seventh, nextjs-sanity-seo, is different — it's a code implementation skill that never touches DataForSEO. It knows the actual Next.js App Router and Sanity CMS patterns needed to fix what the data skills find wrong. In practice, the data skills diagnose and this skill fixes: if a /seo-audit on a Next.js site turns up structured-data gaps, /code-seo-review closes them directly in the codebase.
What Skills Does the Plugin Ship With?
Each skill activates automatically when your request matches its trigger phrases — you don't invoke skills directly, unlike commands.
| Skill | What it does |
|---|---|
| seo-site-audit | Runs a DataForSEO OnPage crawl (with JS rendering for SPA/Next.js sites) and produces a prioritized report covering on-page elements, technical health, and structured data, scored Critical → High → Medium → Low |
| keyword-intelligence | Expands seed keywords into 50-200 scored candidates using Keywords Data, Labs, and SERP APIs, classifies intent, and clusters them into content-pillar groups |
| content-seo | Applies title tag and meta description formulas, heading hierarchy rules, E-E-A-T implementation, internal linking guidelines, and JSON-LD templates to optimize a specific page |
| aeo-geo-optimization | Checks AI Overview citations, LLM brand mentions across ChatGPT/Claude/Perplexity/Gemini, AI crawler robots.txt rules, and restructures content for extraction-friendly formatting |
| backlink-intelligence | Reads a DataForSEO Backlinks API profile — authority scoring, anchor text health, competitor link-gap analysis, and broken-link reclamation |
| serp-intelligence | Pulls live SERP snapshots and historical rank data, maps which SERP features exist and who owns them, and tracks rank drops or gains over time |
| nextjs-sanity-seo | Implements Next.js App Router + Sanity SEO patterns directly in code — schema fields, generateMetadata, sitemaps, JSON-LD components — no DataForSEO calls involved |
What Commands Does the Plugin Ship With?
Commands run the full corresponding skill workflow end-to-end and hand back a finished report or, for code-facing commands, finished edits.
| Command | What it does |
|---|---|
| /seo-audit <url> | Full SEO audit — on-page, technical, structured data — with a 0-100 health score and prioritized action plan |
| /keyword-research <topic> | Keyword discovery, intent classification, clustering, and competitor gap analysis |
| /serp-check <keyword> | Live SERP snapshot — organic positions, featured snippets, PAA, AI Overview citations |
| /backlink-audit <domain> | Backlink profile analysis, authority distribution, and link-gap opportunities |
| /content-optimize <url or file> | On-page SEO, AEO, and structured data optimization for one page or file |
| /competitor-analysis <domain> <competitor> | Competitive teardown across keywords, backlinks, and SERP feature ownership |
| /ai-visibility <domain> | AI/LLM visibility audit — AI Overview citations, LLM brand mentions, AI crawler access |
| /technical-audit <url> | Focused pass on Core Web Vitals, crawlability, and indexation only |
| /rank-track <domain> | 12-month historical rankings and visibility trend benchmarking |
| /code-seo-review [path] | Audits a Next.js/Sanity codebase against a 10-point SEO checklist and can apply fixes directly |
How Do You Actually Use the Plugin?
You use it the same way you'd talk to a colleague running the audit — describe the site, page, or question, and the right skill or command activates. Here are three example prompts pulled directly from real workflows:
seo-site-audit skill, crawls the whole domain, and returns an executive summary with a 0-100 health score. Add a page URL instead of a domain and it runs a page-level audit rather than crawling the whole site./ai-visibility rhize.media runs the full aeo-geo-optimization workflow — AI Overview citation rates, Google AI Mode references, LLM brand mentions across ChatGPT, Claude, Perplexity, and Gemini, and AI crawler access — then produces an optimization action plan. You can also ask directly: "is my brand mentioned by ChatGPT or Perplexity," which checks the AI Optimization module for mentions and accuracy./code-seo-review apps/web audits a Next.js + Sanity codebase against the nextjs-sanity-seo checklist — metadata, sitemap, robots, structured data, Sanity schema fields, images, and performance patterns — and can apply fixes directly if you ask it to. In our own workflow at Rhize Media, this is the command that catches a missing generateMetadata export or a sanityFetch call inside metadata that's leaking stega markers into a page title.Skills and commands are designed to chain. Keyword research feeds content optimization — run /keyword-research first to find the target keyword, then /content-optimize to optimize a specific page against it. A site audit should generally run before an AI-visibility check, since AEO/GEO layers on top of traditional SEO rather than replacing it — AI systems cite well-structured, already-established content more readily. And /competitor-analysis pulls keyword-intelligence, backlink-intelligence, and serp-intelligence together in one pass, because a real competitive picture needs all three at once.
What Do You Need to Get Started?
The data skills and all ten commands require DataForSEO credentials — DATAFORSEO_USERNAME and DATAFORSEO_PASSWORD — set as environment variables, obtained from a DataForSEO account. Without credentials, Claude can still reason about SEO in general terms, but it can't pull live rankings, search volume, backlink, or AI-citation data — the entire point of running the plugin instead of asking Claude cold.
The exception is nextjs-sanity-seo and /code-seo-review, which work directly against your codebase and need no DataForSEO access at all. If commands return no data or fail silently, the most common cause is credentials not being set, or set in a shell session Claude isn't inheriting — confirm both variables are exported and re-run. A 401 or "authentication failed" error usually means the credentials are wrong or the account doesn't have the specific API module enabled (SERP, Labs, Backlinks, and AI Optimization are billed separately on some DataForSEO plans).
The plugin also ships three hooks that run automatically once installed: a SessionStart hook that loads context only in SEO-relevant projects (detected via the DATAFORSEO_USERNAME env var, sitemap/robots files, or Next.js/Sanity config), and PreToolUse/PostToolUse hooks that watch for edits or reads on SEO-related files (metadata, sitemap, robots, JSON-LD, schema markup) and suggest /content-optimize or /code-seo-review. All three fail silently on error and never block your work.
Who Is This Plugin For?
It's built for anyone responsible for a site's visibility: SEO practitioners running audits and health reporting, content teams optimizing pages before publish, marketers sizing up competitors, and developers who need to fix SEO issues directly inside a Next.js + Sanity codebase. If you're not on that stack, the six DataForSEO-backed skills and all ten commands still work — only nextjs-sanity-seo and /code-seo-review are framework-specific.
The plugin installs into Claude Code from the public Rhize-Media/rhize-plugins marketplace with /plugin marketplace add https://github.com/Rhize-Media/rhize-plugins, or through Cowork via Settings > Plugins > Add Marketplace. For the full catalog of what else ships alongside it, see Rhize plugins for Claude Code.
Frequently Asked Questions
Does the plugin work without DataForSEO credentials?
What's the difference between /seo-audit and /technical-audit?
Can the plugin actually edit my code, or does it just report problems?
Why do DataForSEO's backlink or rank numbers not match Ahrefs or Semrush?
Want this working in your business — not just on paper?
Book a 15-min call and we'll map exactly where your business depends on you, and what to fix first. No pitch — you leave with a plan either way.
Book a 15-min callGet insights like this in your inbox
Join our newsletter for actionable SEO, marketing, and growth strategies — no fluff, just results.
No spam. Unsubscribe anytime.