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
- Canonical conflicts on category pages with filters
- Duplicate content from layered navigation
- Crawl budget waste on parameter URLs
- Missing structured data (Product schema incomplete)
Performance Issues
- Page Builder overuse on CMS pages
- Unoptimized images (JPEG, 800KB average)
- Render-blocking CSS (12 external stylesheets)
- 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
- Implement A/B testing on product pages
- Expand structured data to more schema types
- Monitor Core Web Vitals monthly
- Continue content optimization
Conclusion
Combining SEO and performance fixes creates compound improvements. Commerce sites need both to compete effectively in organic search.