--- 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://.com --max-pages 100 our audit tech https://.com our analyze mysql-batch --session --export missing-schema --format excel our build kg-schema --type Product --name "" --url ``` **OurSEO MCP (Claude Desktop equivalent):** ``` mcp__ourseo__crawl_website(url="", max_pages=100) mcp__ourseo__audit_page(url="", audit_type="schema") ``` **Semrush MCP (e-commerce keyword + competitor):** ``` mcp__semrush__keyword_research(query="", database="us") mcp__semrush__organic_research(query="", database="us") mcp__semrush__siteaudit_research(query="", database="us") ``` **Ahrefs MCP (top pages + site audit):** ``` mcp__ahrefs__site-explorer-top-pages(target="", country="us", limit=100) mcp__ahrefs__site-audit-issues(project_id="") mcp__ahrefs__site-audit-page-explorer(project_id="") ``` **OurSEO CLI — Korean batch:** ```bash our keywords ideas "" --location 2410 --limit 50 our serp ranked-keywords --location 2410 --limit 100 ``` **Korean marketplace presence (WebSearch):** ``` WebSearch: smartstore.naver.com "" WebSearch: coupang.com "" WebSearch: gmarket.co.kr "" WebSearch: 11st.co.kr "" ``` 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