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
- 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 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
Most hosting recommendations are honestly garbage.
Join the WordPress Hosting Facebook Group to get unbiased feedback from knowledgeable people who’ve been around the block. I won’t tell you to switch hosts if you don’t need to, so run your website through Lighthouse and check for slow server response times (TTFB) over 600ms.
If your TTTFB is slow, many people in Facebook groups (including myself) use Cloudways WordPress Hosting. Specifically their DigitalOcean or Vultr High Frequency plan. Sure, it’s $10-$13/month, but we’re talking about speed, TTFB, and core web vitals – not being cheap.
Take a look at conversations, migration results, and polls posted in some of these Facebook groups. Or look at Backlinko’s PageSpeed Test where he found SiteGround has a slow TTFB. You already know GoDaddy and EIG brands (Bluehost and HostGator) are obviously not good. Hosting affects TTFB, LCP, and other web vitals which will be a ranking factor as of May, 2021.
Here are 22 people who moved to Cloudways and posted their results (click image to enlarge):
Recent Facebook polls taken on “the best hosting” (click image to enlarge):
I use Cloudways DigitalOcean who is #1 in most recent Facebook polls.
Not saying hosting is everything, but it helps.
This is a simple Pingdom test to measure TTFB + load times of 16 WordPress hosts. I installed the same Astra Starter Site on 16 hosting accounts (using separate domains) while measuring Pingdom load times for 1 week at 30 minute check intervals, as well as TTFB in various tools. No caching or CDN (with same plugins) are being used since I’m strictly comparing the server. Some domains are still live (cwdoserver.com is hosted on a $10/month Cloudways DO plan and stgrndserver.com is on SiteGround GrowBig). I cancelled most accounts since it got expensive. Even when browsing through those 2 sites or running your own tests, you’ll see the difference.
I use Cloudways because:
- My TTFB is consistently under 200ms.
- Free migration service made it easy to try them.
- They continuously update their speed technology.
- Multiple caching levels (Redis, memcached, Varnish).
- Support is great as reflected in their Trustpilot reviews.
- Free SSL, staging, bot protection, cron job management.
- Monthly pricing with no long-term contracts or high renewals.
- They have a Cloudways Users Facebook Group to ask questions.
- Choice of 5 cloud providers: DO, Vultr, AWS, Google Cloud, Linode.
- Their community manager answered my questions when signing up.
- Launching a server yourself and using their migrator plugin is also easy.
- Ain’t nobody got time for shared hosting when trying to pass web vitals.
Affiliate Disclaimer – if you sign up for Cloudways using my affiliate link, I seriously appreciate it. I try to support my recommendations with real, unbiased evidence. I also make donations ($6,000 to GoFundMe so far) and your support would help. It’s easy to request a free migration and promo code OMM25 gets you 25% off the first 2 months.
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 :)