E-commerce SEO Analysis
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.
Commands
| 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 |
1. Product Page Analysis (No DataForSEO Needed)
Fetch and parse any product page for on-page SEO quality.
Workflow
1. claude-seo run render_page.py <url> --mode auto → raw/rendered HTML
2. claude-seo run parse_html.py --url <url> → SEO elements
3. Analyze product-specific signals (below)
Product SEO Checklist
Title Tag
- Contains primary product keyword
- Includes brand name
- Under 60 characters (no truncation in SERPs)
- Format:
[Product Name] - [Key Feature] | [Brand]
Meta Description
- Contains product keyword + benefit
- Includes price or "from $XX" (triggers rich snippet interest)
- Call-to-action present (Shop now, Buy, Free shipping)
- Under 155 characters
Heading Structure
- Single H1 matching primary product name
- H2s for: Features, Specifications, Reviews, Related Products
- No duplicate H1 tags across product variants
Product Images
- Alt text includes product name + distinguishing feature
- File names are descriptive (not
IMG_001.jpg)
- WebP format served (with JPEG fallback)
- At least 3 images per product (hero, detail, lifestyle)
- Image dimensions >= 800px for Google Shopping eligibility
- Lazy loading on below-fold images only
Internal Linking
- Breadcrumb navigation: Home > Category > Subcategory > Product
- Related products section (cross-sell / upsell)
- Link back to category page with keyword-rich anchor
- Reviews section links to full review page (if separate)
Content Quality
- Unique product description (not manufacturer copy-paste)
- Word count >= 200 for product description body
- Specs table present (not just prose)
- User reviews on-page (UGC signals)
Scoring
| 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 |
2. Google Shopping Intelligence (DataForSEO Merchant API)
Live competitive analysis from Google Shopping results.
Cost Guardrail (MANDATORY)
Before EVERY Merchant API call:
claude-seo run dataforseo_costs.py check merchant_google_products_search
"status": "approved" -- proceed
"status": "needs_approval" -- show cost, ask user
"status": "blocked" -- stop, inform user
After each call:
claude-seo run dataforseo_costs.py log merchant_google_products_search <cost>
Workflow
# Product search: who sells what at what price
claude-seo run dataforseo_merchant.py search "<keyword>" --marketplace google
# Seller analysis: merchant ratings and dominance
claude-seo run dataforseo_merchant.py sellers "<keyword>"
# Normalize results for analysis
claude-seo run dataforseo_normalize.py results.json --module merchant
Analysis Outputs
Pricing Intelligence
- Price distribution: min, max, median, P25, P75
- Price outliers (> 2 standard deviations from median)
- Price-to-rating correlation
- Currency normalization to USD (or user-specified)
Seller Landscape
- Top 10 sellers by listing count
- Merchant rating distribution
- Free shipping prevalence
- New vs established sellers
Product Listing Quality
- Title keyword patterns in top listings
- Average rating and review count benchmarks
- Image count per listing
- Availability status distribution
Load references/marketplace-endpoints.md for full API parameter details.
3. Amazon Marketplace (DataForSEO)
Cross-marketplace intelligence comparing Google Shopping and Amazon.
Cost Guardrail (MANDATORY)
claude-seo run dataforseo_costs.py check merchant_amazon_products_search
Amazon endpoints are in the warn_endpoints set -- always requires user approval.
Workflow
# Amazon product search
claude-seo run dataforseo_merchant.py search "<keyword>" --marketplace amazon
# Cross-marketplace comparison
claude-seo run dataforseo_merchant.py compare "<keyword>"
Cross-Marketplace Report
| Metric |
Google Shopping |
Amazon |
| Avg price |
$ |
$ |
| Median rating |
X.X |
X.X |
| Avg review count |
N |
N |
| Top seller share |
% |
% |
| Free shipping % |
% |
% |
4. Marketplace Keyword Gaps
Identify mismatches between organic and Shopping visibility.
Workflow
- Fetch organic rankings via seo-dataforseo:
dataforseo_labs_google_ranked_keywords for domain
- Fetch Google Shopping presence via Merchant API:
merchant_google_products_search for top organic keywords
- Cross-reference results
Gap Types
| 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 |
Output Format
## 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 |
|---------|-------------|--------|-----|-------------------|
5. Product Schema Enhancement
Validate and generate Product schema following Google's current requirements.
Confirmed Required Properties (Google Merchant)
Confirmed required fields are name, image, and offers; use Offer, not AggregateOffer, for merchant listings.
{
"@context": "https://schema.org",
"@type": "Product",
"name": "",
"image": [""],
"offers": {
"@type": "Offer",
"url": "",
"priceCurrency": "USD",
"price": "0.00",
"availability": "https://schema.org/InStock"
}
}
Recommended Properties (Enhance Rich Results)
sku -- product identifier
description, brand, offers.seller -- recommended context fields
gtin13 / gtin14 / mpn -- global trade identifiers
aggregateRating -- star rating + review count
review -- individual reviews (minimum 1)
color, material, size -- variant attributes
shippingDetails -- ShippingDetails with rate and delivery time (merchant-level shipping via ShippingService is also supported; shipping/returns can be set in Search Console without a Merchant Center account)
hasMerchantReturnPolicy -- MerchantReturnPolicy with type and days
hasAdultConsideration -- required for adult-oriented products (added 2026-05-20 to Product variant / Merchant listing); Google Search supports only the value https://schema.org/SexualContentConsideration
Validation Rules
price must be a number string, not "$29.99" (no currency symbol)
availability must use full Schema.org URL enum
image should be array with >= 1 high-res image URL
priceCurrency must be ISO 4217 (USD, EUR, GBP)
- If
brand is present, brand.name must not be empty or "N/A"
- Dates in
priceValidUntil must be ISO 8601
- If
aggregateRating present: ratingValue and reviewCount required
Schema Scoring
| 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 |
Cross-Skill Integration
| Skill |
Integration Point |
| seo-schema |
Delegates Product schema generation; reuses validation logic |
| seo-images |
Product image audit (alt text, format, dimensions), plus DigitalSourceType: TrainedAlgorithmicMedia IPTC label for AI-generated product images (Merchant Center requirement) |
| 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 |
GSC indexation + Performance data for product URLs (NOT Merchant Center feed validation, that is done in Merchant Center / the Merchant API; the legacy Content API for Shopping sunsets 2026-08-18) |
UCP: Universal Commerce Protocol (live)
Google-initiated open standard (co-developed with Shopify, Etsy, Wayfair,
Target, Walmart; payment partners Visa/Mastercard/Stripe/Adyen/Amex) for
letting AI agents discover, negotiate, and transact with merchants without
one-off integrations. Google confirms a first reference implementation for
conversational buying in AI Mode in Search. Broader Universal Cart rollout
details are reported from Google I/O 2026 keynote coverage; not confirmed on a
Google-owned source. ucp.dev lists 2026-04-08 as the latest release in its
date-based versioning scheme, not 1.0; two integration paths: Native
(default) and Embedded (approved merchants). Pairs with AP2 (reportedly
moving toward FIDO governance). Canonical: developers.google.com/merchant/ucp
and ucp.dev.
Merchants already on Google Merchant Center with clean Product schema can
declare a UCP profile at /.well-known/ucp listing capabilities
(dev.ucp.shopping.checkout, .fulfillment, .discount). See
references/ucp-universal-commerce-protocol.md for audit criteria,
capability examples, and the relationship to AP2 (Agent Payments Protocol).
Audit command
# Discover and validate the UCP profile
claude-seo run ucp_check.py https://store.example.com --json
# With endpoint reachability probes (HEAD each declared capability)
claude-seo run ucp_check.py https://store.example.com --probe-endpoints --json
The script returns: profile presence, version, declared capabilities,
structural issues (missing fields, unknown capability IDs), and (with
--probe-endpoints) per-endpoint reachability. SSRF-blocked endpoints are
reported explicitly. Missing profile is reported as opportunity, not failure.
UCP itself is live; what's early is broad merchant adoption. Flag a literal
"version": "1.0" as invalid (UCP versions are date-based, e.g. 2026-04-08).
Error Handling
| 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 |
Output Template
## 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`