Audit your store's SEO with OpenCode
Auditing your store's SEO with OpenCode means asking the open-source terminal agent which products, collections, pages and posts score worst in StoreSEO, and getting a ranked worklist you can keep beside your code.
Last updated: October 2026
Set up OpenCode for StoreSEO
Skip this if OpenCode is already connected. The full guide, with the alternatives, is on the OpenCode page.
- 1
Add StoreSEO to OpenCode
Run this from the project that should use StoreSEO, or add --global to make it available in every project. OpenCode writes a remote server entry to its configuration; the equivalent hand-written entry is shown in the next step.
Terminalopencode mcp add storeseo --url https://mcp.storeseo.com/mcp
- 2
Sign in to your store
Remote servers use OAuth by default. Run the auth command, then pick your Shopify store in the browser and approve access. Inside OpenCode, /mcps does the same: select storeseo and sign in. opencode mcp list should then show it as connected.
Terminalopencode mcp auth storeseo opencode mcp list
How does this work in OpenCode?
You run OpenCode in a project folder, often the theme repository, with storeseo added through opencode mcp add and signed in with opencode mcp auth storeseo. You type a request such as which twenty products score worst and why. OpenCode exposes MCP tools to the model as server_tool, so the StoreSEO tools appear with a storeseo prefix, but the calls are the same ones in the same order: storeseo_start first, because every other tool needs the conversation id it returns, then storeseo_list_resources sorted by score and storeseo_get_resource_seo for each candidate. All three only read. You can check the connection with opencode mcp list, or use /mcps inside the session.
The result is a table in the terminal. For each product the agent names the failing criteria by their visible titles and separates what a StoreSEO tool can fix from what only you can change, such as the focus keyword or the product title. Products also carry a GEO score for AI readiness. Because OpenCode works in your project folder, you can ask it to save the worklist to a file there, or to cross-check failing handles against theme templates, and pick the list up in a later session.
OpenCode lets you shape what the agent can reach. Permission rules can match storeseo_* patterns, and a deny rule hides tools without disconnecting the server, so you can deny the write tools by name and leave the audit tools available. That makes a read-only audit session a deliberate configuration rather than a hope. On a big catalog, ask for pages of twenty and stop at a score threshold rather than requesting every product at once.
-
You: Audit my store and list the twenty worst products.
- storeseo_start read-only
- storeseo_list_resources read-only
- storeseo_get_resource_seo read-only
-
OpenCode: The twenty lowest score between 11 and 32. Most lack a meta description and image alt text, and five have no focus keyword, which you set in the StoreSEO app.
-
You: Save that to seo-audit.md.
-
OpenCode: Saved to seo-audit.md, grouped by failing criterion, with the app-only items listed separately.
What to ask OpenCode
Use StoreSEO to list my twenty lowest-scoring products and the main failing criterion on each. Read only.
Audit my collections and pages, worst first, and save the list to seo-audit.md in this folder.
Which products have the weakest GEO score? Group them by the criterion they fail most.
- Show me my ten lowest-scoring products and the top issue on each.
- Which collections are not optimized yet, and what is failing on them?
- Give me an SEO audit of my blog posts, worst first.
- Which products have the weakest GEO score for AI shopping agents, and why?
- Summarize my store's SEO: how many products, collections, pages and posts are optimized?
- For the product Linen Shirt, list every failing SEO criterion and say which ones StoreSEO can fix.
What StoreSEO does: store seo audit
StoreSEO scores every product, collection, page and blog post against its SEO checklist, and scores products for AI readiness (GEO) as well. An agent opens a session, lists the weakest resources first and reads the per-criterion analysis for each, so you get a ranked worklist instead of a dashboard to click through.
- 1
Open a StoreSEO session
The agent calls the start tool first. It returns a conversation id every later call needs, plus a snapshot of your store: how many resources are optimized, need improvement or are not optimized, image status, rank tracking and which features are set up.
- 2
List the weakest resources
It lists products, collections, pages or articles sorted by score, lowest first, or filtered to the ones marked not optimized. Products also carry a GEO score and their AI-readiness issues.
- 3
Read the checklist for each one
For each candidate it reads the full SEO record: current meta fields, focus keyword, score, every criterion that passes or fails, image status, FAQs and AI snippet.
- 4
Sort fixes by who can make them
It separates what a StoreSEO tool can fix (meta, handle, FAQs, AI snippet, image alt text, schema) from what only you can change in the app or in Shopify admin (the focus keyword, the product title, category, inventory).
- 5
Report a worklist
You get the resources in order, with the failing criteria in plain words and one suggested next fix. Nothing is written during an audit.
Store SEO audit reference
| Resource types | Products, collections, pages and blog articles |
|---|---|
| Scores | An SEO score for every resource, plus a GEO (AI readiness) score for products |
| Status labels | Optimized, needs improvement, not optimized; GEO adds not analysed |
| Sorting | By score, lowest first, or filtered to not optimized |
| Session | Every call carries the conversation id from the start tool; calls without it fail |
| What it writes | Nothing. Every audit tool is read-only |
| Fixed only in the app | Focus keyword choice, product title wording, Shopify category, product type, inventory, variant data |
| Plan | Any active StoreSEO plan, including the free plan |
Rules OpenCode follows
- Every audit call is a read and runs straight away; nothing in this job changes your store.
- The agent describes criteria by their visible title, never by internal identifiers or raw status values.
- Criteria no tool can fix, such as choosing the focus keyword, are handed to you with a link into the StoreSEO app rather than guessed.
- The agent should offer one next fix at a time, tied to what it just found, instead of dumping the whole list as a checklist.
In OpenCode
OpenCode's documentation describes deny rules for MCP tools but no ask-first mode, so there is no client prompt to rely on once you start fixing things. For an audit that is fine, since the tools only read, but deny the StoreSEO write tools by name if you want the audit session to be unable to write at all. Also check your version's layout: OpenCode V2 puts servers under mcp.servers, while older versions put the server directly under mcp, and opencode mcp add writes to the project configuration unless you pass --global.
What runs without asking. Reads such as SEO scores, store listings, settings and Google reports run straight away. Generating a preview spends AI credit but writes nothing, and StoreSEO tells the agent to say what a generation will cost before it runs one. Applying content, optimizing images, changing settings, publishing llms.txt or agents.md, writing a product description and deleting anything wait for your yes in the conversation. That yes is an instruction the agent follows, not a lock on the server, so your client's own tool-approval setting is the hard stop.
Questions
Can I make an OpenCode session that can only audit my store?
Yes. Add deny rules for the StoreSEO write tools by name, or a pattern, so only the read tools remain available. The audit uses storeseo_start, storeseo_list_resources and storeseo_get_resource_seo.
Why do StoreSEO tools have a storeseo prefix in OpenCode?
OpenCode names MCP tools as the server name followed by the tool name. That prefix is also what permission patterns that start with storeseo_ match when you want to hide or deny tools.
Does an SEO audit change anything in my store?
No. The audit uses read-only tools: the session start, the resource list and the per-resource SEO record. Your store is only changed later, by a separate step you agree to.
What is the difference between the SEO score and the GEO score?
The SEO score measures a resource against StoreSEO's on-page checklist for search engines. The GEO score applies to products only and measures how ready the product is for AI shopping agents and generative search, using criteria such as FAQs, an AI snippet, alt text and product schema.
Can the agent choose my focus keyword?
No tool can set the focus keyword. The agent can tell you when the keyword is missing or looks wrong and give you a link to set it in the StoreSEO app, and several fixes such as keyword clusters and description writing need it set first.
How many products can the agent audit at once?
The listing is paginated, so the agent can walk your whole catalog page by page. In practice it is more useful to ask for the lowest scores first and work down from there.
Keep going
Store SEO audit with other agents
More OpenCode guides