Shopify SEO and GEO for Claude Code. Write your product descriptions and blog posts the way you always have, then have them checked, fixed and published without a single invented fact.
Not affiliated with Shopify. An independent Claude Code plugin.
You write the draft. This checks it against a brand fact sheet you control, rewrites what fails while keeping your voice, checks it again, shows you what changed in plain English, and publishes to your store only when you say yes. Or hands you the text to paste, if you would rather do that.
- Product descriptions and collection pages audited for shoppers, search engines and AI assistants
- Blog posts structured so assistants can lift and cite a passage
- Meta titles, descriptions and alt text checked against real length limits
- Product JSON-LD schema generated with the properties Shopify leaves out
- Publishing through the Shopify MCP, behind an approval gate you cannot skip by accident
Most AI copy tools optimise for search and quietly make things up. This one works the other way round. Facts come first and they come from a file you own. If a claim is not in that file or on your live store, it will not be written.
It also fills the structured data gap. Shopify's default Product schema carries about eight
properties. AI assistants read that JSON-LD before they read your page, and Google's AI Overviews
will not treat a product as eligible without hasMerchantReturnPolicy and shippingDetails, which
Shopify does not emit. Thin schema is one of the most common reasons a store is invisible to AI
shopping, and one of the cheapest things to fix.
claude plugin install claude-shopify-seo@Sheldon-desouza/claude-shopify-seo
Then set up your facts once:
/shopify-seo brand
| Command | What it does |
|---|---|
/shopify-seo check |
Read my draft, tell me what is wrong, change nothing |
/shopify-seo fix |
Fix what failed, keep my voice, show me what changed |
/shopify-seo schema |
Generate the structured data my theme is missing |
/shopify-seo publish |
Put it live, after I have seen and approved the diff |
/shopify-seo brand |
Set up or update my facts, prices and voice |
/shopify-seo learn |
Read my catalogue and sales, tell me what to fix first |
/shopify-seo <your draft> runs check, fix and re-check, then stops for your approval.
- Invent a fact, fabric, price, rating or review
- Publish anything you have not seen as a plain-English diff and approved in the same conversation
- Change price, stock or product status. It writes copy and metadata only
- Delete anything
- Rewrite copy that is already working, just to look busy
- Give you a score with no explanation. You get the finding and the line that caused it
brand/example.json shows the shape. Fill in your own facts and keep it in your own working
folder rather than a public repository, because it holds your prices and lead times.
The facts, voice and banned blocks do the real work. Everything else checks against them.
Claude Code, and the Shopify MCP connected if you want to publish rather than copy and paste.
MIT licensed.
The AI search approach here follows claude-seo by
AgriciDaniel (MIT), particularly its insistence on Google's own position that generative-search
optimisation is still SEO, and its list of tactics Google has said do not work. That plugin covers a
whole site far more thoroughly. This one is narrower on purpose: Shopify, your copy, and publishing.
Use both. claude-seo for the site audit, this for the words and the shop.
/shopify-seo learn reads two things you already have and turns them into a work queue:
Your catalogue. Every product, its real price range, sizes, fabrics and colour names. This becomes the fact sheet the other skills check against, so they stop inventing words your brand does not use.
Your last 180 days of sales. Which products actually earn, so the queue is ranked by revenue rather than by whichever page you happened to open. Fixing a description that sold four times beats fixing one that sold once.
It also reads the sales for what they imply about the copy. A rush or express option selling in volume means lead time is a live worry for your buyers, and the skill will name the product pages that say nothing about it.
Three traps it handles, because each one produces a confidently wrong answer:
- A blank product title is not a product. It is bespoke or counter line items, and on a shop with a showroom it can be the biggest row by revenue.
- A service is not a product. Express shipping and gift wrap are signals about what customers worry about, not pages to optimise.
- Point of sale and online are mixed in the default sales report. They get separated before anything is ranked, or you end up optimising a page for something that sells in person.
What it does not do is keyword research. It learns what sold, not what people searched for. Those come from Search Console, and it will say so rather than passing your own product names back to you as if they were demand.