DEV Community

Joseph Anady
Joseph Anady

Posted on • Originally published at thatdevpro.com

E-commerce SEO

Originally published at thatdevpro.com. This framework reference is part of the 14-tier Engine Optimization stack from ThatDevPro, an SDVOSB-certified veteran-owned web + AI engineering studio. You are reading the dev.to mirror; the source-of-truth canonical version with embedded validation tools lives at the link above.

Product Schema, Faceted Navigation, Shopping Graph, Merchant Center, Category Architecture, and the Complete E-commerce Search Optimization Stack

A comprehensive installation and audit reference for e-commerce SEO — the discipline of optimizing online stores for product, category, and brand queries across organic search, Google Shopping, AI-powered shopping experiences, and emerging conversational commerce. Dual-purpose: installation manual and audit document.

Cross-stack implementation note: the code samples in this framework are written in plain HTML for clarity. For React, Vue, Svelte, Next.js, Nuxt, SvelteKit, Astro, Hugo, 11ty, Remix, WordPress, Shopify, and Webflow equivalents of every pattern below, see framework-cross-stack-implementation.md. For pure client-rendered SPAs (no SSR/SSG) see framework-react.md. For Tailwind-specific concerns (purge, dynamic classes, dark-mode CLS, focus accessibility) see framework-tailwind.md.


1. Document Purpose

E-commerce SEO has unique requirements distinct from content or service-business SEO. Product catalogs create scale problems (thousands to millions of pages). Faceted navigation creates infinite URL combinations. Out-of-stock products create indexing decisions. Reviews drive conversions but require careful handling. Shopping Graph integration via Merchant Center creates parallel paths. Schema requirements are exacting. AI-powered shopping is reshaping discovery.

In 2026, e-commerce SEO encompasses:

  • Traditional product page rankings
  • Category page rankings (often higher commercial intent)
  • Google Shopping (free organic listings + paid)
  • Shopping Graph integration via Merchant Center
  • AI engine product extraction (ChatGPT shopping, Perplexity commerce)
  • Conversational commerce (Google's "Shop with AI" features)
  • Image search for product discovery
  • Video for product demonstration
  • Local inventory ads for brick-and-mortar

This framework specifies optimization across all dimensions.

1.1 Required Tools

  • Google Merchant Centermerchants.google.com
  • Google Search Console — Performance > Search type: Shopping tab
  • Bing Merchant Center — for Bing Shopping
  • Schema validators — Rich Results Test for Product schema
  • Crawler with e-commerce focus — Screaming Frog with custom extraction
  • Inventory management — varies by platform
  • Review platforms — Yotpo, Trustpilot, Bazaarvoice, native platform reviews

2. Client Variables Intake

ecommerce_intake:

  platform: ""                          # shopify, woocommerce, magento, bigcommerce, custom
  total_products: 0
  total_categories: 0
  product_uniqueness: ""                # unique_products, dropshipping_catalog, mixed

  catalog_pattern:
    has_variants: false                  # color, size, etc. variations
    has_bundles: false
    has_subscriptions: false
    has_digital_products: false
    has_marketplace_sellers: false

  pricing:
    currency: ""
    international_pricing: false
    sales_and_promotions: false

  inventory:
    real_time_stock_tracking: false
    out_of_stock_handling: ""           # noindex, redirect, replacement, in_stock_alert
    backorders_supported: false

  reviews:
    has_reviews_system: false
    review_platform: ""
    average_review_rating: 0.0
    total_reviews: 0
    review_schema_implemented: false

  shopping_integrations:
    google_merchant_center: false
    bing_merchant_center: false
    facebook_shop: false
    instagram_shopping: false
    pinterest_shopping: false
    amazon: false                        # if also selling there

  faceted_navigation:
    facets: []                           # color, size, brand, price_range, rating, etc.
    facet_handling_strategy: ""          # selective_indexing, canonical_to_main, robots_block

  international:
    sells_internationally: false
    countries_served: []
    currencies_supported: []
    languages_supported: []
Enter fullscreen mode Exit fullscreen mode

3. Product Page Optimization

Product pages are the foundation. Each must optimize for:

  • Specific product queries
  • Long-tail variant queries
  • Comparison queries
  • Image search
  • Shopping Graph

3.1 Product Page Structure

<main itemscope itemtype="https://schema.org/Product">
  <!-- Breadcrumb -->
  <nav aria-label="Breadcrumb">
    <ol>
      <li><a href="/">Home</a></li>
      <li><a href="/category/">Category</a></li>
      <li>Product Name</li>
    </ol>
  </nav>

  <!-- Main product info -->
  <header>
    <h1 itemprop="name">Product Name</h1>
    <div class="price" itemprop="offers" itemscope itemtype="https://schema.org/Offer">
      <span itemprop="price">29.99</span>
      <meta itemprop="priceCurrency" content="USD">
      <link itemprop="availability" href="https://schema.org/InStock">
    </div>
    <div class="rating" itemprop="aggregateRating" itemscope itemtype="https://schema.org/AggregateRating">
      <span itemprop="ratingValue">4.7</span>
      ★ (<span itemprop="reviewCount">127</span> reviews)
    </div>
  </header>

  <!-- Product imagery -->
  <section class="product-images">
    <img itemprop="image" src="/products/main-1200.webp" 
         alt="Product Name in primary color from main angle"
         srcset="/products/main-400.webp 400w, /products/main-800.webp 800w, /products/main-1200.webp 1200w"
         sizes="(max-width: 768px) 100vw, 50vw">
    <!-- Additional angle images -->
  </section>

  <!-- Product description -->
  <section itemprop="description">
    <h2>About this product</h2>
    <p>Substantive description with specifications, use cases, materials, and benefits.</p>
  </section>

  <!-- Product specifications -->
  <section class="specifications">
    <h2>Specifications</h2>
    <dl>
      <dt>Brand</dt>
      <dd itemprop="brand">Brand Name</dd>
      <dt>SKU</dt>
      <dd itemprop="sku">SKU-001</dd>
      <dt>MPN</dt>
      <dd itemprop="mpn">MFG-001</dd>
      <dt>Material</dt>
      <dd>Specific material</dd>
    </dl>
  </section>

  <!-- Variants -->
  <section class="variants">
    <h2>Choose options</h2>
    <!-- Size, color, etc. selectors -->
  </section>

  <!-- Reviews -->
  <section class="reviews">
    <h2>Customer Reviews (127)</h2>
    <!-- Individual review listings with Review schema -->
  </section>

  <!-- Related products -->
  <section class="related">
    <h2>You might also like</h2>
    <!-- Related product listings -->
  </section>

  <!-- Q&A -->
  <section class="qa">
    <h2>Questions and Answers</h2>
    <!-- Q&A with Question/Answer schema -->
  </section>
</main>
Enter fullscreen mode Exit fullscreen mode

3.2 Product Schema (Comprehensive)

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "@id": "https://example.com/products/widget/#product",
  "name": "Premium Widget",
  "description": "Comprehensive 500-1000 character description focusing on what the product is, what it's for, and key differentiators.",
  "image": [
    "https://example.com/products/widget-1x1.jpg",
    "https://example.com/products/widget-4x3.jpg",
    "https://example.com/products/widget-16x9.jpg"
  ],
  "brand": {
    "@type": "Brand",
    "name": "BrandName",
    "logo": "https://example.com/brand-logo.png"
  },
  "manufacturer": {
    "@type": "Organization",
    "name": "Manufacturer Name"
  },
  "sku": "WID-001",
  "mpn": "MFG-WID-001",
  "gtin13": "1234567890123",
  "color": "Blue",
  "material": "Stainless Steel",
  "size": "Large",
  "weight": {
    "@type": "QuantitativeValue",
    "value": 1.5,
    "unitCode": "KGM"
  },
  "offers": {
    "@type": "Offer",
    "url": "https://example.com/products/widget/",
    "priceCurrency": "USD",
    "price": "29.99",
    "priceValidUntil": "2026-12-31",
    "availability": "https://schema.org/InStock",
    "itemCondition": "https://schema.org/NewCondition",
    "seller": {"@id": "https://example.com/#organization"},
    "shippingDetails": {
      "@type": "OfferShippingDetails",
      "shippingRate": {
        "@type": "MonetaryAmount",
        "value": 5.00,
        "currency": "USD"
      },
      "shippingDestination": {
        "@type": "DefinedRegion",
        "addressCountry": "US"
      },
      "deliveryTime": {
        "@type": "ShippingDeliveryTime",
        "handlingTime": {
          "@type": "QuantitativeValue",
          "minValue": 0,
          "maxValue": 1,
          "unitCode": "DAY"
        },
        "transitTime": {
          "@type": "QuantitativeValue",
          "minValue": 2,
          "maxValue": 5,
          "unitCode": "DAY"
        }
      }
    },
    "hasMerchantReturnPolicy": {
      "@type": "MerchantReturnPolicy",
      "applicableCountry": "US",
      "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
      "merchantReturnDays": 30,
      "returnMethod": "https://schema.org/ReturnByMail",
      "returnFees": "https://schema.org/FreeReturn"
    }
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.7",
    "reviewCount": "127",
    "bestRating": "5",
    "worstRating": "1"
  },
  "review": [
    {
      "@type": "Review",
      "author": {"@type": "Person", "name": "Customer Name"},
      "datePublished": "2026-04-15",
      "reviewBody": "Detailed review text from actual customer.",
      "reviewRating": {
        "@type": "Rating",
        "ratingValue": "5"
      }
    }
  ]
}
</script>
Enter fullscreen mode Exit fullscreen mode

3.3 Product Variants

For products with variants (color, size, etc.):

Pattern A: Single page with variant selectors

  • One URL, JavaScript switches between variants
  • Single canonical for the product
  • Schema can include all variants via hasVariant
  • Simpler architecture but variant queries may not capture

Pattern B: Variant-specific URLs

  • Each variant has own URL (/widget/blue-large/, /widget/red-small/)
  • Each has own schema and content
  • Captures variant-specific queries
  • More architecture complexity

Pattern C: Hybrid

  • Main product page with default variant
  • Variant URLs canonical to main when not search-distinct
  • Variant URLs separate when they have search demand

For Pattern B/C, use hasVariant/isVariantOf:

{
  "@type": "Product",
  "@id": "https://example.com/products/widget-blue-large/",
  "name": "Widget — Blue, Large",
  "isVariantOf": {
    "@type": "ProductGroup",
    "@id": "https://example.com/products/widget/",
    "productGroupID": "WIDGET-FAMILY"
  },
  "color": "Blue",
  "size": "Large"
}
Enter fullscreen mode Exit fullscreen mode

3.4 Out-of-Stock Handling

Critical decision: what happens to product pages when out of stock?

Option A: Keep page indexed with availability change

"availability": "https://schema.org/OutOfStock"
Enter fullscreen mode Exit fullscreen mode

Best for: Products coming back in stock soon. Allows Google to surface alternatives via "similar items."

Option B: Replace with similar product redirect

301 to most similar in-stock product. Best for: Permanently discontinued products.

Option C: Show "out of stock" with notify-when-available

Maintain page with email signup. Schema shows OutOfStock. Best for: Seasonal or restocking products.

Option D: 404 / 410

Best for: Truly retired products with no replacement. Use sparingly to avoid link equity loss.

Anti-pattern: Showing 404 for temporarily out-of-stock products. Loses long-term equity.


4. Category Page Optimization

Category pages often have higher commercial intent than product pages and rank for higher-volume queries.

4.1 Category Page Structure

<main>
  <header>
    <h1>Running Shoes</h1>
    <p class="category-intro">{{200-400 word substantive introduction to the category}}</p>
  </header>

  <!-- Faceted navigation -->
  <aside class="filters">
    <!-- Brand, size, price, color, etc. filters -->
  </aside>

  <!-- Product grid -->
  <section class="products">
    <!-- Product cards with brief schema each -->
  </section>

  <!-- Pagination -->
  <nav class="pagination">
    <!-- Page links -->
  </nav>

  <!-- Buying guide / supporting content -->
  <section class="buying-guide">
    <h2>How to choose running shoes</h2>
    <p>{{Substantial content helping users decide}}</p>
  </section>

  <!-- Related categories -->
  <section class="related-categories">
    <h2>Related Categories</h2>
    <ul>
      <li><a href="/trail-running-shoes/">Trail Running Shoes</a></li>
      <li><a href="/running-apparel/">Running Apparel</a></li>
    </ul>
  </section>

  <!-- FAQ -->
  <section class="faq">
    <h2>Frequently Asked Questions</h2>
    <!-- FAQ schema markup -->
  </section>
</main>
Enter fullscreen mode Exit fullscreen mode

4.2 Category Schema

{
  "@context": "https://schema.org",
  "@type": "CollectionPage",
  "name": "Running Shoes",
  "description": "Browse running shoes from top brands.",
  "url": "https://example.com/running-shoes/",
  "mainEntity": {
    "@type": "ItemList",
    "numberOfItems": 247,
    "itemListElement": [
      {
        "@type": "ListItem",
        "position": 1,
        "url": "https://example.com/products/runner-pro/"
      }
      // ... more items
    ]
  },
  "breadcrumb": {
    "@type": "BreadcrumbList",
    "itemListElement": [...]
  }
}
Enter fullscreen mode Exit fullscreen mode

4.3 Category Content Strategy

Category pages often compete with editorial content for category-level queries. To win:

  • Substantive introductory content (200-400+ words)
  • Buying guide content within category page
  • FAQ section addressing common questions
  • Related category cross-linking
  • Breadcrumb hierarchy clear
  • Internal links to top sub-categories

5. Faceted Navigation

The hardest e-commerce SEO problem. See framework-technicalseo.md Section 11 for foundations.

5.1 The Problem

A category with 5 facets × 5 values each = 5^5 = 3,125 URL combinations per category. With 100 categories, that's 312,500 URLs. Most have:

  • Tiny search demand
  • Duplicate or near-duplicate content
  • Crawl budget burden
  • Doorway page risk

5.2 Faceted Navigation Strategy Tiers

Tier 1: Selectively indexed combinations

High-value facet combinations get their own indexed pages:

  • /running-shoes/men/ (gender as primary facet)
  • /running-shoes/nike/ (brand)
  • /running-shoes/under-100/ (price range)
  • /running-shoes/red/ (color)

These pages have:

  • Self-referencing canonical
  • Substantive content
  • Indexable
  • Listed in sitemap

Tier 2: Canonical to base category

Combinations without significant search demand:

  • /running-shoes/?color=red&size=10&brand=nike&price=under-100
  • Canonical to /running-shoes/
  • Still functional for users
  • Not indexed separately

Tier 3: Robots-blocked combinations

Truly long-tail with crawl budget concerns:

  • Multi-facet combinations beyond Tier 2
  • Robots-blocked entirely

5.3 Implementation

<!-- On selectively-indexed page /running-shoes/red/ -->
<link rel="canonical" href="https://example.com/running-shoes/red/">

<!-- On long-tail combination /running-shoes/?color=red&size=10&brand=nike -->
<link rel="canonical" href="https://example.com/running-shoes/">
<meta name="robots" content="noindex,follow">
Enter fullscreen mode Exit fullscreen mode
# robots.txt — block deep facet combinations
User-agent: *
Disallow: /*?*facet1=*&*facet2=*&*facet3=*
Enter fullscreen mode Exit fullscreen mode

5.4 Pagination Within Categories

For paginated category pages:

  • Each page has own indexable URL (/running-shoes/page/2/)
  • Self-referencing canonical
  • Internal linking from page 1 to page 2 to page 3
  • All in sitemap

6. Google Merchant Center

Merchant Center provides the data feed enabling Google Shopping (free and paid listings).

6.1 Setup

merchant_center_setup:
  - Create Merchant Center account at merchants.google.com
  - Verify business
  - Verify website ownership (HTML upload, meta tag, GA4, GTM, or DNS)
  - Set up tax and shipping settings
  - Submit product feed
  - Wait for product approval
  - Connect to Google Ads if running paid Shopping
Enter fullscreen mode Exit fullscreen mode

6.2 Product Feed

The product feed provides product data to Google. Methods:

Method A: Manual file upload

  • CSV or XML file
  • Updated periodically (daily for active inventory)
  • Best for: Small catalogs (< 1,000 products)

Method B: Scheduled fetch

  • Google fetches feed from URL on schedule
  • Best for: Medium catalogs with stable structure

Method C: Content API

  • Programmatic submission
  • Real-time updates
  • Best for: Large catalogs with frequent inventory changes

Method D: Platform integration

  • Shopify, WooCommerce, BigCommerce often have built-in or app-based MC integration
  • Recommended where available

6.3 Required Feed Attributes

required_feed_fields:
  id: "Unique product identifier"
  title: "Product title (matches site)"
  description: "Product description"
  link: "Product page URL"
  image_link: "Main product image URL"
  availability: "in stock | out of stock | preorder | backorder"
  price: "29.99 USD"
  brand: "Brand name"

required_for_eligibility:
  gtin: "Global Trade Item Number (UPC, EAN, etc.)  required for branded products"
  mpn: "Manufacturer Part Number  required if no GTIN"

recommended:
  product_type: "Category hierarchy"
  google_product_category: "Google's category taxonomy"
  condition: "new | refurbished | used"
  shipping: "Shipping cost details"
  shipping_weight: "Weight for shipping calculation"
  size: "If applicable"
  color: "If applicable"
  material: "If applicable"
  pattern: "If applicable"
  age_group: "newborn | infant | toddler | kids | adult"
  gender: "If applicable"
  custom_label_0 through custom_label_4: "For Shopping campaign segmentation"
Enter fullscreen mode Exit fullscreen mode

6.4 Free vs Paid Listings

Free listings: Products approved in Merchant Center appear in Shopping tab and other surfaces organically.

Paid listings (Shopping ads): Products in Google Ads Shopping campaigns appear in main SERP and Shopping with promoted positioning.

Both benefit from:

  • High-quality product data
  • Accurate pricing
  • Real inventory status
  • Schema match with feed
  • Reviews if applicable

7. Product Reviews

Reviews drive conversions and rankings. Implementation matters.

7.1 Review Acquisition

See framework-localseo.md Section 6 for review system fundamentals (FTC compliance, review gating prohibition, etc.). Same principles apply with e-commerce specifics:

  • Post-purchase email request (1-2 weeks after delivery)
  • In-package card with QR code
  • Email automation tied to fulfillment
  • Comply with FTC October 2024 final rule (no incentivizing for reviews)
  • Don't gate reviews

7.2 Review Schema

<script type="application/ld+json">
{
  "@type": "Product",
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.7",
    "reviewCount": "127"
  },
  "review": [
    {
      "@type": "Review",
      "author": {"@type": "Person", "name": "Customer Name"},
      "datePublished": "2026-04-15",
      "reviewBody": "Genuine review text.",
      "reviewRating": {
        "@type": "Rating",
        "ratingValue": "5",
        "bestRating": "5",
        "worstRating": "1"
      }
    }
  ]
}
</script>
Enter fullscreen mode Exit fullscreen mode

Critical: Review schema must reflect actual visible reviews on the page. Fabricated review schema is a manual action trigger.

7.3 Review Display

  • Display all review ratings (don't hide low ones)
  • Show review distribution (1-5 stars)
  • Allow review filtering by rating
  • Allow sorting (most recent, most helpful)
  • Let users mark reviews helpful
  • Verified purchase badges where applicable
  • Owner responses to negative reviews

7.4 Review Aggregation Across Variants

For products with variants, decisions:

  • Aggregate all variants into one review pool — typical, but loses variant-specific feedback
  • Show variant-specific reviews when filtering — better UX
  • Schema reviews on parent product — maintains aggregate authority

8. Stack-Specific Implementation

8.1 Shopify

shopify_ecommerce_seo:

  built_in_features:
    - Auto-generated XML sitemap
    - Auto-generated product schema (basic)
    - Mobile-responsive themes
    - HTTPS by default

  optimizations_to_implement:
    - Custom theme schema (more comprehensive than default)
    - SEO apps: Smart SEO, JSON-LD for SEO, SEO Manager
    - Image optimization apps (Plug in SEO, Crush.pics)
    - Review apps: Yotpo, Judge.me, Stamped.io
    - URL structure: avoid /products/ prefix where possible (Shopify limitation)

  faceted_navigation:
    shopify_pattern: "Filter pages have ?filter=value parameters"
    optimization: "Use selective indexing via Shopify Search & Discovery app"
    or: "Custom theme with curated facet pages"

  google_merchant_center:
    method: "Google Channel app (official integration)"
    or: "Third-party feed apps (Simprosys, Feed for Google Shopping)"

  performance:
    common_issues: "App bloat, theme bloat, image weight"
    solutions: "Audit installed apps, optimize theme, use Shopify image transformations"
Enter fullscreen mode Exit fullscreen mode

8.2 WooCommerce

woocommerce_ecommerce_seo:

  recommended_plugins:
    - "Rank Math Pro (e-commerce module)"
    - "Yoast SEO Premium with WooCommerce SEO add-on"
    - "Schema Pro for advanced schema"
    - "Yotpo or Judge.me for reviews"

  schema_implementation:
    - Rank Math/Yoast handle Product schema
    - May need custom code for shipping schema additions
    - Review schema via review plugin

  faceted_navigation:
    common_pattern: "WooCommerce filtering creates ?filter_attribute=value URLs"
    plugins: "WooCommerce Filter, Product Filters, Aelia"
    seo_handling: "Selective indexing strategy required"

  performance:
    issues: "WooCommerce + heavy theme + many plugins = slow"
    solutions: "Lightweight theme (Astra Pro, GeneratePress), object cache (Redis), CDN"

  google_merchant_center:
    plugins: "Google Listings & Ads (official), CTX Feed, Product Feed Pro"
Enter fullscreen mode Exit fullscreen mode

8.3 BigCommerce / Magento / Custom

bigcommerce:
  - Built-in schema generally good
  - Native Google Shopping integration
  - Performance generally solid
  - Custom theme work for advanced SEO

magento:
  - Powerful but complex
  - Requires extension for comprehensive SEO (Mageplaza, Yotpo, etc.)
  - Performance optimization critical
  - Multi-site complexity

custom:
  - Full control over SEO implementation
  - Build comprehensive schema from scratch
  - Implement faceted navigation strategy
  - Manage feed for Merchant Center
Enter fullscreen mode Exit fullscreen mode

9. International E-commerce

For e-commerce serving multiple countries:

9.1 URL Structure

See framework-international.md Section 2 for foundations. E-commerce specifics:

  • ccTLDs: Strongest signal but most expensive
  • Subfolders with hreflang: Most common, cost-effective
  • Subdomains: Less common for e-commerce specifically

9.2 Currency and Pricing

<!-- Per region/locale -->
<span class="price" itemprop="price">29.99</span>
<meta itemprop="priceCurrency" content="USD">

<!-- For UK version -->
<span class="price" itemprop="price">23.99</span>
<meta itemprop="priceCurrency" content="GBP">
Enter fullscreen mode Exit fullscreen mode

Each locale should have its own product schema with appropriate currency.

9.3 International Shipping in Schema

"shippingDetails": {
  "@type": "OfferShippingDetails",
  "shippingDestination": [
    {"@type": "DefinedRegion", "addressCountry": "US"},
    {"@type": "DefinedRegion", "addressCountry": "CA"}
  ]
}
Enter fullscreen mode Exit fullscreen mode

10. Audit Mode

# Criterion Pass/Fail
EC1 Product schema implemented across catalog
EC2 All required Product fields populated
EC3 GTIN/MPN provided for branded products
EC4 Shipping and returns schema present
EC5 Aggregate rating reflects actual reviews
EC6 Out-of-stock handling defined and consistent
EC7 Product variants handled correctly
EC8 Category pages have substantive content
EC9 Faceted navigation strategy implemented
EC10 Faceted URL canonicalization correct
EC11 Pagination handled with self-canonicals
EC12 Google Merchant Center connected with feed
EC13 Bing Merchant Center connected (optional)
EC14 Review system FTC compliant
EC15 Review schema validated
EC16 Image optimization (modern formats, responsive)
EC17 International SEO implemented (if applicable)
EC18 Performance optimized for product pages
EC19 Mobile-friendly verified
EC20 Internal linking surfaces top products

Score: 20. World-class e-commerce SEO: 18+/20.


11. Common Mistakes

  1. Auto-generated thin product descriptions — manufacturer content duplicated across thousands of sites
  2. Ignoring out-of-stock — pages return 404 or have stale OutOfStock with no recovery
  3. Faceted navigation explosion — every facet combination indexed, crawl budget destroyed
  4. No GTIN in feed — products rejected from Merchant Center
  5. Review schema without actual reviews — manual action trigger
  6. Variant strategy mismatch with search demand — missing or capturing wrong queries
  7. Category pages with no content — just product grid, no introductory or buying guide content
  8. Heavy product page — too many images, scripts, third-parties slowing page
  9. Inconsistent pricing across schema and page — Merchant Center disapproval
  10. No internationalization — selling globally with single-region SEO

End of Framework Document

Document version: 1.0

Companion documents:

  • framework-schema.md — Product schema details
  • framework-imageseo.md — Product image optimization
  • framework-localseo.md — Local inventory and review system
  • framework-international.md — Multi-region e-commerce
  • framework-technicalseo.md — Faceted navigation foundations

From the ThatDevPro Engine Optimization framework library. Studio: ThatDevPro (SDVOSB veteran-owned web + AI engineering). Sister property: ThatDeveloperGuy. Source: https://www.thatdevpro.com/insights/framework-ecommerceseo/.

Top comments (0)