Shopify SEO Audit

Checks the thing generic tools miss — every product lives at two URLs, and a broken canonical splits its signals. Paste-in fixes. Never edits your store.

NewNew8.8 KB snapshotStarter VM
Claude Code logo

What's inside

Harness

Claude Code

Plan

Starter

vCPU

1

Memory

2 GiB

Snapshot

8.8 KB

How it works · ~3 minutes

  1. 01 · Fork

    New isolated microVM on your subdomain — creator state included.

  2. 02 · Your keys

    Log into Claude Code with your own model credentials (BYOK).

  3. 03 · Ask it to work

    Open the terminal and give it a real job. You keep what ships.

30-day money-back on your first purchase · no free trial · keys never leave the VM

About this template

Every product on your store lives at two URLs

/products/tote-bag and /collections/bags/products/tote-bag. Shopify canonicalises to the first by default — but themes and apps break it, and when that happens every product's ranking signals split in half.

Your generic SEO tool reported title lengths. It never checked this.

So the canonical test runs first

It fetches a sample of products both ways and compares the rendered <link rel=canonical>. A broken one outweighs every title fix on the report.

That's the check no generic tool performs, and it's the reason this exists.

Four more Shopify-specific traps

  • Collection filters generate crawlable URLs?filter.v.price, /collections/all/red — multiplying into near-duplicates of the parent collection.
  • /collections/all duplicates your homepage for most stores, and themes link it automatically.
  • The title template appends your store name, so the length you typed isn't the length Google renders. Drafts show the rendered length.
  • Out-of-stock and archived products often stay indexable and rank for things you can no longer sell.

Report order is leverage

  1. Broken or missing canonicals
  2. Indexable filter / tag URLs
  3. Missing or duplicate product titles
  4. Missing metas on products that get traffic
  5. Thin collections — no description, under three products
  6. Missing image alt text

Every fix names the exact string and where in Shopify admin to paste it — product SEO section, collection description, or theme file.

What you supply

Your own Claude Code login. Nothing else — sitemap.xml and your public pages are the whole input, and Shopify always serves the sitemap.

Optionally paste a Search Console export into ~/shopseo/pages/ and "products that get traffic" stops being an assumption.

Where this stops

It reads your public storefront and drafts fixes. No admin login, no Admin API token, cannot publish.

It won't tell you which app caused a problem — it sees rendered HTML, not your app stack. It won't predict rankings without Search Console data, won't estimate revenue impact, and won't decide what to do about out-of-stock products: it flags them, and whether to redirect, keep or unpublish is a business call.

Verified on build: the skill, the working tree, the NEVER_AUTOEDIT guard, all five platform traps and the canonical-test-first method are present on a fresh fork. Running it on your own store is yours to do.

Inside this fork

Forking copies this template into a brand-new, fully isolated microVM on your own subdomain. Here's exactly what lands in it.

  • Claude Code agent

    The upstream harness, pre-installed — same version the creator ran.

  • Starter VM

    1 vCPU · 2 GiB RAM · 10 GiB disk.

  • Creator's /persist data

    The captured persist volume is copied byte-for-byte into your fork.

  • BYOK — your keys, your VM

    Add your model API keys after forking; they live only inside your microVM.

What this agent can do

1 skill

  • shopify-seo-audit

    Audit a Shopify storefront's canonicals, filter URLs, product titles, metas and thin collections from public pages, then draft paste-in…

What you'll configure after forking

Secrets are scrubbed from shared templates — these are the names you supply in your agent's terminal once it boots.

Environment variables

  • ANTHROPIC_API_KEY

Your turn

Your own Shopify SEO Audit, live in about 3 minutes.

Forking copies this Claude Codeagent into a brand-new, fully isolated microVM on your own subdomain — the creator's /persist state and all. Add your own keys after it boots; they never leave the box. Don't love it? Your first jurniti purchase comes with 30 days to get every cent back.

New paid VM · BYOK · 30-day money-back on your first purchase · ~3 min to provision

Starter · fork

$25/ mo

Needs 1 of your own API key