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.
The #1 factor in the WordPress optimization guide is hosting (by far). That’s why I would drop your shared hosting all together and get on board with cloud hosting (eg. Cloudways). I’m on their DigitalOcean plan and even this post has a 167MB page size, 56 requests, and still loads in about 1s. WooCommerce doesn’t do well on shared hosting. Do yourself a solid – go cloud.
Without further ado, here’s how to optimize your slow WooCommerce pages.
How To Fix Slow WooCommerce Product 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 7.4
- Reduce Server Response Times
- Ditch Shared Hosting
- Use A Better Cache Plugin
- Avoid High CPU WooCommerce Plugins
- Use Elementor As Your Page Builder
- Don’t Overdo WooCommerce Extensions
- Consider Multiple CDNs
- 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.
Time To First Byte
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 7.4
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. Ditch Shared Hosting
Hosting recommendations are usually garbage.
Yes, it’s a little more expensive at $10-$13/month, but we’re talking about speed here – not being cheap. With Cloudways, you have a choice of using DigitalOcean, Vultr High Frequency, Google Cloud, AWS, or Linode. These are worlds faster than shared hosting and can handle resource-intensive tasks much better (Elementor, Beaver, Divi, WooCommerce, AdSense, etc).
Here’s what happened when I moved:
GTmetrix tests are always different, but even posts with a huge page 2.70MB page size and 96 requests can often load in under 2s. I’ll also take a 148ms time to first byte any day of the week. That post has 70+ images, 480 comments (showing Gravatars), Font Awesome, and Elementor.
The evidence is there:
This was a simple Pingdom test to measure load times of 16 WordPress hosts. I signed up for popular hosting companies then installed the same Astra Starter Site on each of them while measuring load times in Pingdom for 1 week at 30 minute check intervals. Some domains are still live (cwdoserver.com is hosted on a $10/month Cloudways DO plan and stgrndserver.com is hosted on SiteGround GrowBig). I cancelled most of them because it was getting expensive. Even when browsing through their pages or running your own tests, you can see the difference.
Hosting Companies You Should Avoid
- SiteGround – they have gone completely downhill in recent years.
- Bluehost – slow servers, owned by EIG, bad support, rated poorly in FB Groups.
- HostGator – also owned by EIG with slow servers, bad support, CPU limit issues.
- GoDaddy – top malware hosting network worldwide, rated poorly in FB groups.
- Hostinger – they write fake reviews and vote for themselves in Facebook polls.
- WP Engine – also not what it used to be, expensive and not even fast anymore.
- *A2 Hosting – if you can’t afford Cloudways, A2 is still fast and uses LiteSpeed.
I use Cloudways because:
- Even posts with a 2.70MB page size can load in under 2s
- DigitalOcean and Vultr HF are miles faster than shared hosting.
- It’s $10-$13/month (no yearly contracts or high renewal prices).
- Varnish, Redis, and memcached are all built-in for higher performance.
- You get to pick from DigitalOcean, Vultr HF, Linode, AWS, Google Cloud.
- 4.8/5 star TrustPilot rating and highly recommended in Facebook Groups.
- They have 25+ data centers between all their cloud hosting providers.
- No CPU issues like on SiteGround, Bluehost, and other shared hosting.
- SSL, staging, and backups are all very easy in the Cloudways dashboard.
- Support used to be average, but is now really good as reflected on TrustPilot.
- They offer a free migration but their Migrator plugin will also do the trick.
- Adding a server, migrating your site, and the dashboard is actually very easy.
- Mustasaam (their community manager) gave me peace of mind when moving.
- Only complaint is they need to add LiteSpeed servers to their list of providers.
Affiliate Disclaimer – if you sign up for Cloudways using my affiliate link, I would seriously appreciate it. I don’t recommend bad hosting like many other affiliates. I also donate quite a bit to charity ($6,000 to GoFundMe so far) and your support would really help. I try to base my reviews not only from my experience, but real evidence from the overwhelming feedback in numerous Facebook Groups. It would mean a lot.
Just do your research and look at this Facebook thread.
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.
- 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
- View Full List Of 65 Slow Plugins
12. Use Elementor As Your Page Builder
Elementor is the fastest page builder for WordPress.
And if you still have a slow WordPress site on Elementor, it’s probably not the reason. Nearly every speed optimization recommended by Elementor is included in this post. But I would stay away from Beaver Builder, Divi Builder, and others since most will cause slow page load times.
Pro Tip: If you’re using Elementor Pro, use the custom fonts option to host your fonts locally.
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. Consider Multiple CDNs
Many people are already using Cloudflare’s free CDN, which is great.
However if you can also chain together multiple CDNs to offload even more resources, further lightening the load on your server. In theory, more data centers = faster delivery of content.
I personally use StackPath in addition to Cloudflare, and you can see how many resources are offloaded in their analytics. For me, it’s worth $10/month and can easily be setup with most cache plugins (or CDN Enabler plugin), by copying/pasting a CDN URL provided by StackPath.
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 :)