configs/skills/seo-ecommerce/SKILL.md
E-commerce SEO analysis: Google Shopping visibility, Amazon marketplace intelligence, product schema validation, competitor pricing analysis, and marketplace keyword gaps. Combines on-page product SEO with marketplace data from DataForSEO Merchant API. Use when user says "ecommerce SEO", "product SEO", "Google Shopping", "marketplace SEO", "product schema", "Amazon SEO", "product listings", "shopping ads", or "merchant SEO".
npx skillsauth add shenxingy/claude-code-kit seo-ecommerceInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Comprehensive product page optimization, marketplace intelligence, and competitive pricing analysis. Works standalone (on-page + schema) and with DataForSEO Merchant API for live Google Shopping and Amazon data.
| Command | Purpose | DataForSEO? |
|---------|---------|-------------|
| /seo ecommerce <url> | Full e-commerce SEO analysis of a product page or store | Optional |
| /seo ecommerce products <keyword> | Google Shopping competitive analysis | Required |
| /seo ecommerce gaps <domain> | Keyword gap: organic vs Shopping visibility | Required |
| /seo ecommerce schema <url> | Product schema validation and enhancement | No |
Fetch and parse any product page for on-page SEO quality.
1. python scripts/fetch_page.py <url> → raw HTML
2. python scripts/parse_html.py --url <url> → SEO elements
3. Analyze product-specific signals (below)
[Product Name] - [Key Feature] | [Brand]IMG_001.jpg)| Category | Weight | Criteria | |----------|--------|----------| | Schema completeness | 25% | Required + recommended Product fields | | Title & meta | 15% | Keyword placement, length, format | | Image optimization | 20% | Alt text, format, sizing, count | | Content quality | 20% | Unique description, specs, reviews | | Internal linking | 10% | Breadcrumbs, related products, categories | | Technical | 10% | Page speed, mobile rendering, canonical |
Live competitive analysis from Google Shopping results.
Before EVERY Merchant API call:
python scripts/dataforseo_costs.py check merchant_google_products_search
"status": "approved" -- proceed"status": "needs_approval" -- show cost, ask user"status": "blocked" -- stop, inform userAfter each call:
python scripts/dataforseo_costs.py log merchant_google_products_search <cost>
# Product search: who sells what at what price
python scripts/dataforseo_merchant.py search "<keyword>" --marketplace google
# Seller analysis: merchant ratings and dominance
python scripts/dataforseo_merchant.py sellers "<keyword>"
# Normalize results for analysis
python scripts/dataforseo_normalize.py results.json --module merchant
Load references/marketplace-endpoints.md for full API parameter details.
Cross-marketplace intelligence comparing Google Shopping and Amazon.
python scripts/dataforseo_costs.py check merchant_amazon_products_search
Amazon endpoints are in the warn_endpoints set -- always requires user approval.
# Amazon product search
python scripts/dataforseo_merchant.py search "<keyword>" --marketplace amazon
# Cross-marketplace comparison
python scripts/dataforseo_merchant.py compare "<keyword>"
| Metric | Google Shopping | Amazon | |--------|---------------|--------| | Avg price | $ | $ | | Median rating | X.X | X.X | | Avg review count | N | N | | Top seller share | % | % | | Free shipping % | % | % |
Identify mismatches between organic and Shopping visibility.
dataforseo_labs_google_ranked_keywords for domainmerchant_google_products_search for top organic keywords| Gap Type | Meaning | Action | |----------|---------|--------| | Organic Only | Ranks organically but no Shopping ads | Create Google Merchant Center feed, bid on these keywords | | Shopping Only | Shopping visibility but weak/no organic | Create content (buying guides, comparison pages) for these keywords | | Both Present | Visible in both channels | Optimize: ensure price consistency, enhance schema | | Neither | No visibility in either | Low priority unless high volume |
## Keyword Gap Analysis: example.com
### Opportunities: Organic → Shopping (12 keywords)
| Keyword | Organic Pos | Volume | CPC | Recommended Action |
|---------|------------|--------|-----|-------------------|
### Opportunities: Shopping → Organic (8 keywords)
| Keyword | Shopping Rank | Volume | CPC | Content Type Needed |
|---------|-------------|--------|-----|-------------------|
Validate and generate Product schema following Google's current requirements.
{
"@context": "https://schema.org",
"@type": "Product",
"name": "",
"image": [""],
"description": "",
"brand": { "@type": "Brand", "name": "" },
"offers": {
"@type": "Offer",
"url": "",
"priceCurrency": "USD",
"price": "0.00",
"availability": "https://schema.org/InStock",
"seller": { "@type": "Organization", "name": "" }
}
}
sku -- product identifiergtin13 / gtin14 / mpn -- global trade identifiersaggregateRating -- star rating + review countreview -- individual reviews (minimum 1)color, material, size -- variant attributesshippingDetails -- ShippingDetails with rate and delivery timehasMerchantReturnPolicy -- MerchantReturnPolicy with type and daysprice must be a number string, not "$29.99" (no currency symbol)availability must use full Schema.org URL enumimage should be array with >= 1 high-res image URLpriceCurrency must be ISO 4217 (USD, EUR, GBP)brand.name must not be empty or "N/A"priceValidUntil must be ISO 8601aggregateRating present: ratingValue and reviewCount required| Completeness | Score | |-------------|-------| | All required fields | 50/100 | | + aggregateRating | 65/100 | | + sku/gtin/mpn | 75/100 | | + shippingDetails | 85/100 | | + merchantReturnPolicy | 90/100 | | + reviews (3+) | 100/100 |
| Skill | Integration Point | |-------|------------------| | seo-schema | Delegates Product schema generation; reuses validation logic | | seo-images | Product image audit (alt text, format, dimensions) | | seo-content | Product description E-E-A-T and uniqueness analysis | | seo-dataforseo | Organic keyword rankings for gap analysis | | seo-technical | Core Web Vitals for product pages (LCP on hero image) | | seo-google | Google Merchant Center feed validation via GSC |
| Error | Cause | Response |
|-------|-------|----------|
| No Product schema found | Page lacks JSON-LD | Analyze page content, generate recommended schema |
| DataForSEO credentials missing | Env vars not set | Run analysis without marketplace data, note limitation |
| Cost check blocked | Daily budget exceeded | Inform user, offer free-only analysis |
| Empty Shopping results | No products for keyword | Suggest broader keyword, check location settings |
| Amazon API timeout | Network/rate limit | Retry with backoff, fall back to Google-only |
| Invalid URL | Malformed input | Validate via google_auth.validate_url(), show error |
| Non-product page | URL is category/homepage | Detect page type, suggest /seo ecommerce schema instead |
## E-commerce SEO Report: [URL or Keyword]
### Overall Score: XX/100
### Product Page SEO
- Schema Completeness: XX/100
- Title & Meta: XX/100
- Image Optimization: XX/100
- Content Quality: XX/100
- Internal Linking: XX/100
### Marketplace Intelligence (if DataForSEO available)
- Google Shopping Listings: N products found
- Price Range: $XX - $XX (median: $XX)
- Top Seller: [name] (XX% market share)
- Amazon Comparison: [available/not checked]
### Top Recommendations
1. [Critical] ...
2. [High] ...
3. [Medium] ...
Generate a PDF report? Use `/seo google report`
testing
One-command multilingual blog creation. Writes a blog post, translates it into user-specified languages, applies cultural adaptation, and emits hreflang tags, sitemap entries, and a CMS-ready language map. The complete write-to-publish pipeline for international content. Orchestrates blog-write, blog-translate, blog-localize, and (optionally) seo-hreflang. Use when user says "multilingual blog", "blog multilingual", "write in multiple languages", "international blog", "mehrsprachiger Blog", "blog multilingue", "blog multilingue", "create blog in German and French".
development
Research what people are actually saying about a topic in the last 30 days across Reddit, X / Twitter, YouTube, Hacker News, dev.to, Medium, and other public discourse platforms. API-free; uses WebSearch with platform-targeted site operators plus recency filters. Produces DISCOURSE.md (a structured brief) and JSON output the writer can consume. Complements blog-researcher (which focuses on authority sources) with a recency-and-engagement lens. Use when user says "blog discourse", "discourse research", "what are people saying about", "research what people are saying", "voice of customer", "social listening", "30-day research", "trend research", "what's the discussion on", "real-time research", "practitioner discourse", "/blog discourse".
documentation
Establish durable brand and voice context for cross-skill consumption. Generates BRAND.md (audience, positioning, do/don't editorial rules, taboo phrases, competitor differentiation) and VOICE.md (existing persona JSON re-expressed as readable prose), both written to the project root. When present, all blog sub-skills auto-load these files before writing or reviewing. Pairs with blog-persona, which manages the structured persona JSON. Use when user says "blog brand", "create brand context", "brand voice doc", "BRAND.md", "VOICE.md", "establish editorial brand", "brand guidelines for blog".
development
Server-side tracking pipeline audit covering server-side Google Tag Manager (sGTM), Meta CAPI Gateway, Conversions API health, event deduplication via event_id, server-side hit ratio targets, pixel debugging, and PII hashing discipline. Use when user says server-side tracking, sGTM, server-side GTM, server-side tagging, CAPI, Conversions API, CAPI Gateway, Meta Conversions API, event deduplication, event_id, pixel debug, pixel health, Pixel/CAPI audit, first-party tracking, iOS 14.5 recovery, or server-side hit ratio.