Looking for the best solution to speed up your a Slow Woocommerce website for free? Then, you are at the right place.
A slow Woocommerce site generates less profits, gives your customers a bad user experience as well as affects your ranking in the search results.
There are multiple factors that can slow down your Woocommerce website like choosing a slow web hosting provider, heavy themes & plugins, uncompress images & videos, etc.
But you don’t have to worry about all these as I am going to share the complete step-by-step tutorial on how to speed up your Woocommerce site using both free & paid plugins.
Why Does Speed Matters?
Website speed is an important ranking factor in search results. Google, Bing & Yahoo is now ranking only those websites that load quickly and decrease the ranking of slow websites which ultimately reduce traffic.
According to a study, a page load slowdown of just 1 second could cost Amazon $1.6 billion in sales each year. Even Mozilla has reduced its page load time to 2.2 seconds, which added an additional 60 million Firefox downloads per year. If your Woocommerce site also takes too much to load then you are losing your customers.
How to Check Your Woocommerce Store Speed?
A good web page time should be under 3 seconds for desktop & for mobile, it should be under 2 seconds. The speed may differ from pages to page, as it depends on mainly two factors:
- The size of the web page,
- The number of requests it generates.
Just run a speed test using the following speed testing tools.
Now, take a screenshot of the speed test result & compare it later with the final result.
Before you start optimizing your site please backup your WordPress site.
- 1. Optimize Woocommerce Product Images
- 2. Use A Faster Hosting Provider
- 3. Use LightWeight Themes
- 4. Disable Woocommerece Bloat
- 5. Cache Plugin To Speed Up WooCommerce
- 6. Clean Up Your Woocommerce Database
- 7. Convert Images To WEBP
- 8. Host Google Fonts Locally
- 9. Host Google Analytics Locally
- 10. Remove High Resource Usage Plugins
- 11. Use Cloudflare
- 12. Use CDN For Your Woocommerce Site
- 13. Disable Heartbeat
- 14. Clean Up Customer Sessions & Expired Transients
- 15. Disable Plugins on Specific Page
- 16. Delay External Resources
- 17. Use The Latest Version Of WordPress & PHP
- 18. Video Optimization
- 19. Remove Unnecessary Themes & Plugins
- 21. Block Bad Bots
1. Optimize Woocommerce Product Images
Woocommerce product images badly affect your WordPress website speed. So, follow these steps to optimize your products images:
- Compress your images on tinypng & then upload them to your site.
- Use Image compression plugins like Smush/ Short Pixel/ Imagify to further compress your product images.
- Lazy load your images.
- Disable hotlinking your images. You can achieve this using Cloudflare.
Smush Image Compression Plugin Settings for Woocommerce :
Install & activate the plugin.
Click on the WP Smush tab.
Step 1: Bulk Smush tab setting:
- Image sizes: All
- Automatic compression: ON
- Metadata: OFF
Image Resizing: On (choose max-width = 2048 & max height = 2048)
Then click on the Update setting.
Step 2: Directory Smush
Choose the folder from the web directory that you want to optimize. You can also compress themes images which is one of the best features of this plugin.
Step 3: Integrations
- Gutenberg Support: OFF
- WPBakery Page Builder: Enable it if you are using the WPBakery page builder editor. Note that this feature is currently in BETA.
Click on the update setting.
Step 4: Lazy Load
- Media Types: Check ALL
- Output Locations: Check ALL
- Display & Animation: None
- Include/ Exclude : Check ALL
- Scripts: Footer
Finally, update these settings.
Step 5: CDN
This feature is available in the PRO version. You can connect your CDN with WP smush.
Step 6: Tools
- Image Resize Detection: ON
Click the Update setting.
Step 7: Setting
- Color Accessibility: OFF
- Data: Keep
Finally, click on the Update setting.
If you have any unsmush images then they will appear in the WP Smush Dashboard. For the free version, this plugin compresses 50 images & it will stop after 50 images. You have again clicked the Smush button to start the image compression process.
For the PRO version, it compresses even more without any limit.
2. Use A Faster Hosting Provider
One of the big mistakes that most of the small & medium size Woocommerce store owners do is choosing a slow web hosting provider. Customers will not wait too long to load your site, instead, they will go to your competitor’s site.
Just run a speed test on GTmetrix, Google page speed insight & check your TTFB & fully loading time. If your site is taking more than 3 seconds to load & your TTFB is more than 1 second, then it’s time to change your hosting provider.
Below, I am sharing the Best web hosting providers for Woocommerce. I have recommended only those hosting that I have used & offer faster loading time. Based on your budget, you can choose any web hosting company you like:-
All these web hostings offer a fast web hosting experience and choose you can choose any of them based on your budget.
Best Shared Hosting
Cloudways (Use Coupon: DIGIROCK20)
Best Cloud Hosting
Best Managed WordPress Hosting
Best Premium Hosting
Disclaimer: Since I don’t recommend ‘not good’ hosting like various different affiliates out there, you could really help me out by signing up for any web hosting mentioned above using my affiliate link. Also, let it be known that I base my reviews not only on my own experience but also on other trusted sources.
3. Use LightWeight Themes
Gutenburg has improved a lot & you can easily replace your page builder with Gutenburg.
Here are some of the best light-weighted Woocommerce themes that you can try & are compatible with Gutenburg:
Check out our complete list of – the best free WordPress themes.
4. Disable Woocommerece Bloat
Woocommerce plugin comes with lots of features but we can’t disable features that we don’t use.
So Using Disable Woocommerce bloat plugin we can remove all the unused features & scripts which will improve your Woocommerce store speed.
Disable Woocommerce Bloat Plugin Settings :
Under Remove Bloat:
WooCommerce Admin: Check this box.
Marketing Hub: Check this box
Under Admin Interface:
You can check all the boxes under the admin interface.
Password Strength Meter: Up to you.
Woocommerce Script & styles: By checking this box it will disable Woocommerce script & style on all pages except product, cart & check-out pages.
Woocommerce Cart Fragments: AJAX Cart fragment is a script that automatically updates the customer’s cart when a customer makes any change. This is a great feature to improve user experience but the feature also slows down your Woocommerce store.
Woocommerce Widgets: If you are not using any widgets, then you can disable them.
Third-party Plugin bloat:
Jetpack promotion: disable it.
Skyverge dashboard: disable it if you are not using skyverge.
Elementor dashboard widget: If you are using Elementor & want to disable the dashboard widget then you can check this box.
5. Cache Plugin To Speed Up WooCommerce
By using a cache plugin, you can store a copy of your Woocommrece store on the visitor’s device, which helps your store to load faster. If you are looking for a free option then you can go with the Autoptimize / WP fastest Cache plugin or Use the Litespeed Cache plugin if you are using Lite speed servers. But if you are looking for a paid plugin then you can either go with WP Rocket or Flying Press plugin.
With the premium plugins mentioned above, you don’t need to install 5 extra plugins which will also increase your page sizes.
- For self-hosting youtube videos, you can use WP Youtube Lyte.
- To Clean your Database you can use WP-Optimize.
- Host Google Fonts locally, you can use OMGF.
- For Heatbeat control, you can use the Heartbeat Control plugin.
- Prefetch DNS Request you can use Pre* Party Resource Hints plugin.
Autoptimize Plugin Settings :
Install & activate Autoptimize plugin.
Go to Setting> Autoptimize
- Optimize JavaScipt Code = Turn On.
- Aggregate JS- files = Turn On.
- Also Aggregate inline JS = Turn On.
Under CSS Options:
- Optimize CSS Code = Enable.
- Aggregate CSS files = Enable.
- Also aggregate inline CSS = Enable.
- Generate data: URLs for images = Enable.
- Inline and Defer CSS – Enable this. Run a speed test in Gtmetrix. If any CSS file is still showing, then you can line and defer the CSS file. The best tool to inline and defer CSS is criticalpathcssgenerator.
First, enter your website URL.
Next copy the entire codes from the CSS file and paste that code into the full CSS box.
Now, click on the create critical path CSS button to generate the file.
Next, copy the newly CSS file codes and paste that into the inline and defer the CSS box.
If you have more than one CSS file then you can generate separate codes, just give some space in the inline and defer CSS box and paste those codes.
- Inline all CSS = disable.
- Exclude CSS from autoptimize = same as the exclude JS files, you can exclude certain CSS files.
- Optimize HTML Code = Check this option.
Experimental: Enable 404 Fallbacks: Disable this.
Also, Optimize For Logged In Editors/ Administrators: This option is up to you. You can either enable or disable this for your editors/administrators.
Finally, check on the save setting & empty cache.
Check Out my complete blog post on Autoptimize Plugin Settings.
WP Fastest Cache Settings:
Install & activate the WP Fastest Cache plugin.
Under the setting tab:
- Cache system: Enable
- Widget cache: Turn ON (Premium)
- Preload: Enable. A pop-up will appear, check all the tabs, Set the pages per minute between 4-6 for shared hosting, 8-12 for VPS hosting & click OK.
- Logged-IN Users: Enable.
- Mobile: Enable.
- Mobile Theme: Turn ON. It caches the mobile theme. (premium)
- New Post: Enable. A pop-up will appear & select Clear all cache.
- Update Post: Enable. A pop-up will appear & select clear all cache.
- Minify HTML: Turn On.
- Minify HTML Plus: Turn On (Premium).
- Minify CSS: On.
- Minify CSS Plus: On (premium).
- Combine CSS: Enable.
- Minify Js: Enable (premium).
- Combine Js: Enable. Uncheck this if you are using the premium version.
- Combine Js Plus: Enable. (premium)
- Gzip: Check this box.
- Browser caching: On.
- Disable Emojis: Turn On.
Finally, Click on the Submit button.
Step 2: Delete Cache Tab
- Click on Delete Cache & Minify CSS/Js.
Step 3: Cache Timeout
- Set timeout Rule to clear all cache – Once a Day.
Step 4: Image Optimization
This is a premium feature to optimize your images and improve your WordPress website loading time. If you are using any image optimization plugin like WP Smush, Short Pixel or Imagify then uninstall these plugins & only use WP’s fastest cache plugin image optimization. Using 2 or more plugins for the same work might break your site.
Step 5: Exclude
In this tab, you can exclude pages from being cached. For Woocommerce users, exclude checkout pages.
Step 6: CDN
Connect your CDN with WP Fastest Cache. Content Delivery Network (CDN) makes your WordPress site load faster & also adds additional security to your site like protecting from a DDOS attack, Blocking bat bots, etc.
Check out my complete tutorial on Best WP Fastest Cache plugin Settings.
Flying Press Plugin Settings :
Cache pages: check this box.
Additional auto purge: choose None.
Cache Lifespan: Choose Never
Exclude Pages From Caching: You can exclude any pages from caching. By default Flying Press excludes all the important Woocommerce pages like cart, check out, log in, my account, etc.
Ignore query strings: Add your query strings here that you want to be ignored.
Optimize For Logged In Users: turn it off.
Minify & Optimize CSS files: Check this box.
Generate Critical & used CSS: Check this box & choose Asynchronously.
Force Include Selectors: If some CSS is not included in your Critical & Used CSS, you can add that hereby specifying the CSS selector.
Lazy Render HTML Elements: Similar to lazy loading of images, here you can elements on the page only when required. For example, you can lazy render comments, footers, etc by pasting the CSS selector of that element.
Using inspect element, select the element that you want to lazy render, copy the selector code & paste it into the lazy render HTML Elements.
Preload Links: Not recommended.
Disable Jquery Migrate: On.
Load Script On User Interaction: Using this feature you load scripts on user interaction. You can delay a few JS-based third-party scripts like Chatbots, Google ads, etc.
Optimize Google Fonts: Turn this On.
Display Fallback Fonts: On.
Preload Fonts: Run a speed on Google Pagespeed Insight & if you are getting preload key requests on fonts & copy the URL & paste it into this box.
Lazy Load Images: Turn On.
Lazy Loading Method: Choose browser natively.
Add width & height attributes: Check this Box as it will add width & height attributes to the image. This improves your CLS.
Preload Critical Images: Turn this On.
Disable Emoji: On.
Lazy Load Iframes: Check this Box.
Use Placeholder image for Youtube iframes: On.
Self-host youtube Placeholder: On.
FlyingPress CDN is powered by BunnyCDN. If you want to use this CDN then check their plans by clicking here.
It is recommended to clean your database from time to time. You can even schedule it using the FlyingPress plugin.
6. Clean Up Your Woocommerce Database
Post revision, trash folders, drafts, spam & trash comments, and deleted WordPress plugins increase your database size which ultimately affects your Woocommerce website speed. Both WP Rocket & Flying Press plugin has a built-in database cleaning option & you can even schedule the clean-up process as well.
WP optimize is a free plugin that helps you to clean up your database.
How To Clean Up WordPress Database?
Install & activate WP optimize plugin.
- Click on the WP-Optimize tab on the left.
- Select the files that you want to delete by checking the box
- Then Click on the run optimization button.
Next, click the Table Tab at the top which will take you to your WordPress database Page.
Under the Tables tab, you might see some tables with a remove button. These tables are created by plugins & even after deleting the plugin, their tables are still present in our WordPress database. So, by removing those tables, you can reduce your database size which also improves your Woocommerce store speed. (Don’t delete any folder, if you are not sure. It may affect your website & your website can go down).
7. Convert Images To WEBP
WEBP is a new image format that is lighter than JPG images. Now, almost all the browsers are supporting it.WEBP images. Convert all your images to WEBP format to improve your Woocommerce website speed.
If your image compression plugin doesn’t support it.WEBP format, then you can use WEBP Express plugin to convert all your images.
WEBP Express Settings :
Operation Mode: Choose Varied Image Responses.
Scope: All content.
Image types to work on: Both jpegs and pngs.
Destination folder: Mingled.
File Extension: Append”.webp”.
Destination structure: Document root.
Cache-control header: Do not set.
Enable Direct redirection to existing converted images? : Check this box.
Jpeg Options: Let it be the default.
Png options: let it be the default.
Metadata: No metadata in webp.
Convert on Upload: check this box
Bulk convert: Convert all your images in webp from here.
Alter HTML: Check this box.
What To Replace: Choose Replace Image URLs & check the box of only do the replacements in webp enabled browsers.
How to replace: Choose the complete page option.
Finally, Click On Save Settings.
8. Host Google Fonts Locally
Fonts also affect your Woocommerce store speed. So, the best way is to host your Google fonts locally & which can be achieved by the OMGF plugin. Check Out my complete tutorial on how to host Google Fonts locally in WordPress.
9. Host Google Analytics Locally
Similar to Google Fonts, we can also host Google Analytics locally. Some Google Analytics plugins will show all the information on your WordPress dashboard, which slows down your Woocommerce store & in most cases you don’t need that. You can easily get all this information on your Google analytics dashboard.
So, it is better just to add the tracking code & you can add that by using the Flying analytics plugin or by using the CAOS plugin. Check out my complete tutorial on how to host Google Analytics Locally in WordPress.
10. Remove High Resource Usage Plugins
To find the high resource usage plugin, just run a speed test on Gtmetrix Or use the Query Monitor plugin & see which plugin request is taking too much time to load. If you find any plugin that is taking too much time to load then try to find a lightweight plugin for the same.
11. Use Cloudflare
According to Google, a website should load within 3 seconds. If it is more than 3 seconds then it will increase the bounce rate & will affect your ranking in Google search results. Using Cloudflare, you can not only improve your Woocommerce site speed but will add additional security to your Woocommerce store.
Cloudflare’s “Automatic Platform Optimization” plugin ($5/month) will also boost your Woocommerce store speed. If you haven’t linked your site with Cloudflare then you can Check out my complete blog post on how to set up Cloudflare CDN to boost your WordPress speed & performance.
12. Use CDN For Your Woocommerce Site
CDNs are groups of servers located in different parts of the world. All these servers will store a copy of our site. When a user tries to visit your site, then your site will be served from the nearest server from the visitor’s location & ultimately your website will load faster.
Wait, you might be thinking that you use Cloudflare, so is it required to use any other CDN?
The answer is Yes, there are some other CDN providers that have more data centers which results in more speed.
13. Disable Heartbeat
Disabling the Heart Control of your WordPress site can help you reduce your Woocommece store loading time. You can disable it With WP Rocket.
The best free alternative to Disable Heartbeat is by Heartbeat Control plugin.
14. Clean Up Customer Sessions & Expired Transients
Sometimes, bots crawling or cron jobs create unnecessary sessions which grow your wp-option table. By clearing up customer sessions & expired transients from the Woocommerce settings, you can reduce your database size.
Just go to Woocommerce > Status> Tools & clear your customer sessions & expired transients.
15. Disable Plugins on Specific Page
Some plugins load on every page but they are not required. For example, Contact form 7 plugins load on every page but this plugin should load only on the contact page. So, it is better to disable those scripts on every page except that page.
Steps To Disable Plugin On Specific Page :
- Step 1: Install & activate asset clean up plugin.
- Step 2: Go to the asset clean-up setting. Under the setting tab, click on general & file management.
- Step 3: Turn on the manage in the dashboard option. This will show all the files that are loading on that page.
- Step 4: Open each page, post & disable those scripts that are not required on that page. You can set contact form 7 to load only on the contact page, social sharing is not required on pages, it is only required in the blog post to content in social media, Google Maps should load only the contact page, etc. You can disable these scripts which ultimately helps your WordPress website reduce page load time.
16. Delay External Resources
External Resources mean pulling information from any external website. The best example is Google fonts, Google analytics & Youtube videos. You can solve these by hosting it locally as shared above.
But there are some external scripts that slow down your Woocommerce website speed & are very difficult to optimize especially Google Adsense, Chatbots, etc. But with the Flying Script plugin, you can optimize your 3rd party JS scripts. This plugin loads the external JS scripts after the web page loads completely. You can even set the timing of the loading of 3rd party scripts.
All you have to do I add a keyword to that script for example – use the keyword “gtag” for Google Tag Manager”, Fbevents.js for Facebook Pixel, etc.
You can also join their Facebook group – WP Speed Matters.
17. Use The Latest Version Of WordPress & PHP
Updating your site to the latest version of WordPress & PHP will also improve your Woocommerce store speed.
By default, most web hosting provider gives PHP 5 or PHP 5.6. They support PHP 7 but you have to upgrade it manually.
You can check your PHP version by installing Display PHP Version Plugin.
You can also check & update your PHP version using Cpanel.
The next step is to check your themes & plugins if they are compatible with the latest PHP version. Use PHP Compatibility Checker plugins to check the compatibility.
18. Video Optimization
Videos also slow down your Woocommerce store. So, it’s better to optimize your videos by lazy loading. Both Flying Press & WP-Rocket plugins have this option to lazy load your videos.
But if you are looking for any free alternative, then you can use the WP Youtube Lyte Plugin (which Works only with Youtube videos).
19. Remove Unnecessary Themes & Plugins
Delete all the unnecessary themes & plugins that you are not using. All these unused themes & plugins create an additional database table & ultimately affect your Woocommerce website speed. Don’t forget to delete the database tables created by the deleted themes & plugins.
Install & activate the plugin.
- Choose defer in all the options & click on save changes. (If any part of your site breaks then choose to exclude under Jquery)
21. Block Bad Bots
Search engines use bots to crawl your website. But some fake bots crawl your site consume the most CPU power which also affects your WordPress website speed.
How To Block Bad Bots In WordPress:
To solve this, use the Wordfence plugin that has a feature to limit crawlers & block spammers.
Install & activate the Wordfence plugin.
- Go to the wordfence setting & click on all options.
- Scroll down to the Rate Limiting option.
- Change the following setting:
- Enable rate limiting & advanced blocking: ON.
- If anyone’s requests exceed: 30 per minute.
- If a crawler’s page views exceed: 240 per minute.
The next thing is to block spammy bots. The wordfence live traffic report will help you. The live report shows 4 colors. Green colors for humans, grey for the bot, yellow for warning & red for blocked. Block those sites that if it appears in red color. Do a google search if you think any crawl site can be a bad bot.
Here is an example for you. I was checking my live report & saw a bot is from China is crawling my site. The hostname is Bytedance (the parent company of Tiktok) is crawling my site. So, I block this bot.
You can also use the Block bad queries plugin which also blocks bad bots. Just install & activate the plugin. The best part of this plugin is you don’t need any configuration.
As I mentioned above, speeding up your Woocommerce site will improve user experience, increase traffic, boost ranking in search results & use less bandwidth.
Follow these methods mentioned above & you will see a drastic change in your Woocommerce store speed. Don’t forget to compare your speed test report before & after implementing these methods. Please share your GTmetrix, page speed insight, or Pingdom score in the comments section below.
Apply also that method that you think is required to optimize your WooCommerce store. All these ways that I have shared are based on my own experience & response from various subreddits & Facebook groups.
Did I miss anything? If so, please mention them in the comment box, I will try to add those. If you have any queries regarding how to speed up your WordPress site then feel free to comment below.