[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M7EDF9MPC3H2WNWD34DN95CQ":3,"skill-same:01M7EDF9MPC3H2WNWD34DN95CQ":49},{"skillNo":4,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":18,"linkOnly":19,"markdownContent":20,"markdownBody":20,"frontMatter":21,"refName":22,"commitSha":23,"skillDirectory":24,"forksCount":13,"repositoryHtmlUrl":25,"repositoryHomepageUrl":6,"ownerHtmlUrl":26,"ownerBlogUrl":6,"ownerDescription":27,"updatedAt":28,"install":29,"resources":42},"01M7EDF9MPC3H2WNWD34DN95CQ","seo-ecommerce",null,"jonahthan433\u002FCortexOS","jonahthan433","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F211465495?v=4","01M7ECH9HPHGA89DCXHHJBTS3C","jonah.ai","01M7ECH9JCEM45DZMWPT7148S1",0,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fjonahthan433\u002FCortexOS\u002Fblob\u002Fmain\u002Fskills\u002Fimported\u002Fproductivity\u002Fseo-ecommerce\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"# seo-ecommerce\n\n# E-commerce SEO Analysis\n\nComprehensive product page optimization, marketplace intelligence, and\ncompetitive pricing analysis. Works standalone (on-page + schema) and with\nDataForSEO Merchant API for live Google Shopping and Amazon data.\n\n## Commands\n\n| Command | Purpose | DataForSEO? |\n|---------|---------|-------------|\n| `\u002Fseo ecommerce \u003Curl>` | Full e-commerce SEO analysis of a product page or store | Optional |\n| `\u002Fseo ecommerce products \u003Ckeyword>` | Google Shopping competitive analysis | Required |\n| `\u002Fseo ecommerce gaps \u003Cdomain>` | Keyword gap: organic vs Shopping visibility | Required |\n| `\u002Fseo ecommerce schema \u003Curl>` | Product schema validation and enhancement | No |\n\n---\n\n## 1. Product Page Analysis (No DataForSEO Needed)\n\nFetch and parse any product page for on-page SEO quality.\n\n### Workflow\n\n```\n1. python scripts\u002Ffetch_page.py \u003Curl>         → raw HTML\n2. python scripts\u002Fparse_html.py --url \u003Curl>   → SEO elements\n3. Analyze product-specific signals (below)\n```\n\n### Product SEO Checklist\n\n#### Title Tag\n- [ ] Contains primary product keyword\n- [ ] Includes brand name\n- [ ] Under 60 characters (no truncation in SERPs)\n- [ ] Format: `[Product Name] - [Key Feature] | [Brand]`\n\n#### Meta Description\n- [ ] Contains product keyword + benefit\n- [ ] Includes price or \"from $XX\" (triggers rich snippet interest)\n- [ ] Call-to-action present (Shop now, Buy, Free shipping)\n- [ ] Under 155 characters\n\n#### Heading Structure\n- [ ] Single H1 matching primary product name\n- [ ] H2s for: Features, Specifications, Reviews, Related Products\n- [ ] No duplicate H1 tags across product variants\n\n#### Product Images\n- [ ] Alt text includes product name + distinguishing feature\n- [ ] File names are descriptive (not `IMG_001.jpg`)\n- [ ] WebP format served (with JPEG fallback)\n- [ ] At least 3 images per product (hero, detail, lifestyle)\n- [ ] Image dimensions >= 800px for Google Shopping eligibility\n- [ ] Lazy loading on below-fold images only\n\n#### Internal Linking\n- [ ] Breadcrumb navigation: Home > Category > Subcategory > Product\n- [ ] Related products section (cross-sell \u002F upsell)\n- [ ] Link back to category page with keyword-rich anchor\n- [ ] Reviews section links to full review page (if separate)\n\n#### Content Quality\n- [ ] Unique product description (not manufacturer copy-paste)\n- [ ] Word count >= 200 for product description body\n- [ ] Specs table present (not just prose)\n- [ ] User reviews on-page (UGC signals)\n\n### Scoring\n\n| Category | Weight | Criteria |\n|----------|--------|----------|\n| Schema completeness | 25% | Required + recommended Product fields |\n| Title & meta | 15% | Keyword placement, length, format |\n| Image optimization | 20% | Alt text, format, sizing, count |\n| Content quality | 20% | Unique description, specs, reviews |\n| Internal linking | 10% | Breadcrumbs, related products, categories |\n| Technical | 10% | Page speed, mobile rendering, canonical |\n\n---\n\n## 2. Google Shopping Intelligence (DataForSEO Merchant API)\n\nLive competitive analysis from Google Shopping results.\n\n### Cost Guardrail (MANDATORY)\n\nBefore EVERY Merchant API call:\n```bash\npython scripts\u002Fdataforseo_costs.py check merchant_google_products_search\n```\n\n- `\"status\": \"approved\"` -- proceed\n- `\"status\": \"needs_approval\"` -- show cost, ask user\n- `\"status\": \"blocked\"` -- stop, inform user\n\nAfter each call:\n```bash\npython scripts\u002Fdataforseo_costs.py log merchant_google_products_search \u003Ccost>\n```\n\n### Workflow\n\n```bash\n# Product search: who sells what at what price\npython scripts\u002Fdataforseo_merchant.py search \"\u003Ckeyword>\" --marketplace google\n\n# Seller analysis: merchant ratings and dominance\npython scripts\u002Fdataforseo_merchant.py sellers \"\u003Ckeyword>\"\n\n# Normalize results for analysis\npython scripts\u002Fdataforseo_normalize.py results.json --module merchant\n```\n\n### Analysis Outputs\n\n#### Pricing Intelligence\n- Price distribution: min, max, median, P25, P75\n- Price outliers (> 2 standard deviations from median)\n- Price-to-rating correlation\n- Currency normalization to USD (or user-specified)\n\n#### Seller Landscape\n- Top 10 sellers by listing count\n- Merchant rating distribution\n- Free shipping prevalence\n- New vs established sellers\n\n#### Product Listing Quality\n- Title keyword patterns in top listings\n- Average rating and review count benchmarks\n- Image count per listing\n- Availability status distribution\n\nLoad `references\u002Fmarketplace-endpoints.md` for full API parameter details.\n\n---\n\n## 3. Amazon Marketplace (DataForSEO)\n\nCross-marketplace intelligence comparing Google Shopping and Amazon.\n\n### Cost Guardrail (MANDATORY)\n\n```bash\npython scripts\u002Fdataforseo_costs.py check merchant_amazon_products_search\n```\n\nAmazon endpoints are in the `warn_endpoints` set -- always requires user approval.\n\n### Workflow\n\n```bash\n# Amazon product search\npython scripts\u002Fdataforseo_merchant.py search \"\u003Ckeyword>\" --marketplace amazon\n\n# Cross-marketplace comparison\npython scripts\u002Fdataforseo_merchant.py compare \"\u003Ckeyword>\"\n```\n\n### Cross-Marketplace Report\n\n| Metric | Google Shopping | Amazon |\n|--------|---------------|--------|\n| Avg price | $ | $ |\n| Median rating | X.X | X.X |\n| Avg review count | N | N |\n| Top seller share | % | % |\n| Free shipping % | % | % |\n\n---\n\n## 4. Marketplace Keyword Gaps\n\nIdentify mismatches between organic and Shopping visibility.\n\n### Workflow\n\n1. Fetch organic rankings via seo-dataforseo:\n   `dataforseo_labs_google_ranked_keywords` for domain\n2. Fetch Google Shopping presence via Merchant API:\n   `merchant_google_products_search` for top organic keywords\n3. Cross-reference results\n\n### Gap Types\n\n| Gap Type | Meaning | Action |\n|----------|---------|--------|\n| **Organic Only** | Ranks organically but no Shopping ads | Create Google Merchant Center feed, bid on these keywords |\n| **Shopping Only** | Shopping visibility but weak\u002Fno organic | Create content (buying guides, comparison pages) for these keywords |\n| **Both Present** | Visible in both channels | Optimize: ensure price consistency, enhance schema |\n| **Neither** | No visibility in either | Low priority unless high volume |\n\n### Output Format\n\n```\n## Keyword Gap Analysis: example.com\n\n### Opportunities: Organic → Shopping (12 keywords)\n| Keyword | Organic Pos | Volume | CPC | Recommended Action |\n|---------|------------|--------|-----|-------------------|\n\n### Opportunities: Shopping → Organic (8 keywords)\n| Keyword | Shopping Rank | Volume | CPC | Content Type Needed |\n|---------|-------------|--------|-----|-------------------|\n```\n\n---\n\n## 5. Product Schema Enhancement\n\nValidate and generate Product schema following Google's current requirements.\n\n### Required Properties (Google Merchant)\n\n```json\n{\n  \"@context\": \"https:\u002F\u002Fschema.org\",\n  \"@type\": \"Product\",\n  \"name\": \"\",\n  \"image\": [\"\"],\n  \"description\": \"\",\n  \"brand\": { \"@type\": \"Brand\", \"name\": \"\" },\n  \"offers\": {\n    \"@type\": \"Offer\",\n    \"url\": \"\",\n    \"priceCurrency\": \"USD\",\n    \"price\": \"0.00\",\n    \"availability\": \"https:\u002F\u002Fschema.org\u002FInStock\",\n    \"seller\": { \"@type\": \"Organization\", \"name\": \"\" }\n  }\n}\n```\n\n### Recommended Properties (Enhance Rich Results)\n\n- `sku` -- product identifier\n- `gtin13` \u002F `gtin14` \u002F `mpn` -- global trade identifiers\n- `aggregateRating` -- star rating + review count\n- `review` -- individual reviews (minimum 1)\n- `color`, `material`, `size` -- variant attributes\n- `shippingDetails` -- ShippingDetails with rate and delivery time\n- `hasMerchantReturnPolicy` -- MerchantReturnPolicy with type and days\n\n### Validation Rules\n\n1. `price` must be a number string, not \"$29.99\" (no currency symbol)\n2. `availability` must use full Schema.org URL enum\n3. `image` should be array with >= 1 high-res image URL\n4. `priceCurrency` must be ISO 4217 (USD, EUR, GBP)\n5. `brand.name` must not be empty or \"N\u002FA\"\n6. Dates in `priceValidUntil` must be ISO 8601\n7. If `aggregateRating` present: `ratingValue` and `reviewCount` required\n\n### Schema Scoring\n\n| Completeness | Score |\n|-------------|-------|\n| All required fields | 50\u002F100 |\n| + aggregateRating | 65\u002F100 |\n| + sku\u002Fgtin\u002Fmpn | 75\u002F100 |\n| + shippingDetails | 85\u002F100 |\n| + merchantReturnPolicy | 90\u002F100 |\n| + reviews (3+) | 100\u002F100 |\n\n---\n\n## Cross-Skill Integration\n\n| Skill | Integration Point |\n|-------|------------------|\n| **seo-schema** | Delegates Product schema generation; reuses validation logic |\n| **seo-images** | Product image audit (alt text, format, dimensions) — plus `DigitalSourceType: TrainedAlgorithmicMedia` IPTC label for AI-generated product images (Merchant Center requirement) |\n| **seo-content** | Product description E-E-A-T and uniqueness analysis |\n| **seo-dataforseo** | Organic keyword rankings for gap analysis |\n| **seo-technical** | Core Web Vitals for product pages (LCP on hero image) |\n| **seo-google** | Google Merchant Center feed validation via GSC |\n\n## UCP — Universal Commerce Protocol (forward-looking)\n\nGoogle-led standard (co-developed with Shopify, Etsy, Walmart, Wayfair, Visa,\nMastercard, etc.) for letting AI agents discover, negotiate, and transact with\nmerchants without one-off integrations. Already powers direct buying from AI\nMode and Gemini.\n\nMerchants already on **Google Merchant Center** with clean Product schema can\ndeclare a UCP profile at `\u002F.well-known\u002Fucp` listing capabilities\n(`dev.ucp.shopping.checkout`, `.fulfillment`, `.discount`). See\n`references\u002Fucp-universal-commerce-protocol.md` for audit criteria,\ncapability examples, and the relationship to AP2 (Agent Payments Protocol).\n\n### Audit command\n\n```bash\n# Discover and validate the UCP profile\npython scripts\u002Fucp_check.py https:\u002F\u002Fstore.example.com --json\n\n# With endpoint reachability probes (HEAD each declared capability)\npython scripts\u002Fucp_check.py https:\u002F\u002Fstore.example.com --probe-endpoints --json\n```\n\nThe script returns: profile presence, version, declared capabilities,\nstructural issues (missing fields, unknown capability IDs), and (with\n`--probe-endpoints`) per-endpoint reachability. SSRF-blocked endpoints are\nreported explicitly. Missing profile is reported as opportunity, not failure\n— UCP adoption is early.\n\n---\n\n## Error Handling\n\n| Error | Cause | Response |\n|-------|-------|----------|\n| No Product schema found | Page lacks JSON-LD | Analyze page content, generate recommended schema |\n| DataForSEO credentials missing | Env vars not set | Run analysis without marketplace data, note limitation |\n| Cost check blocked | Daily budget exceeded | Inform user, offer free-only analysis |\n| Empty Shopping results | No products for keyword | Suggest broader keyword, check location settings |\n| Amazon API timeout | Network\u002Frate limit | Retry with backoff, fall back to Google-only |\n| Invalid URL | Malformed input | Validate via `google_auth.validate_url()`, show error |\n| Non-product page | URL is category\u002Fhomepage | Detect page type, suggest `\u002Fseo ecommerce schema` instead |\n\n---\n\n## Output Template\n\n```\n## E-commerce SEO Report: [URL or Keyword]\n\n### Overall Score: XX\u002F100\n\n### Product Page SEO\n- Schema Completeness: XX\u002F100\n- Title & Meta: XX\u002F100\n- Image Optimization: XX\u002F100\n- Content Quality: XX\u002F100\n- Internal Linking: XX\u002F100\n\n### Marketplace Intelligence (if DataForSEO available)\n- Google Shopping Listings: N products found\n- Price Range: $XX - $XX (median: $XX)\n- Top Seller: [name] (XX% market share)\n- Amazon Comparison: [available\u002Fnot checked]\n\n### Top Recommendations\n1. [Critical] ...\n2. [High] ...\n3. [Medium] ...\n\nGenerate a PDF report? Use `\u002Fseo google report`\n```\n",{},"main","38b32c99e7ed0b8e215d638e92cfa452c1ec3079","skills\u002Fimported\u002Fproductivity\u002Fseo-ecommerce","https:\u002F\u002Fgithub.com\u002Fjonahthan433\u002FCortexOS","https:\u002F\u002Fgithub.com\u002Fjonahthan433","AI Consultant","2026-10-24 05:13:39",{"source":7,"skillName":5,"commands":30,"prompt":40,"zipAvailable":41},[31,34,37],{"tool":32,"command":33},"npx","npx skills add jonahthan433\u002FCortexOS --skill seo-ecommerce",{"tool":35,"command":36},"bunx","bunx skills add jonahthan433\u002FCortexOS --skill seo-ecommerce",{"tool":38,"command":39},"pnpm","pnpm dlx skills add jonahthan433\u002FCortexOS --skill seo-ecommerce","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjonahthan433\u002FCortexOS\u002Fblob\u002Fmain\u002Fskills\u002Fimported\u002Fproductivity\u002Fseo-ecommerce\u002FSKILL.md",true,[43],{"path":44,"resourceType":45,"resourceTypeDesc":46,"sizeBytes":47,"sourceHtmlUrl":48},"skill.json","REFERENCE","参考文档",288,"https:\u002F\u002Fgithub.com\u002Fjonahthan433\u002FCortexOS\u002Fblob\u002Fmain\u002Fskills\u002Fimported\u002Fproductivity\u002Fseo-ecommerce\u002Fskill.json",[50,56,62,68,74,80],{"skillNo":51,"name":52,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":53,"categories":54,"keywords":55,"publishedAt":18},"01M7EDQZDQX3Q8Y7GCQX6KN9V7","opportunity-brief","https:\u002F\u002Fgithub.com\u002Fjonahthan433\u002FCortexOS\u002Fblob\u002Fmain\u002Fskills\u002Fsales\u002Fopportunity-brief\u002FSKILL.md",[],[],{"skillNo":57,"name":58,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":59,"categories":60,"keywords":61,"publishedAt":18},"01M7EDQYA0V9Y99VKBREJJ3MRT","morning-intel","https:\u002F\u002Fgithub.com\u002Fjonahthan433\u002FCortexOS\u002Fblob\u002Fmain\u002Fskills\u002Fresearch\u002Fmorning-intel\u002FSKILL.md",[],[],{"skillNo":63,"name":64,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":65,"categories":66,"keywords":67,"publishedAt":18},"01M7EDQVX1JVY0B6PDHKKGM19G","decision-brief","https:\u002F\u002Fgithub.com\u002Fjonahthan433\u002FCortexOS\u002Fblob\u002Fmain\u002Fskills\u002Fresearch\u002Fdecision-brief\u002FSKILL.md",[],[],{"skillNo":69,"name":70,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":71,"categories":72,"keywords":73,"publishedAt":18},"01M7EDQV1GENZAC2SZSD8KZ3GM","weekly-review","https:\u002F\u002Fgithub.com\u002Fjonahthan433\u002FCortexOS\u002Fblob\u002Fmain\u002Fskills\u002Fproductivity\u002Fweekly-review\u002FSKILL.md",[],[],{"skillNo":75,"name":76,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":77,"categories":78,"keywords":79,"publishedAt":18},"01M7EDQT2KETJ1Y3CGVN9EKW2J","system-health","https:\u002F\u002Fgithub.com\u002Fjonahthan433\u002FCortexOS\u002Fblob\u002Fmain\u002Fskills\u002Fops\u002Fsystem-health\u002FSKILL.md",[],[],{"skillNo":81,"name":82,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":83,"categories":84,"keywords":85,"publishedAt":18},"01M7EDQQN2JK3XPWMS1M4T0F3K","backup-restore","https:\u002F\u002Fgithub.com\u002Fjonahthan433\u002FCortexOS\u002Fblob\u002Fmain\u002Fskills\u002Fops\u002Fbackup-restore\u002FSKILL.md",[],[]]