Files
our-claude-skills/custom-skills/24-seo-ecommerce/SKILL.md
Andrew Yim 6ac547e78f
Some checks failed
Verify Skills / verify-skills (push) Has been cancelled
refactor(skills): clean skill names (strip NN- prefix from name:) — convention change
Adopt: directory keeps its NN- ordering prefix; skill `name:` is the clean form
without it (dir 16-seo-schema-validator → name: seo-schema-validator). Nicer to
invoke, matches the original desktop/SKILL.md names, still globally unique.

- 71 root SKILL.md: name: NN-foo → name: foo (flat skills + reference-curator suite).
  Plugins (mac-optimizer/multi-agent-guide/dintel-bootstrap) already clean; 95 already clean.
- scripts/migrate_skill_root.py: derive name = dirname minus NN- prefix (skill_name()).
- CLAUDE.md + SKILL-MIGRATION-GUIDE.md: document the dir-prefix / clean-name convention.

verify_skills.py: 0 name collisions across all renamed skills. (The ~/.claude/skills
symlinks were re-pointed to the clean names separately — filesystem only.)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 02:11:01 +09:00

207 lines
8.8 KiB
Markdown

---
name: seo-ecommerce
description: |
E-commerce SEO audit and optimization for product pages, product schema, category taxonomy,
and Korean marketplace presence.
Triggers: product SEO, e-commerce audit, product schema, category SEO, Smart Store, marketplace SEO,
상품 SEO, 이커머스 감사, 쇼핑몰 SEO.
---
# E-Commerce SEO Audit
## Purpose
Audit e-commerce sites for product page optimization, structured data validation, category taxonomy health, duplicate content issues, and Korean marketplace presence (Naver Smart Store, Coupang, Gmarket, 11번가).
## Core Capabilities
1. **Product Page SEO Audit** - Title, meta description, H1, image alt text, internal links, canonical tags
2. **Product Schema Validation** - Product, Offer, AggregateRating, Review, BreadcrumbList structured data
3. **Category Taxonomy Analysis** - Depth check, breadcrumbs, faceted navigation handling
4. **Duplicate Content Detection** - Parameter variants, product variants, pagination issues
5. **Korean Marketplace Presence** - Naver Smart Store, Coupang, Gmarket, 11번가
## Data Source Selection
This skill spans multiple data classes (crawl + schema + keyword + marketplace presence). **Pick one backend per data class** — typically you'll combine: one for crawl/schema, one for keyword/competitor.
| Backend | Best for | Notes |
|---|---|---|
| **OurSEO** (CLI + MCP) | **Default** for product-page crawl, product schema validation, category taxonomy, canonical/duplicate detection | CLI: `our collect crawl`, `our audit tech`, `our build kg-schema`. MCP: `mcp__ourseo__crawl_website`, `mcp__ourseo__audit_page`. Owns the crawl/audit/schema-fix surface end-to-end. |
| **Semrush MCP** (`mcp__semrush__*`) | E-commerce keyword discovery, organic competitor research, third-party site audit | `keyword_research`, `organic_research`, `siteaudit_research``get_report_schema``execute_report`. |
| **Ahrefs MCP** (`mcp__ahrefs__*`) | Product/category backlinks; third-party site audit | `site-explorer-top-pages` (which product/category pages earn links), `site-audit-issues`, `site-audit-page-explorer`. |
| **OurSEO CLI — DataForSEO** (`our keywords *`, `our serp *`) | Korean-market keyword + SERP batch for product/category terms | Claude Code only. `--location 2410` for Korean. |
| **WebSearch / WebFetch** | Korean marketplace presence check (Naver Smart Store, Coupang, Gmarket, 11번가) | Korean marketplaces aren't covered by Semrush/Ahrefs at the listing level — verify presence with direct queries. |
| **DataForSEO MCP** (`mcp__dfs-mcp__*`) | Fallback when `our` CLI isn't running | Same data as `our keywords *` / `our serp *`. |
### How to pick
1. **User named a backend explicitly** → use it.
2. **User preference memory** — read `feedback_seo_tool_preferences.md`; honor the task-type default.
3. **Task is product schema / on-page audit / duplicate detection** → use **OurSEO** (it owns the schema + canonical + fix engine).
4. **Task is e-commerce keyword discovery** → Semrush MCP (English) or OurSEO CLI (`--location 2410` Korean).
5. **Task is Korean marketplace presence** → WebSearch/WebFetch (no MCP backend covers this).
6. **Default for general e-commerce audits**: **OurSEO** (crawl + schema + fix) **paired with** Semrush MCP (keyword + competitor signal).
7. **Still ambiguous + non-trivial** → ask once via `AskUserQuestion`.
### Backend call patterns
**OurSEO CLI (product-page crawl + schema audit, default):**
```bash
our collect crawl https://<site>.com --max-pages 100
our audit tech https://<site>.com
our analyze mysql-batch --session <id> --export missing-schema --format excel
our build kg-schema --type Product --name "<product>" --url <product-url>
```
**OurSEO MCP (Claude Desktop equivalent):**
```
mcp__ourseo__crawl_website(url="<site>", max_pages=100)
mcp__ourseo__audit_page(url="<product-url>", audit_type="schema")
```
**Semrush MCP (e-commerce keyword + competitor):**
```
mcp__semrush__keyword_research(query="<product term>", database="us")
mcp__semrush__organic_research(query="<competitor.com>", database="us")
mcp__semrush__siteaudit_research(query="<site.com>", database="us")
```
**Ahrefs MCP (top pages + site audit):**
```
mcp__ahrefs__site-explorer-top-pages(target="<site>", country="us", limit=100)
mcp__ahrefs__site-audit-issues(project_id="<id>")
mcp__ahrefs__site-audit-page-explorer(project_id="<id>")
```
**OurSEO CLI — Korean batch:**
```bash
our keywords ideas "<product>" --location 2410 --limit 50
our serp ranked-keywords <site.com> --location 2410 --limit 100
```
**Korean marketplace presence (WebSearch):**
```
WebSearch: smartstore.naver.com "<brand>"
WebSearch: coupang.com "<brand>"
WebSearch: gmarket.co.kr "<brand>"
WebSearch: 11st.co.kr "<brand>"
```
Always record the chosen data source(s) in the report **Overview** so future audits can compare like-for-like.
## Workflow
### 1. Product Page Audit
1. Discover product pages via our-seo-agent CLI, pre-fetched JSON, or sitemap crawl
2. For each product page check:
- Title tag: contains product name, under 60 chars
- Meta description: includes price/feature info, under 155 chars
- Single H1 with product name
- All product images have descriptive alt text
- Canonical tag present and correct
- Sufficient internal links (related products, breadcrumbs)
- Open Graph tags for social sharing
3. Score severity: critical/high/medium/low
### 2. Product Schema Validation
1. Extract JSON-LD and Microdata from product pages
2. Validate Product type: name, image, description (required)
3. Validate Offer: price, priceCurrency, availability (required)
4. Validate AggregateRating: ratingValue, reviewCount (required)
5. Validate Review: author, reviewRating (required)
6. Check BreadcrumbList implementation
7. Assess Google rich result eligibility
8. Check Naver Shopping specific requirements (Korean name, KRW price, absolute image URLs)
### 3. Category Taxonomy Analysis
1. Crawl category pages from sitemap or homepage navigation
2. Measure taxonomy depth (warn if > 4 levels)
3. Check breadcrumb presence on every category page
4. Identify faceted navigation URLs that are indexable without proper canonicals
5. Count child category links for structure assessment
### 4. Duplicate Content Detection
1. Group URLs by base path (stripping query parameters)
2. Identify parameter variants (?color=, ?size=, ?sort=)
3. Detect product variant URL duplicates (e.g., /product-red vs /product-blue)
4. Flag paginated pages missing self-referencing canonicals
### 5. Korean Marketplace Presence
1. Extract brand name from site (og:site_name or title)
2. Search each marketplace for brand products:
- Naver Smart Store (smartstore.naver.com)
- Coupang (coupang.com)
- Gmarket (gmarket.co.kr)
- 11번가 (11st.co.kr)
3. Check Naver Smart Store-specific SEO elements
4. Verify naver-site-verification meta tag
5. Check Korean content ratio for Naver visibility
## Output Format
```markdown
## E-Commerce SEO Audit: [domain]
### Score: [0-100]/100
### Product Page Issues
- **Critical**: [count] issues
- **High**: [count] issues
- **Medium**: [count] issues
- **Low**: [count] issues
#### Top Issues
1. [severity] [issue_type] - [message]
Recommendation: [fix]
### Category Structure
- Categories found: [count]
- Max depth: [number]
- Breadcrumbs present: [count]
- Faceted navigation issues: [count]
### Schema Validation
- Pages with schema: [count]/[total]
- Valid schemas: [count]
- Rich result eligible: [count]
- Common errors: [list]
### Korean Marketplaces
- Naver Smart Store: [Found/Not Found]
- Coupang: [Found/Not Found]
- Gmarket: [Found/Not Found]
- 11번가: [Found/Not Found]
### Recommendations
1. [Priority fixes ordered by impact]
```
## Common Issues
| Issue | Impact | Fix |
|-------|--------|-----|
| Missing Product schema | High | Add JSON-LD Product with offers |
| No canonical on product variants | High | Add self-referencing canonical |
| Images without alt text | High | Add product name to alt text |
| Category depth > 4 levels | Medium | Flatten taxonomy |
| Missing breadcrumbs | Medium | Add BreadcrumbList schema and visible nav |
| Faceted nav creating duplicates | High | Use canonical or noindex on filtered pages |
| Missing Naver verification | Medium | Add naver-site-verification meta tag |
| Price not in KRW for Korean market | Medium | Add KRW pricing to schema |
## Limitations
- Cannot access logged-in areas (member-only products)
- Marketplace search results may vary by region/IP
- Large catalogs require sampling (default 50 pages)
- Cannot validate JavaScript-rendered product content without headless browser
## Notion Output (Required)
All audit reports MUST be saved to OurDigital SEO Audit Log:
- **Database ID**: `2c8581e5-8a1e-8035-880b-e38cefc2f3ef`
- **Properties**: Issue (title), Site (url), Category (E-Commerce SEO), Priority, Found Date, Audit ID
- **Language**: Korean with English technical terms
- **Audit ID Format**: ECOM-YYYYMMDD-NNN