Skip to main content

Commerce SEO & Performance Transformation

2 min read Feb 20, 2026
Case Study Commerce SEO Performance

Client details and platform specifics are anonymized.

Context

Client: Mid-market commerce brand
Platform: PHP-based commerce platform
Industry: B2C E-commerce
Timeline: 8 weeks

Symptoms

The audit started with four reported symptoms:

  • Organic traffic plateau (flat for 6 months)
  • 300+ pages with "Crawled – currently not indexed"
  • LCP scores 4.5–5.5s (mobile)
  • Low conversion rate on mobile

Findings

SEO Issues

  1. Canonical conflicts on category pages with filters
  2. Duplicate content from layered navigation
  3. Crawl budget waste on parameter URLs
  4. Missing structured data (Product schema incomplete)

Performance Issues

  1. Page Builder overuse on CMS pages
  2. Unoptimized images (JPEG, 800KB average)
  3. Render-blocking CSS (12 external stylesheets)
  4. No HTTP/2 push for critical resources

Changes

SEO Fixes

1. Canonical Strategy

Updated category canonical tags to exclude parameters:

// app/code/Custom/Seo/Block/Category.php
public function getCanonicalUrl()
{
    $url = $this->getUrl('*/*/*', ['_current' => true, '_use_rewrite' => true]);
    return strtok($url, '?'); // Remove query params
}

2. Robots.txt Optimization

User-agent: *
Disallow: /*?price=
Disallow: /*?color=
Disallow: /*?*&*
Disallow: /checkout/
Allow: /

3. Product Schema Enhancement

Added missing fields:

{
    "@type": "Product",
    "aggregateRating": {
        "@type": "AggregateRating",
        "ratingValue": "4.5",
        "reviewCount": "127"
    },
    "offers": {
        "@type": "Offer",
        "availability": "InStock",
        "priceValidUntil": "2026-12-31"
    }
}

Performance Fixes

1. Image Optimization

Converted all images to WebP:

find pub/media -name "*.jpg" -exec cwebp {} -o {}.webp \;

Implemented lazy loading:

<img src="product.webp" loading="lazy" width="800" height="800">

2. Critical CSS Inlining

Extracted critical CSS (12KB) and inlined it in <head>.

Deferred non-critical CSS:

<link rel="preload" href="styles.css" as="style" onload="this.rel='stylesheet'">

3. Resource Hints for Critical Assets

Added <link rel="preload"> for critical CSS and fonts in the document head to unblock rendering:

<link rel="preload" href="/css/critical.css" as="style">
<link rel="preload" href="/fonts/primary.woff2" as="font" type="font/woff2" crossorigin>

Outcome

SEO Results (8 weeks)

  • Indexed pages: +280 pages
  • Organic traffic: +340%
  • Keyword rankings: 45 keywords in top 10 (up from 12)

Performance Results

  • LCP (mobile): 5.2s → 2.0s (-62%)
  • CLS: 0.18 → 0.05
  • FID: 120ms → 45ms

Business Impact

  • Mobile conversion rate: +28%
  • Bounce rate: -19%
  • Revenue from organic: +185%

Next Steps

  1. Implement A/B testing on product pages
  2. Expand structured data to more schema types
  3. Monitor Core Web Vitals monthly
  4. Continue content optimization

Conclusion

Combining SEO and performance fixes creates compound improvements. Commerce sites need both to compete effectively in organic search.