Have slow loading product pages on WooCommerce?
Slow WooCommerce product pages are usually caused by heavy images, plugins, and third party scripts. You can speed them up by optimizing individual elements on the page, however most speed optimizations are sitewide (hosting, page builders, cache plugin, CDN, fonts, etc).
WooCommerce sites naturally require more resources by using extra plugins as well as WooCommerce scripts, styles, and cart fragments. Add a few third party scripts like AdSense and Google Fonts combined with shared hosting, and that’s a recipe for a bad GTmetrix report.
Without further ado, here’s how to optimize your slow WooCommerce pages.
- Measure The WooCommerce Page In GTmetrix
- Optimize Product Images
- Disable Unused Plugins On The Page
- Combine Google Fonts And Host Them Locally
- Optimize Third Party Resources
- Clean Your WooCommerce Database
- Upgrade To PHP 8.0
- Reduce Server Response Times
- Use Cloud Hosting With Cloudflare Enterprise
- Use A Better Cache Plugin
- Avoid High CPU WooCommerce Plugins
- Avoid Elementor And Divi
- Don’t Overdo WooCommerce Extensions
- Get A Better CDN
- Use A Fast WooCommerce Theme
1. Measure The WooCommerce Page In GTmetrix
GTmetrix helps you find unoptimized images, slow plugins, external scripts, time to first byte, and specific elements slowing down WooCommerce product pages. It’s the tool I recommend.
Google PageSpeed Insights is really only good for measuring server response times (otherwise it’s pretty useless) and Pingdom doesn’t show nearly as many recommendations as GTmetrix.
Unoptimized Images
Time To First Byte
Slow Plugins
External Scripts
2. Optimize Product Images
GTmetrix has 3 main ways to optimize images:
Serving scaling images is the most important item in GTmetrix related to images. This means you need to resize (scale) them to the correct dimensions (which GTmetrix tells you). If your WooCommerce product images call for 400 x 600px, don’t use images that are 1200 x 1800px.
Optimizing images means you need to losslessly compress them. I have tested many plugins and the only one that gets 100% in GTmetrix is ShortPixel. Other plugins (Smush, Imagify) may work for some, but ShortPixel is barely noticeable in quality and should also get you 100%.
Specifying image dimensions means you need to grab the image’s dimensions from GTmetrix and add them to the image’s HTML. In most cases, WordPress takes care of this unless you have bad plugins or you added images to HTML and forgot to add a specified width + height.
3. Disable Unused Plugins On The Page
Heard of Asset CleanUp or Perfmatters?
Both plugins let you selectively disable unused plugins, styles, and scripts on pages where they aren’t being used. Since Asset CleanUp is free and has great reviews, I’ll use it in the example.
Step 1: Install Asset CleanUp or Perfmatters.
Step 2: Edit a page or post and scroll down to the Asset CleanUp section. You will see all scripts (plugins, theme, core, third parties) being loaded on your WooCommerce product page.
Step 3: Disable all scripts not being used on the page.
- Disable WooCommerce features on non-eCommerce pages
- Disable slider plugin on content without sliders
- Disable rich snippets plugin on content without rich snippets
- Disable contact form plugin on content without a contact form
- Disable AdSense or affiliate links where they aren’t being shown
- Disable social sharing plugin on all pages (since it’s usually for blog posts)
- Disable WooCommerce scripts, styles, cart fragments on non-eCommerce pages
Step 4: Configure other settings in Asset CleanUp or Perfmatters, since both of them can help with other optimizations. Permatters is very helpful for cleaning up the WooCommerce admin.
Perfmatters can help you with a ton of other miscellaneous speed optimizations:
4. Combine Google Fonts And Host Them Locally
Google Fonts will usually results in GTmetrix errors.
Many plugins can combine Google Fonts and host them locally (OMGF, Self-Hosted Google Fonts, WP Rocket, and Autoptimize all have options). You can also host Google Fonts locally by manually downloading Google Fonts from the Google Fonts websites, converting them to web font files using Transfonter, then add them to CSS. Elementor also has a custom fonts option.
Combining these Google Fonts and loading them asynchronously can really help:
5. Optimize Third Party Resources
Third party resources are anything that make requests from outside websites:
- Google Fonts
- Google AdSense
- Google Analytics
- Google Tag Manager
- Facebook Pixel
- Facebook Likebox
- Social sharing buttons
- Embedded YouTube videos
Some third party scripts are easy to optimize, others aren’t
WP Rocket has options to optimize Google Fonts, Analytics, Facebook Pixel, and embedded videos. But other external scripts are nearly impossible. Running Google AdSense on top of WooCommcerce is a recipe for a slow website. Add Google Tag Manager and you probably have 30s load times. Especially if you’re on shared hosting, you have little room to use heavy third party scripts and plugins. So optimize the ones you can, then if you absolutely need to use the other plugins, make sure you’re at least using a fast cloud hosting provider (eg. Cloudways).
Google AdSense is a GTmetrix killer
Websites running WooCommerce and AdSense are infamously slow.
It also makes websites look very spammy. People know you’re trying to monetizing everything you can and it’s a turn off. If you need to monetize blog posts, affiliate marketing is the way to go. It won’t slow down your WooCommerce site and you’ll probably make more money too.
6. Clean Your WooCommerce Database
I never knew how much crap I had in my database until I installed Advanced DB Cleaner.
Not only does it list the typical things found in WP Rocket’s database cleanup options, but it also lists a ton of other stuff, including tables left behind by plugins that aren’t even installed on my website anymore. You should take a backup before cleaning it of course, but go through everything in your database and clean out all the garbage, especially tables left by old plugins.
Both Advanced DB Cleaner and WP-Optimize show you tables left behind by old plugins:
7. Upgrade To PHP 8.0
Newer PHP versions make your site load significantly faster.
To upgrade PHP versions, login to your hosting account, find the PHP version manager, and upgrade to the highest possible PHP version (ideally PHP 7.4). Some hosts are slower to release new PHP versions than others. You can use the Display PHP Version plugin see which version you’re currently on. Once upgraded, check your WooCommerce pages for errors.
8. Reduce Server Response Times
Your server (hosting) is the #1 factor in the optimization guide (by far).
To check your server response time, run your WooCommerce page through PageSpeed Insights and make sure it’s <200ms like Google suggests. If it’s not, servers are your hosting.
9. Use Cloud Hosting With Cloudflare Enterprise
Think your TTFB is faster than mine on Rocket.net? Let’s see.
Test your site in SpeedVitals which measures TTFB in 35 locations. Do this 3 times since TTFB gets faster as tests are repeated. Next, take the average TTFB of the 3 tests and compare our numbers. Mine usually averages 100ms worldwide, but feel free to run your own tests. TTFB is the best way to measure hosting performance which is part of core web vitals and 40% of LCP.
Or click through my pages:
10 reasons Rocket.net outperforms basically everyone
- Only host with Cloudflare Enterprise + full page caching.
- You get 32 CPU cores + 128GB RAM (a lot more resources).
- They recently started using NVMe (faster than SATA SSDs).
- Redis is free and more performant/efficient than memcached.
- They use LiteSpeed’s version of PHP for faster PHP processing.
- They use Brotli which compresses pages to smaller sizes than GZIP.
- Support is better than Kinsta’s and helps you optimize for core web vitals.
- Top performer in Kevin Ohashi’s WP Hosting Benchmarks which is a more methodological test than bogus “fastest WordPress hosting” tests on YouTube.
- They don’t limit PHP workers (there’s no CPU limits). With Cloudflare Enterprise, only about 10% of traffic hits the origin server (meaning lower bandwidth usage). For this reason, they also allow 10-25x monthly visits than Kinsta and WP Engine.
- Cloudflare Enterprise is 100% free and configured automatically with prioritized routing, all 270+ PoPs, WAF + WAF rules, HTTP/3, image optimization, and Argo + Tiered Cache. Ben Gabler (CEO) was previously StackPath’s Chief Product Officer and went as far as building their data centers in the same locations as Cloudflare’s.
“Mainstream hosts” don’t live up to the hype
I’ve written some pretty bad reviews about SiteGround’s slow TTFB, CPU limits, and why SG Optimizer does a poor job with core web vitals (they also control several Facebook Groups and threaten to sue people who write bad reviews). Hostinger writes fake reviews and is only cheap because you get less resources like CPU/RAM. Kinsta and WP Engine are way too expensive for how many resources, PHP workers, and monthly visits you get. Along with major incidents like WPX’s worldwide outage and SiteGround’s DNS getting blocked by Google for 4 days (causing sites to get deindexed from Google). Ya know, things most hosts/affiliates don’t tell you. And for the record, these are mostly shared hosting with SATA SSDs, high renewals, and an inferior CDN than Cloudflare Enterprise when comparing PoPs and features like full page caching, Argo, WAF.
Do your own TTFB tests and research in Facebook Groups
You can easily do a before & after test in SpeedVitals to benchmark your results. Rocket.net averages a 100ms global TTFB, but feel free to do your own research in unbiased Facebook Groups like WP Speed Matters (many other groups are moderated by SiteGround’s team). Or search Rocket.net’s TrustPilot profile for people mentioning “TTFB” where they’re rated 4.9/5.
I was previously on Cloudways Vultr HF which was great, but their Cloudflare Enterprise doesn’t use full page caching (yet) and is $5/mo with annoying challenge pages. Even if their Cloudflare Enterprise was identical, Rocket.net still outperforms them with better specs like more CPU/RAM, Brotli, and LiteSpeed’s PHP (plus better support, easier to use, and usually pricing). While Cloudways is a big improvement than most hosts, you’re already spending $18/mo for Vultr HF’s lowest 1 CPU plan with Cloudflare Enterprise. At that point, the extra $7/mo you’d be spending at Rocket.net is worth it for any serious website. I’ll also point out Rocket.net is easier – literally all I did was request a free migration, review my site before they launched it, upgrade to PHP 8.1, and ask support to install Redis. Cloudways’ dashboard had too many settings and I’d rather leave these to someone I trust and knows what they’re doing.
For small sites on a budget, NameHero’s Turbo Cloud plan is similar to Hostinger between LiteSpeed, cPanel, and pricing. However, NameHero’s Turbo Cloud plan has 3 CPU, 3GB RAM, and NVMe SSDs (compared to Hostinger’s plans which have less, shown in the table below). NameHero’s support/uptimes are also better which you can see in TrustPilot reviews. This is arguably the fastest setup on a budget… you get a LiteSpeed server + LiteSpeed Cache + QUIC.cloud CDN, and they include email hosting. The main con is their data centers are only in the US/Netherlands. If these aren’t close to your visitors, make sure to setup QUIC.cloud’s CDN using LiteSpeed Cache which has HTML caching (ideally their paid plan which uses all 70 PoPs).
Affiliate Disclaimer: if you sign up for Rocket.net, Cloudways, or NameHero, I get an affiliate commission. While money is nice, most hosts pay me the same ($150/sale if you must know). That said, all I really care about is performance, transparency, and steering people in the right direction… especially with how much misinformation there is. I really appreciate your support.
11. Avoid High CPU WooCommerce Plugins
I don’t have a list of slow WooCommerce plugins, but I do have a list of general WordPress plugins that will slow down your site. These plugins are infamous for causing high CPU and causing a slow WordPress site. Most plugins are related to statistics, backups, live chat, calendar, social sharing, sliders, sitemap, WPML, and any plugin that has to constantly work on WooCommerce product pages. You either need to delete these plugins and find a faster replacement, optimize them, or deal with their slow load times. Most times, it’s not worth it.
- AddThis
- AdSense Click Fraud Monitoring
- All-In-One Event Calendar
- Backup Buddy
- Beaver Builder
- Better WordPress Google XML Sitemaps
- Broken Link Checker
- Constant Contact for WordPress
- Contact Form 7
- Contextual Related Posts
- Digi Auto Links
- Disqus Comment System
- Divi Builder
- Elementor
- View Full List Of 73 Slow Plugins
12. Avoid Elementor And Divi
These add lots of CSS and JavaScript to your site.
If you’re using Elementor Pro, take advantage of their experimental features like Optimized DOM Output and Asset Loading. Use Perfmatters or Asset CleanUp to disable unused Elementor functionality and try to use their Hello Theme if possible which is more lightweight.
13. Don’t Overdo WooCommerce Extensions
WooCommerce Extensions are great, but just like plugins, don’t overdo them.
And if you do use them, always test to see how they affect your load times after installing.
14. Get A Better CDN
Cloudflare (with their APO) or BunnyCDN is who I generally recommend. Or QUIC.cloudCDN if you’re using a LiteSpeed server.
Cloudflare’s free plan and RocketCDN (StackPath) can sometimes have a negative impact on TTFBs while BunnyCDN is consistently performant and was rated highly in Facebook threads.
15. Use A Fast WooCommerce Theme
Hopefully you’re using something like Astra, Flatsome, or a StudioPress theme.
Bloated and badly coded themes slow down your WordPress site. You will either need to change themes or hire a developer to do theme optimization, but that’s all you can do.
Frequently Asked Questions
Why are my WooCommerce product pages slow?
Run the page through GTmetrix and look the the Waterfall tab. Identify if it's a page-specific issue or the issue occurs throughout the entire site. Some common reasons for slow product pages are unoptimized images, slow hosting, not configuring your cache plugin correctly, no CDN, Google Fonts, or too many plugins and third party scripts.
How do you speed up plugins?
Avoid my list of 65+ common slow plugins, be minimal with plugins, and only use lightweight plugins that you have tested in GTmetrix. Disable any unused functionality within your plugins and try selectively disabling them using Asset CleanUp or Perfmatters.
How do you fix errors in GTmetrix?
Using a top-rated cache plugin like WP Rocket and correctly configuring the settings should fix many GTmetrix errors. Using lightweight plugins and optimizing third party scripts will help. Avoid AdSense and Tag Manager which can be a GTmetrix report killer.
Which hosting is good for WooCommerce?
Cloudways is one of best choices for WooCommerce sites and was rated highly in Facebook polls taken by multiple Facebook Groups. Since WooComemrce sites require extra scripts, styles, cart fragments, and plugins, it's best to skip shared hosting entirely.
Why is the backend slow?
Install the Heartbeat Control plugin, disable Cloudflare's CDN within your admin panel using page rules, diagnose slow plugins, and monitor CPU usage in your hosting account. A slow backend is usually correlated with the same reasons the frontend of your site is slow.
Still Have A Slow WooCommerce Site?
I have a great YouTube tutorial on WordPress speed optimization which covers nearly everything in this tutorial, plus some. Or feel free to leave your GTmetrix report in the comments and I’ll be happy to take a look. Happy to help anyone readying my guides :)
Cheers,
Tom