Best for
- Use when user says "ecommerce SEO", "product SEO", "Google Shopping", "marketplace SEO", "product schema", "Amazon SEO", "product listings", "shopping ads", or "merchant SEO".
AgriciDaniel/codex-seo/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".
Decision brief
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.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/AgriciDaniel/codex-seo --skill "skills/seo-ecommerce"Inspect the Agent Skill "seo-ecommerce" from https://github.com/AgriciDaniel/codex-seo/blob/97c59bcdac3c9538bf0e3ae456c1e73aa387f85a/skills/seo-ecommerce/SKILL.md at commit 97c59bcdac3c9538bf0e3ae456c1e73aa387f85a. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
Review the “Workflow” section in the pinned source before continuing.
Step 0 -- Check shared data cache:
Review the “Commands” section in the pinned source before continuing.
Fetch and parse any product page for on-page SEO quality.
[ ] Contains primary product keyword
Permission review
The documentation asks the agent to run terminal commands or scripts.
python scripts/dataforseo_costs.py check merchant_google_products_searchThe documentation asks the agent to run terminal commands or scripts.
python scripts/dataforseo_costs.py log merchant_google_products_search <cost>The documentation includes network, browsing, or remote request actions.
"@context": "https://schema.org",The documentation includes network, browsing, or remote request actions.
"availability": "https://schema.org/InStock",Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 84/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 546 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Step 0 -- Check shared data cache:
Before gathering, check .seo-cache/ for reusable context from related SEO skills.
Reference: ../seo/references/shared-data-cache.md for schemas and dependency map.
Check these cache files when present:
.seo-cache/site-meta.json for domain, business type, industry, and crawl context
.seo-cache/audit-scores.json for prior full-audit priorities
.seo-cache/pages/{url-slug}/page-analysis.json for page-level context when a URL is provided
If found: parse and use clearly valid fields (note "Using cached [X] from [date]")
If missing, corrupt, or irrelevant: continue with fresh evidence
If the user says "refresh" or "re-run": ignore cache reads and overwrite on write
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`
After completing all work, write a concise JSON summary to .seo-cache/ when the workflow produced durable findings.
Use the schemas and naming rules in ../seo/references/shared-data-cache.md; include at least cache_type, analyzed_at, source URL/domain, key findings, issues, recommendations, and tool limitations. Add .seo-cache/ to .gitignore if it is missing.
Alternatives
AgriciDaniel/claude-seo
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".
nowork-studio/NotFair
Full SEO audit: Google Search Console data + URL Inspection API + PageSpeed Insights API + technical crawl + keyword research + metadata audit + schema markup audit + search intent analysis + Core Web Vitals monitoring. Feeds real GSC data and PageSpeed metrics into AI to surface quick wins, diagnose traffic drops, find content gaps, identify metadata mismatches, detect schema gaps, monitor page performance, and produce an actionable 30-day plan. Use this skill whenever the user asks about SEO,
MoizIbnYousaf/marketing-cli
Creates high-converting 'X vs Y' and 'X alternatives' SEO pages that capture comparison search traffic. Researches competitors, writes honest comparison content, and adds schema markup (FAQPage, ItemList). Use when someone needs alternatives pages, comparison content, or says 'alternatives page', 'vs page', 'comparison', 'competitor alternatives', 'X vs Y page', or wants to capture competitor brand search traffic with SEO content. Also trigger when someone wants to rank for competitor brand name
leonardomso/33-js-concepts
End-to-end workflow for creating complete JavaScript concept documentation, orchestrating all skills from research to final review