E-commerce SEO Analysis

E-commerce SEO analysis: Google Shopping visibility, Amazon marketplace intelligence, product schema validation, competitor pricing analysis, and marketplace keyword gaps.

How to use it

  1. Hit Copy SKILL.md — or use the Claude Code line below to get every file.
  2. Claude: ⋯ → Download .md, then Customize → Skills → Add → Upload skill.
    ChatGPT: make a Project and paste it into Instructions.
    Neither? Paste it at the top of a new chat — it works for that chat.
  3. Describe your job in plain words. The AI follows the skill from there.
Claude Code — installs the whole folder, not just SKILL.md
npx degit AgriciDaniel/claude-seo/skills/seo-ecommerce#main ~/.claude/skills/seo-ecommerce

For one project only, change the path to .claude/skills/seo-ecommerce. This skill also uses render_page.py, parse_html.py, dataforseo_costs.py, dataforseo_merchant.py, dataforseo_normalize.py, results.json — copying SKILL.md alone won't be enough. See the folder on GitHub.

Not working?
  • Check which app you pasted it into — the steps above name the right one.
  • Some skills need the paid tier of Claude or ChatGPT.
Step-by-step guide with screenshots · Ask in the forum

Paste into Claude, ChatGPT or Cursor.

Show the full text387 lines
seo-ecommerce/SKILL.md387 lines14.2 KBpushed 11d agoRawView on GitHub

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_PLUGIN_ROOT}/scripts/claude-seo" run render_page.py <url> --mode auto → raw/rendered HTML
2. "${CLAUDE_PLUGIN_ROOT}/scripts/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_PLUGIN_ROOT}/scripts/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_PLUGIN_ROOT}/scripts/claude-seo" run dataforseo_costs.py log merchant_google_products_search <cost>

Workflow

# Product search: who sells what at what price
"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run dataforseo_merchant.py search "<keyword>" --marketplace google

# Seller analysis: merchant ratings and dominance
"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run dataforseo_merchant.py sellers "<keyword>"

# Normalize results for analysis
"${CLAUDE_PLUGIN_ROOT}/scripts/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_PLUGIN_ROOT}/scripts/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_PLUGIN_ROOT}/scripts/claude-seo" run dataforseo_merchant.py search "<keyword>" --marketplace amazon

# Cross-marketplace comparison
"${CLAUDE_PLUGIN_ROOT}/scripts/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

  1. Fetch organic rankings via seo-dataforseo: dataforseo_labs_google_ranked_keywords for domain
  2. Fetch Google Shopping presence via Merchant API: merchant_google_products_search for top organic keywords
  3. 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
  • category -- Text, CategoryCode, or an array mixing both. Use custom text for merchant-defined product types and CategoryCode with Google's taxonomy URL plus codeValue for Google Product Categories.

Validation Rules

  1. price must be a number string, not "$29.99" (no currency symbol)
  2. availability must use full Schema.org URL enum
  3. image should be array with >= 1 high-res image URL
  4. priceCurrency must be ISO 4217 (USD, EUR, GBP)
  5. If brand is present, brand.name must not be empty or "N/A"
  6. Sale periods use validFrom plus either validThrough or priceValidUntil, in ISO 8601 format. Include time and timezone when known.
  7. If aggregateRating present: ratingValue and reviewCount required
  8. Do not include fake reviews or undisclosed incentivized reviews in visible content or structured data. Clearly and prominently disclose incentives.

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-hreflang Region-specific result units: product queries in the EEA, South Africa, and Turkiye can show supplier units and carousels with their own eligibility rules (documented 2026-09-08)
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_PLUGIN_ROOT}/scripts/claude-seo" run ucp_check.py https://store.example.com --json

# With endpoint reachability probes (HEAD each declared capability)
"${CLAUDE_PLUGIN_ROOT}/scripts/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`
1---
2name: seo-ecommerce
3description: >
4 E-commerce SEO analysis: Google Shopping visibility, Amazon marketplace
5 intelligence, product schema validation, competitor pricing analysis, and
6 marketplace keyword gaps. Combines on-page product SEO with marketplace data
7 from DataForSEO Merchant API. Use when user says "ecommerce SEO", "product SEO",
8 "Google Shopping", "marketplace SEO", "product schema", "Amazon SEO",
9 "product listings", "shopping ads", or "merchant SEO".
10user-invocable: true
11argument-hint: "<url or keyword>"
12license: MIT
13compatibility: "Enhanced with DataForSEO Merchant API (optional)"
14metadata:
15 author: AgriciDaniel
16 original_author: "Matej Marjanovic (Pro Hub Challenge)"
17 version: "2.3.1"
18 category: seo
19---
20 
21# E-commerce SEO Analysis
22 
23Comprehensive product page optimization, marketplace intelligence, and
24competitive pricing analysis. Works standalone (on-page + schema) and with
25DataForSEO Merchant API for live Google Shopping and Amazon data.
26 
27## Commands
28 
29| Command | Purpose | DataForSEO? |
30|---------|---------|-------------|
31| `/seo ecommerce <url>` | Full e-commerce SEO analysis of a product page or store | Optional |
32| `/seo ecommerce products <keyword>` | Google Shopping competitive analysis | Required |
33| `/seo ecommerce gaps <domain>` | Keyword gap: organic vs Shopping visibility | Required |
34| `/seo ecommerce schema <url>` | Product schema validation and enhancement | No |
35 
36---
37 
38## 1. Product Page Analysis (No DataForSEO Needed)
39 
40Fetch and parse any product page for on-page SEO quality.
41 
42### Workflow
43 
44```
451. "${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run render_page.py <url> --mode auto → raw/rendered HTML
462. "${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run parse_html.py --url <url> → SEO elements
473. Analyze product-specific signals (below)
48```
49 
50### Product SEO Checklist
51 
52#### Title Tag
53- [ ] Contains primary product keyword
54- [ ] Includes brand name
55- [ ] Under 60 characters (no truncation in SERPs)
56- [ ] Format: `[Product Name] - [Key Feature] | [Brand]`
57 
58#### Meta Description
59- [ ] Contains product keyword + benefit
60- [ ] Includes price or "from $XX" (triggers rich snippet interest)
61- [ ] Call-to-action present (Shop now, Buy, Free shipping)
62- [ ] Under 155 characters
63 
64#### Heading Structure
65- [ ] Single H1 matching primary product name
66- [ ] H2s for: Features, Specifications, Reviews, Related Products
67- [ ] No duplicate H1 tags across product variants
68 
69#### Product Images
70- [ ] Alt text includes product name + distinguishing feature
71- [ ] File names are descriptive (not `IMG_001.jpg`)
72- [ ] WebP format served (with JPEG fallback)
73- [ ] At least 3 images per product (hero, detail, lifestyle)
74- [ ] Image dimensions >= 800px for Google Shopping eligibility
75- [ ] Lazy loading on below-fold images only
76 
77#### Internal Linking
78- [ ] Breadcrumb navigation: Home > Category > Subcategory > Product
79- [ ] Related products section (cross-sell / upsell)
80- [ ] Link back to category page with keyword-rich anchor
81- [ ] Reviews section links to full review page (if separate)
82 
83#### Content Quality
84- [ ] Unique product description (not manufacturer copy-paste)
85- [ ] Word count >= 200 for product description body
86- [ ] Specs table present (not just prose)
87- [ ] User reviews on-page (UGC signals)
88 
89### Scoring
90 
91| Category | Weight | Criteria |
92|----------|--------|----------|
93| Schema completeness | 25% | Required + recommended Product fields |
94| Title & meta | 15% | Keyword placement, length, format |
95| Image optimization | 20% | Alt text, format, sizing, count |
96| Content quality | 20% | Unique description, specs, reviews |
97| Internal linking | 10% | Breadcrumbs, related products, categories |
98| Technical | 10% | Page speed, mobile rendering, canonical |
99 
100---
101 
102## 2. Google Shopping Intelligence (DataForSEO Merchant API)
103 
104Live competitive analysis from Google Shopping results.
105 
106### Cost Guardrail (MANDATORY)
107 
108Before EVERY Merchant API call:
109```bash
110"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run dataforseo_costs.py check merchant_google_products_search
111```
112 
113- `"status": "approved"` -- proceed
114- `"status": "needs_approval"` -- show cost, ask user
115- `"status": "blocked"` -- stop, inform user
116 
117After each call:
118```bash
119"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run dataforseo_costs.py log merchant_google_products_search <cost>
120```
121 
122### Workflow
123 
124```bash
125# Product search: who sells what at what price
126"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run dataforseo_merchant.py search "<keyword>" --marketplace google
127 
128# Seller analysis: merchant ratings and dominance
129"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run dataforseo_merchant.py sellers "<keyword>"
130 
131# Normalize results for analysis
132"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run dataforseo_normalize.py results.json --module merchant
133```
134 
135### Analysis Outputs
136 
137#### Pricing Intelligence
138- Price distribution: min, max, median, P25, P75
139- Price outliers (> 2 standard deviations from median)
140- Price-to-rating correlation
141- Currency normalization to USD (or user-specified)
142 
143#### Seller Landscape
144- Top 10 sellers by listing count
145- Merchant rating distribution
146- Free shipping prevalence
147- New vs established sellers
148 
149#### Product Listing Quality
150- Title keyword patterns in top listings
151- Average rating and review count benchmarks
152- Image count per listing
153- Availability status distribution
154 
155Load `references/marketplace-endpoints.md` for full API parameter details.
156 
157---
158 
159## 3. Amazon Marketplace (DataForSEO)
160 
161Cross-marketplace intelligence comparing Google Shopping and Amazon.
162 
163### Cost Guardrail (MANDATORY)
164 
165```bash
166"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run dataforseo_costs.py check merchant_amazon_products_search
167```
168 
169Amazon endpoints are in the `warn_endpoints` set -- always requires user approval.
170 
171### Workflow
172 
173```bash
174# Amazon product search
175"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run dataforseo_merchant.py search "<keyword>" --marketplace amazon
176 
177# Cross-marketplace comparison
178"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run dataforseo_merchant.py compare "<keyword>"
179```
180 
181### Cross-Marketplace Report
182 
183| Metric | Google Shopping | Amazon |
184|--------|---------------|--------|
185| Avg price | $ | $ |
186| Median rating | X.X | X.X |
187| Avg review count | N | N |
188| Top seller share | % | % |
189| Free shipping % | % | % |
190 
191---
192 
193## 4. Marketplace Keyword Gaps
194 
195Identify mismatches between organic and Shopping visibility.
196 
197### Workflow
198 
1991. Fetch organic rankings via seo-dataforseo:
200 `dataforseo_labs_google_ranked_keywords` for domain
2012. Fetch Google Shopping presence via Merchant API:
202 `merchant_google_products_search` for top organic keywords
2033. Cross-reference results
204 
205### Gap Types
206 
207| Gap Type | Meaning | Action |
208|----------|---------|--------|
209| **Organic Only** | Ranks organically but no Shopping ads | Create Google Merchant Center feed, bid on these keywords |
210| **Shopping Only** | Shopping visibility but weak/no organic | Create content (buying guides, comparison pages) for these keywords |
211| **Both Present** | Visible in both channels | Optimize: ensure price consistency, enhance schema |
212| **Neither** | No visibility in either | Low priority unless high volume |
213 
214### Output Format
215 
216```
217## Keyword Gap Analysis: example.com
218 
219### Opportunities: Organic → Shopping (12 keywords)
220| Keyword | Organic Pos | Volume | CPC | Recommended Action |
221|---------|------------|--------|-----|-------------------|
222 
223### Opportunities: Shopping → Organic (8 keywords)
224| Keyword | Shopping Rank | Volume | CPC | Content Type Needed |
225|---------|-------------|--------|-----|-------------------|
226```
227 
228---
229 
230## 5. Product Schema Enhancement
231 
232Validate and generate Product schema following Google's current requirements.
233 
234### Confirmed Required Properties (Google Merchant)
235 
236Confirmed required fields are `name`, `image`, and `offers`; use `Offer`, not `AggregateOffer`, for merchant listings.
237 
238```json
239{
240 "@context": "https://schema.org",
241 "@type": "Product",
242 "name": "",
243 "image": [""],
244 "offers": {
245 "@type": "Offer",
246 "url": "",
247 "priceCurrency": "USD",
248 "price": "0.00",
249 "availability": "https://schema.org/InStock"
250 }
251}
252```
253 
254### Recommended Properties (Enhance Rich Results)
255 
256- `sku` -- product identifier
257- `description`, `brand`, `offers.seller` -- recommended context fields
258- `gtin13` / `gtin14` / `mpn` -- global trade identifiers
259- `aggregateRating` -- star rating + review count
260- `review` -- individual reviews (minimum 1)
261- `color`, `material`, `size` -- variant attributes
262- `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)
263- `hasMerchantReturnPolicy` -- MerchantReturnPolicy with type and days
264- `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`
265- `category` -- `Text`, `CategoryCode`, or an array mixing both. Use custom
266 text for merchant-defined product types and `CategoryCode` with Google's
267 taxonomy URL plus `codeValue` for Google Product Categories.
268 
269### Validation Rules
270 
2711. `price` must be a number string, not "$29.99" (no currency symbol)
2722. `availability` must use full Schema.org URL enum
2733. `image` should be array with >= 1 high-res image URL
2744. `priceCurrency` must be ISO 4217 (USD, EUR, GBP)
2755. If `brand` is present, `brand.name` must not be empty or "N/A"
2766. Sale periods use `validFrom` plus either `validThrough` or
277 `priceValidUntil`, in ISO 8601 format. Include time and timezone when known.
2787. If `aggregateRating` present: `ratingValue` and `reviewCount` required
2798. Do not include fake reviews or undisclosed incentivized reviews in visible
280 content or structured data. Clearly and prominently disclose incentives.
281 
282### Schema Scoring
283 
284| Completeness | Score |
285|-------------|-------|
286| All required fields | 50/100 |
287| + aggregateRating | 65/100 |
288| + sku/gtin/mpn | 75/100 |
289| + shippingDetails | 85/100 |
290| + merchantReturnPolicy | 90/100 |
291| + reviews (3+) | 100/100 |
292 
293---
294 
295## Cross-Skill Integration
296 
297| Skill | Integration Point |
298|-------|------------------|
299| **seo-schema** | Delegates Product schema generation; reuses validation logic |
300| **seo-images** | Product image audit (alt text, format, dimensions), plus `DigitalSourceType: TrainedAlgorithmicMedia` IPTC label for AI-generated product images (Merchant Center requirement) |
301| **seo-content** | Product description E-E-A-T and uniqueness analysis |
302| **seo-dataforseo** | Organic keyword rankings for gap analysis |
303| **seo-technical** | Core Web Vitals for product pages (LCP on hero image) |
304| **seo-hreflang** | Region-specific result units: product queries in the EEA, South Africa, and Turkiye can show supplier units and carousels with their own eligibility rules (documented 2026-09-08) |
305| **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) |
306 
307## UCP: Universal Commerce Protocol (live)
308 
309Google-initiated open standard (co-developed with Shopify, Etsy, Wayfair,
310Target, Walmart; payment partners Visa/Mastercard/Stripe/Adyen/Amex) for
311letting AI agents discover, negotiate, and transact with merchants without
312one-off integrations. Google confirms a first reference implementation for
313conversational buying in AI Mode in Search. Broader Universal Cart rollout
314details are reported from Google I/O 2026 keynote coverage; not confirmed on a
315Google-owned source. ucp.dev lists **2026-04-08** as the latest release in its
316**date-based versioning** scheme, not `1.0`; two integration paths: **Native**
317(default) and **Embedded** (approved merchants). Pairs with **AP2** (reportedly
318moving toward FIDO governance). Canonical: developers.google.com/merchant/ucp
319and ucp.dev.
320 
321Merchants already on **Google Merchant Center** with clean Product schema can
322declare a UCP profile at `/.well-known/ucp` listing capabilities
323(`dev.ucp.shopping.checkout`, `.fulfillment`, `.discount`). See
324`references/ucp-universal-commerce-protocol.md` for audit criteria,
325capability examples, and the relationship to AP2 (Agent Payments Protocol).
326 
327### Audit command
328 
329```bash
330# Discover and validate the UCP profile
331"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run ucp_check.py https://store.example.com --json
332 
333# With endpoint reachability probes (HEAD each declared capability)
334"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run ucp_check.py https://store.example.com --probe-endpoints --json
335```
336 
337The script returns: profile presence, version, declared capabilities,
338structural issues (missing fields, unknown capability IDs), and (with
339`--probe-endpoints`) per-endpoint reachability. SSRF-blocked endpoints are
340reported explicitly. Missing profile is reported as opportunity, not failure.
341UCP itself is live; what's early is broad merchant adoption. Flag a literal
342`"version": "1.0"` as invalid (UCP versions are date-based, e.g. `2026-04-08`).
343 
344---
345 
346## Error Handling
347 
348| Error | Cause | Response |
349|-------|-------|----------|
350| No Product schema found | Page lacks JSON-LD | Analyze page content, generate recommended schema |
351| DataForSEO credentials missing | Env vars not set | Run analysis without marketplace data, note limitation |
352| Cost check blocked | Daily budget exceeded | Inform user, offer free-only analysis |
353| Empty Shopping results | No products for keyword | Suggest broader keyword, check location settings |
354| Amazon API timeout | Network/rate limit | Retry with backoff, fall back to Google-only |
355| Invalid URL | Malformed input | Validate via `google_auth.validate_url()`, show error |
356| Non-product page | URL is category/homepage | Detect page type, suggest `/seo ecommerce schema` instead |
357 
358---
359 
360## Output Template
361 
362```
363## E-commerce SEO Report: [URL or Keyword]
364 
365### Overall Score: XX/100
366 
367### Product Page SEO
368- Schema Completeness: XX/100
369- Title & Meta: XX/100
370- Image Optimization: XX/100
371- Content Quality: XX/100
372- Internal Linking: XX/100
373 
374### Marketplace Intelligence (if DataForSEO available)
375- Google Shopping Listings: N products found
376- Price Range: $XX - $XX (median: $XX)
377- Top Seller: [name] (XX% market share)
378- Amazon Comparison: [available/not checked]
379 
380### Top Recommendations
3811. [Critical] ...
3822. [High] ...
3833. [Medium] ...
384 
385Generate a PDF report? Use `/seo google report`
386```
387 

Discussion

Alternatives

Also in SEO & keywords