seoskills.sh

Ecommerce SEO

Maximize organic search traffic with optimized product page meta tags, JSON-LD structured data for Google Shopping, and automated XML sitemaps

Listed ·Updated

156 installs

Install data from skills.sh

Use this skill

Free
$ npx skills add https://github.com/finsilabs/awesome-ecommerce-skills --skill ecommerce-seo
Basic pattern scan of SKILL.md text: no matches (checked October 2, 2026)
Repository
finsilabs/awesome-ecommerce-skills
GitHub stars
55
License
MIT

About this skill

Ecommerce SEO is a Programmatic SEO skill for AI agents, published in the seoskills.sh catalog. Reach for it when your work involves large-scale page generation and ecommerce SEO built for consistent quality. Install it with one command and it runs inside your own agent, so the work happens in your workflow, not a separate SEO tool.

Embed a badge

seoskills.sh listing badge

SKILL.md

E-commerce SEO

Overview

E-commerce SEO covers the technical and content foundations that help search engines understand and rank your product pages: meta tags, structured data (JSON-LD), canonical URLs, XML sitemaps, and Core Web Vitals. Shopify and WooCommerce handle most technical SEO automatically; your effort should focus on optimizing titles, descriptions, and structured data quality — not plumbing.

When to Use This Skill

  • When building product pages that need to rank in Google Shopping and organic search
  • When implementing JSON-LD structured data for rich snippets (price, availability, reviews)
  • When handling canonical URLs for products with multiple variants or filter combinations
  • When generating XML sitemaps for a large catalog (10K+ products)
  • When diagnosing why products are not appearing in Google Shopping rich results

Core Instructions

Step 1: Check what your platform handles automatically

Before installing anything, understand what is already built in:

FeatureShopifyWooCommerceBigCommerce
XML sitemapAuto-generated at /sitemap.xmlAuto-generated at /sitemap_index.xml (with Yoast SEO)Auto-generated at /xmlsitemap.xml
Canonical URLsYes (built-in)Yes (with Yoast SEO)Yes (built-in)
Meta title/description editingYes (via product editor)Yes (via Yoast SEO fields)Yes (via product editor)
JSON-LD product schemaBasic (varies by theme)Requires WooCommerce + Yoast or Rank MathBasic (varies by theme)
robots.txtEditable in Online Store settingsEditable via file or YoastEditable via admin

Step 2: Install an SEO foundation


Shopify

Shopify handles sitemaps, canonicals, and basic schema automatically. Focus on:

  1. Install a SEO app for enhanced structured data and bulk editing:
    • Yoast SEO for Shopify ($19/mo) — most comprehensive
    • Schema Plus (free tier) — focused on JSON-LD structured data
    • SEO Manager ($20/mo) — bulk meta editing + structured data
  2. Go to Shopify Admin → Online Store → Preferences and verify:
    • Your homepage title and meta description are set
    • Google Analytics is connected
  3. Go to each product's page in admin and fill in the SEO section at the bottom:
    • Write unique meta titles following: [Brand] [Product Name] - [Key Attribute] | [Store Name]
    • Write unique meta descriptions (150–160 characters) that include price range, key benefit, and a call to action
  4. Submit your sitemap to Google Search Console: go to search.google.com/search-console → Sitemaps → Add yourstore.com/sitemap.xml

WooCommerce
  1. Install Yoast SEO (free) or Rank Math (free) from the WordPress plugin directory — these are required for proper WooCommerce SEO
  2. After installing Yoast SEO:
    • Go to Yoast SEO → Search Appearance → WooCommerce and configure product page templates
    • Enable JSON-LD structured data under Yoast SEO → Search Appearance → Schema
    • Go to Yoast SEO → Tools → Bulk Editor to edit meta titles and descriptions for all products at once
  3. For enhanced product schema (price, availability, reviews):
    • Install Rank Math which includes WooCommerce Product Schema with review aggregation built in
  4. Submit sitemap to Google Search Console: Yoast auto-generates /sitemap_index.xml

BigCommerce
  1. BigCommerce includes basic SEO features built-in. Go to BigCommerce Admin → Products → [Edit Product] → SEO tab
  2. For enhanced structured data: install SEO Expert from the BigCommerce App Marketplace
  3. Go to Store Setup → Search Engine Optimization to configure global defaults
  4. Submit your sitemap at yourstore.com/xmlsitemap.xml to Google Search Console

Custom / Headless

For headless storefronts, implement structured data manually. Serve JSON-LD on every product page:

function buildProductJsonLd(product: Product, reviews: ReviewSummary) {
  return {
    '@context': 'https://schema.org',
    '@type': 'Product',
    name: product.title,
    image: product.images.map(img => img.src),
    description: product.metaDescription || product.description.slice(0, 200),
    sku: product.variants[0]?.sku,
    brand: { '@type': 'Brand', name: product.vendor },
    offers: product.variants.length === 1
      ? {
          '@type': 'Offer',
          url: `https://yourstore.com/products/${product.slug}`,
          priceCurrency: 'USD',
          price: (product.variants[0].priceInCents / 100).toFixed(2),
          availability: product.variants[0].inventoryQuantity > 0
            ? 'https://schema.org/InStock'
            : 'https://schema.org/OutOfStock',
        }
      : {
          '@type': 'AggregateOffer',
          lowPrice: (Math.min(...product.variants.map(v => v.priceInCents)) / 100).toFixed(2),
          highPrice: (Math.max(...product.variants.map(v => v.priceInCents)) / 100).toFixed(2),
          priceCurrency: 'USD',
          offerCount: product.variants.length,
        },
    ...(reviews.count > 0 ? {
      aggregateRating: {
        '@type': 'AggregateRating',
        ratingValue: reviews.average.toFixed(1),
        reviewCount: reviews.count,
        bestRating: '5',
      },
    } : {}),
  };
}

For canonical URL handling on variant pages — strip variant parameters:

// Always use the base product URL as canonical
// /products/blue-widget?variant=123 → canonical: /products/blue-widget
function getCanonicalUrl(path: string): string {
  // Strip variant query parameters
  return `https://yourstore.com${path.split('?')[0]}`;
}

For large catalogs (10k+ products), use a sitemap index:

// Serve /sitemap.xml as a sitemap index pointing to paginated product sitemaps
// Each child sitemap: max 50,000 URLs
// Regenerate every 6 hours or on product publish/unpublish events

Step 3: Optimize product titles and descriptions

This is the highest-ROI SEO work. Follow these title formats:

  • Product title format: [Brand] [Product Name] [Key Attribute] - [Store Name]
    • Example: "Nike Air Max 90 White - Running Store"
  • Meta description format: Include price range, key benefit, and CTA in 150–160 characters
    • Example: "Shop Nike Air Max 90 from $120. Lightweight cushioning for daily runs. Free shipping on orders over $75. Shop now."

Common issues to fix:

  • Duplicate meta titles across variants (fix: add variant-specific attributes to the title)
  • Meta descriptions that are just the product description truncated (fix: write purposeful descriptions)
  • Missing alt text on product images (fix: use [Product Name] - [Color/View] format)

Step 4: Handle technical SEO issues

Canonical URLs for filter pages:

  • Collection pages with active filters (/collections/shoes?color=red) should use self-referencing canonicals
  • Pages with sort order only (/collections/shoes?sort=price-asc) should canonical back to the unfiltered collection URL

In Shopify, this is handled automatically. In WooCommerce with Yoast, go to Yoast SEO → Search Appearance → Taxonomies and configure canonical behavior for filtered pages.

Robots.txt — block these paths:

  • /cart and /checkout — not indexable
  • /account and /search? — not indexable
  • Collection filter combinations with 3+ active filters — use noindex, follow meta tag

In Shopify: Online Store → Themes → Edit Code → robots.txt.liquid In WooCommerce: Yoast SEO manages robots.txt automatically

Step 5: Verify with Google tools

  1. Google Rich Results Test (search.google.com/test/rich-results): paste any product URL and verify structured data is correct
  2. Google Search Console: check for structured data errors under Enhancements → Products
  3. PageSpeed Insights: test Core Web Vitals — target LCP under 2.5 seconds, CLS under 0.1

Best Practices

  • Write unique meta descriptions for every product — avoid duplicating the product title; include key attributes (size, material, price) that help click-through rate
  • Compress and properly size product images — oversized images are the #1 cause of slow LCP scores; Shopify compresses automatically; WooCommerce use ShortPixel or Imagify plugin
  • Use JSON-LD over microdata — easier to maintain and Google recommends it
  • Set canonical URLs on every page — self-referencing canonicals prevent duplicate content from URL parameters
  • Update sitemaps automatically — Shopify and WooCommerce + Yoast do this; for custom builds, regenerate on product publish/unpublish events
  • Add image sitemaps — include product images with descriptive alt text for Google Image search traffic

Common Pitfalls

ProblemSolution
Products not appearing in Google Shopping rich resultsCheck Google Search Console → Enhancements → Products for structured data errors; use Rich Results Test to validate
Faceted navigation creating millions of indexable URLsShopify/WooCommerce handle this automatically with canonicals; for custom builds, use noindex, follow on heavily filtered pages
Out-of-stock products returning 404Keep the page live at 200 status; show "out of stock" and suggest alternatives; remove from sitemap only if permanently discontinued
Schema.org validation errorsTest with Google's Rich Results Test; ensure price and availability are always present and correctly formatted
Slow Core Web Vitals hurting rankingPreload hero images, compress product images, use lazy loading below fold; Shopify's CDN helps significantly

Related Skills

  • @google-shopping-feed
  • @google-ads-ecommerce
  • @content-commerce
  • @social-proof-widgets

Not using the CLI? Copy the SKILL.md and paste it straight into ChatGPT, Claude, or any agent.

Install into your agent

$ npx skills add https://github.com/finsilabs/awesome-ecommerce-skills --skill ecommerce-seo -a claude-code

More in Programmatic SEO

Programmatic SEOcoreyhaines31/marketingskills

Programmatic SEO

Create SEO-driven pages at scale using templates and data.

138.8K installs
Programmatic SEOagricidaniel/claude-seo

SEO Programmatic

Programmatic SEO planning and analysis for pages generated at scale from data sources.

5.9K installs
Programmatic SEOagricidaniel/claude-seo

SEO Ecommerce

Analyze ecommerce SEO across product pages, product schema, Shopping visibility, marketplace signals, and keyword gaps.

5.3K installs
Programmatic SEOaffilino/ecommerce-seo-audit-skill

Ecommerce SEO Audit

Comprehensive ecommerce SEO audit for product pages, collection pages, technical SEO, log file analysis, and competitor research.

833 installs
Programmatic SEOseoskills.sh

Faceted Navigation Index Planner

Decides, facet by facet, whether filter URLs should be indexed, canonicalized, noindexed or blocked, from search demand, crawl logs and index status.

New
Programmatic SEOseoskills.sh

Product Feed SEO Optimizer

Audits a Google Merchant product feed for titles, attributes and valid GTINs, checks disapprovals, and returns per-product fixes and Product schema.

New