Field notes
WooCommerce Performance: Fixing Slow WordPress Stores
December 5, 2025
WooCommerce has a reputation for being slow. The reputation is often deserved, but it is almost always fixable. A well-configured WooCommerce store on proper hosting can load faster than most Shopify stores. A poorly configured one on shared hosting can take 8 seconds.
Here is what actually matters, in order.
1. Hosting (the single biggest lever)
If your WooCommerce store is on GoDaddy, Bluehost, HostGator, or any shared hosting plan under $15 per month, you are starting from a losing position. No amount of plugin optimization will fix bad hosting.
Recommended hosts for WooCommerce in 2026:
- Cloudways (Vultr High Frequency or DigitalOcean): $25 to $60 per month. Flexible, well-tuned for Woo.
- Rocket.net: $30 per month entry. Managed, Cloudflare Enterprise included.
- Kinsta: $35 per month entry. Managed, Google Cloud Platform.
- WP Engine: $30 per month entry. Managed, good for non-technical owners.
Avoid:
- GoDaddy Managed WordPress
- Bluehost WooCommerce plans (WP Engine-owned, actually okay, but their shared plans are not)
- Shared hosting of any kind for any store doing real volume
Moving from shared hosting to Cloudways Vultr HF typically cuts TTFB from 800ms to 200ms. That alone improves LCP by 600ms.
2. Caching (do not skip this)
WooCommerce has specific caching needs because cart and account pages must never be cached. Use one of these setups.
WP Rocket ($59/year): easiest, strong WooCommerce-aware defaults, handles dynamic pages properly.
FlyingPress ($60/year): leaner than WP Rocket, more focused on Core Web Vitals. Good for stores with limited plugin stacks.
LiteSpeed Cache (free, but requires LiteSpeed server): best performance if your host runs LiteSpeed. Cloudways and some others do.
Do not use: W3 Total Cache (outdated), WP Super Cache (underpowered for Woo), or stacked caching plugins (only run one).
Configure cache exclusions for /cart/, /checkout/, /my-account/, and any customer-specific pages. Most cache plugins set these by default but check.
3. Image optimization
Same principles as Shopify, different tooling.
Use an image optimization plugin: ShortPixel, Imagify, or Smush Pro. They convert uploads to WebP/AVIF and serve the right format per browser.
Resize at upload. Hero images: max 1600px. Collection tiles: max 1200px. Product gallery: max 2000px for zoom.
Lazy load below-fold images. All modern WordPress versions lazy-load natively. Verify it is working.
Preload the LCP image. Add a <link rel="preload"> for your hero image. WP Rocket handles this automatically for the above-fold image with its lazy-load settings.
Expected impact: same 15 to 40 percent LCP improvement as Shopify.
4. Plugin audit
This is where most WooCommerce stores die. Plugins accumulate. Each one adds CSS, JS, and database queries.
Target: under 25 active plugins for a typical boutique store. Anything above 40 is a warning sign. Anything above 60 is a train wreck.
Plugins to question:
- Page builders (Elementor, Divi): enormous CSS/JS payload. Necessary if you need visual editing, harmful if not.
- Popup plugins (PopupPress, OptinMonster): consolidate to one.
- Security plugins: Wordfence is heavy. iThemes Security is lighter. Many hosts provide security at the server level, making plugin redundant.
- Backup plugins: should run at the host level, not plugin level, where possible.
- Analytics plugins: use GTM, not a WordPress-side plugin.
Delete anything unused. For anything active, check whether it loads conditionally or on every page.
Query Monitor plugin (free, dev tool) will show you exactly which plugins are slow. Install it on a staging site, load a product page, see which plugins are eating milliseconds.
Expected impact: 10 to 30 percent faster page loads after plugin cleanup.
5. Database optimization
WordPress databases accumulate bloat. Revisions, transients, spam comments, orphaned metadata.
Clean revisions: add define('WP_POST_REVISIONS', 3); to wp-config.php to limit revisions to 3 per post.
Delete transients: WP-Optimize or similar plugin. Transients are cached data that WordPress forgets to clean up.
Optimize database tables: monthly or quarterly. Most caching plugins include this.
Clean order data: WooCommerce HPOS (High-Performance Order Storage) is enabled by default on new installs since 2024. If your store predates HPOS, migrate to it. 10x query speed on order-related pages.
Expected impact: 5 to 15 percent improvement in TTFB.
6. CDN and edge caching
Put Cloudflare in front of your site. Free tier is enough for most boutique stores. The Pro tier ($20/month) adds image optimization (Polish) and mobile-specific features.
Cloudflare's APO (Automatic Platform Optimization) for WordPress is $5/month and edge-caches your HTML, massively cutting TTFB for international visitors.
For larger stores, Cloudflare Enterprise via Rocket.net or QUIC.cloud via LiteSpeed are worthwhile upgrades.
7. PHP version and server config
WooCommerce in 2026 should run on PHP 8.2 or 8.3. PHP 7.x is deprecated and 30 percent slower.
Check your PHP version in WordPress dashboard > Tools > Site Health. Upgrade via your host's control panel.
Memory limit: 512MB minimum for WooCommerce. 768MB if you have more than 10,000 products or heavy plugins.
OPcache enabled: should be on by default on proper hosts. Bumps PHP performance by 2-3x.
8. Checkout optimization
WooCommerce's default checkout is slow and has too many fields. Fix this.
Remove unnecessary fields. Most stores do not need company name, address line 2, or state/county for countries where it is optional.
Use a checkout optimization plugin. CheckoutWC or Cartflows (free tier) give you a modern, fast, conversion-optimized checkout that replaces the default.
Enable guest checkout. Requiring account creation drops checkout completion by 20 to 30 percent.
Autocomplete address fields. Google Places API integration fills the address after the user types 3 characters. Dramatic UX improvement.
9. Monitoring
You cannot improve what you do not measure.
Google PageSpeed Insights: weekly check on homepage and top PDP.
Web Vitals in GA4: track real user metrics, not just lab scores.
Uptime Robot (free): alerts when the site goes down.
Query Monitor (dev only): install on staging when debugging.
Cloudflare Analytics: see what traffic is cached vs uncached.
Before and after: one real example
A handmade jewelry brand came to us on GoDaddy Managed WordPress with LCP of 6.2 seconds on mobile. 47 plugins active. Images uploaded at original camera resolution (4000px+).
Changes:
- Migrated to Cloudways Vultr HF ($33/month instead of $17)
- Installed WP Rocket, configured exclusions
- Deleted 18 unused plugins
- Ran ShortPixel across the image library
- Installed Cloudflare free tier
Result after 3 weeks:
- Mobile LCP: 2.1 seconds (from 6.2)
- Mobile CVR: 1.9 percent (from 1.1 percent, 73 percent relative lift)
- PageSpeed score: 89 mobile (from 34)
Total agency time: 22 hours. Monthly hosting cost increased by $16. Revenue impact: roughly $8,000 per month.
When to hire help
Much of this can be DIY'd by a technically comfortable owner. Hosting migration, caching setup, and image optimization are approachable.
Plugin auditing and database optimization require more judgment. Theme-level performance work requires PHP skill.
For an outside audit and remediation plan, our WooCommerce service runs $495 audits with specific fix recommendations, and hour-band remediation engagements at $95 per hour.
One-page resource
Get the Vendor Recovery Checklist.
The 12 steps every displaced maker should take in the next 30 days. Delivered in your inbox.