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.
- 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
- Ditch Shared Hosting
- 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.
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 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. Ditch Shared Hosting
- SiteGround has a slow TTFB, CPU limits, support went downhill, among other issues. Unethical considering their community manager (Hristo) is an admin for this Facebook Group, and the TOS (sec. #9) prevents affiliates from using ‘SiteGround’ in bad reviews.
- Hostinger writes fake reviews, votes for themselves in polls, also unethical.
- GoDaddy is like my ex-girlfriend: lots of promises, but absolutely no delivery.
- WP Engine used to be good, but most people left them and speed/support are awful.
- EIG brands (Bluehost + HostGator) cram too many websites on slow, shared servers.
Regardless if you use my aff links, please don’t support unethical companies.
I use Cloudways (Vultr HF) who has always given me a fast TTFB and great GTmetrix results even on huge posts. You can click through my posts (most of them are very long) and they will load instantly. LiteSpeed is also popular which you can get through NameHero or A2 Hosting. I like NameHero’s Turbo Cloud plan which includes more RAM, NVME storage, and is still cheap.
Both have different setups. On Cloudways, I use WP Rocket + BunnyCDN. On NameHero or A2, you would use the LiteSpeed Cache plugin + QUIC.cloud CDN. They’re both great setups and should give you a fast TTFB, especially if you use my WP Rocket or LiteSpeed Cache guide.
You can read my Cloudways review or NameHero review. NameHero is easier (cPanel, A+ support, email hosting) while Cloudways is a little “techier” but gives you better control of your server and has way more data centers in the US, India, UK, etc. Cloudways has monthly pricing with a free migration while NameHero has a 30-day refund policy and also does free migrations.
I switched from SiteGround to Cloudways in 2019. My response times were 2x faster, I was paying 1/2 the price of what I was on SiteGround, and had no CPU issues or high renewal prices.
When in doubt, check recent Facebook polls and migration results (view more here).
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 73 Slow Plugins
12. Avoid Elementor And Divi
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’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 :)