| name | seo |
| description | SEO audit and optimization skill for Shopify stores. Run /seo audit <url> for a full scored SEO health report with Quick Wins in under 5 minutes — no API keys required. |
| argument-hint | audit <url> | technical | onpage | content | schema | keywords | competitor |
| license | MIT |
SEO -- Shopify SEO Audit & Optimization
Comprehensive SEO health analysis for Shopify stores. Orchestrates 7 sub-skills and 6 audit agents
to produce a scored report with prioritized action items. Works from URL crawl alone -- no API keys required.
Quick Reference
| Command | What it does |
|---|
/seo audit <url> | Full Shopify SEO audit with parallel subagent delegation |
/seo audit | Full audit using Karved Concepts preset (karvedconcepts.com) |
/seo technical <url> | Technical SEO only -- crawl health, HTTPS, redirects, canonical, sitemap |
/seo onpage <url> | On-page scoring -- titles, meta descriptions, H1s, alt text, internal links |
/seo content <url> | Content quality audit -- thin pages, keyword coverage, freshness |
/seo schema <url> | Structured data validation -- Product, Organization, BreadcrumbList, FAQ |
/seo keywords <url> | Keyword opportunity mapping from drinkware keyword database |
/seo competitor <url> | Competitor content gap and organic ranking analysis |
Context Intake (Required -- Always Do This First)
Before any audit or analysis, collect this context. Without it, recommendations will be generic and may miss Shopify-specific issues.
Ask these questions upfront (combine into one message):
- Store URL -- Which Shopify store should be audited?
- Accept any format:
karvedconcepts.com, https://karvedconcepts.com, karved-dev.myshopify.com
- If no URL is provided in the command:
- Read
~/.claude/skills/seo/profiles/karved.json
- Set store URL to the
store_url field (karvedconcepts.com)
- Set industry to the
industry field (custom_drinkware)
- Load
primary_keywords as the keyword baseline for this audit
- Set
b2b_enabled flag to activate B2B-specific checks
- Set
print_technologies for content and keyword relevance scoring
- Announce: "No URL provided. Using Karved Concepts preset (karvedconcepts.com)."
- Proceed directly to audit -- do NOT ask for URL, industry, or scope again
- Industry / Store type -- Which best describes the store?
Custom drinkware . Promotional products . Apparel . General e-commerce . B2B wholesale . Other
- Audit scope -- Full audit or specific area?
Full . Technical only . On-page only . Content only . Schema only . Keywords only . Competitor only
If the user provides context upfront (e.g. "/seo audit karvedconcepts.com, it's a custom drinkware store"), extract context from that and proceed without re-asking.
Use the provided context to:
- Select the correct industry benchmarks from
references/benchmarks.md
- Apply Shopify-specific checks from
references/shopify-seo.md
- Load drinkware keyword database from
references/drinkware-keywords.md when industry is drinkware
- Calibrate severity scoring based on store size and industry norms
Orchestration Logic
When /seo audit is invoked:
- Collect context (see Context Intake above -- do this first)
- Run crawl_store.py against the target URL to collect page data
- Spawn sub-skills in parallel: seo-technical, seo-onpage, seo-content, seo-schema
- Spawn agents in parallel: audit-speed, audit-backlinks
- Aggregate results into SEO-AUDIT-REPORT.md with overall SEO Health Score (0-100)
- Generate SEO-ACTION-PLAN.md sorted Critical > High > Medium > Low
- Generate SEO-QUICK-WINS.md for Critical/High issues fixable in under 15 minutes
For individual commands (/seo technical, /seo onpage, etc.):
/seo technical <url> -- dispatch to seo-technical sub-skill directly
/seo onpage <url> -- dispatch to seo-onpage sub-skill directly
/seo content <url> -- dispatch to seo-content sub-skill directly
/seo schema <url> -- dispatch to seo-schema sub-skill directly
/seo keywords <url> -- dispatch to seo-keywords sub-skill directly
/seo competitor <url> -- dispatch to seo-competitor sub-skill directly
Always collect context first if not already provided.
Quality Gates
Hard rules -- never violate or override these in any recommendation:
- Duplicate title tags = Critical: Any page sharing a title tag with another page is a Critical finding -- never downgrade to High or Medium
- Missing canonical on duplicate content = Critical: Shopify collection filter URLs (/collections/tumblers?sort_by=...) without canonical tags = Critical
- Missing H1 = Critical: Every crawled page must have exactly one H1 -- zero or multiple H1s is Critical
- Non-HTTPS URLs = Critical: Any HTTP asset or page link is Critical -- no exceptions
- Broken internal links = Critical: Any 404 response from an internal link is Critical
- Missing meta description = High: Empty meta descriptions lose CTR on SERP -- always High severity
- Missing robots.txt or sitemap.xml = High: Both files must be present and valid XML/text
- Thin content < 300 words on product/collection pages = High: Qualifies for Quick Wins list if the fix is adding existing product copy
- Missing Product schema on product pages = High: Shopify product pages without JSON-LD Product structured data lose rich results eligibility
- Missing image alt text > 20% of images = High: Accessibility and SEO combined -- any page exceeding this threshold is High
These rules apply globally across all sub-skills and agents. When a sub-skill detects any of the above conditions, it MUST use the specified severity level. The scoring system in references/scoring-system.md applies multipliers based on these severity levels -- the gates ensure the severity classification itself is never weakened.
Reference Files
Load these on-demand as needed -- do NOT load all at startup.
Path resolution: All references are installed at ~/.claude/skills/seo/references/.
references/scoring-system.md -- Weighted scoring algorithm and grading thresholds
references/benchmarks.md -- SEO benchmarks by industry
references/shopify-seo.md -- Shopify-specific SEO gotchas
references/drinkware-keywords.md -- Karved keyword database
references/schema-templates.md -- Ready-to-use JSON-LD templates
Sub-Skills
- seo-audit -- Full-site audit orchestrator, spawns 6 parallel agents
- seo-technical -- Crawl/index health, HTTPS, redirects, canonical, sitemap, robots.txt
- seo-onpage -- Title tags, meta descriptions, H1s, image alt text, internal linking
- seo-content -- Content quality, keyword coverage, thin pages, freshness
- seo-schema -- Structured data: Product, Organization, BreadcrumbList, FAQ
- seo-keywords -- Keyword research, search intent mapping, opportunity scoring
- seo-competitor -- Competitor organic rankings, content gap analysis
Agents
For parallel analysis during full audits:
audit-technical -- Technical SEO checks (Sonnet, maxTurns: 20)
audit-onpage -- Per-page on-page scoring (Sonnet, maxTurns: 20)
audit-schema -- Structured data validation (Sonnet, maxTurns: 15)
audit-content -- Content quality and keyword coverage (Sonnet, maxTurns: 20)
audit-speed -- Core Web Vitals and image optimization (Sonnet, maxTurns: 15)
audit-backlinks -- External link profile from GSC export (Haiku, maxTurns: 10)