Skip to main content

Commerce SEO & Performance Transformation

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

Context

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

Symptoms

The client approached us with:

  • 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. HTTP/2 Server Push

Configured Nginx:

location / {
    http2_push /css/critical.css;
    http2_push /js/main.js;
}

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.