Speed is money for an ecommerce site. The faster your site loads, the better the shopping experience. A better user experience translates to improved SEO, increased ROI, and happier customers. This ultimately leads to greater revenue and profits.

In this guide, you learn 18 powerful ways to speed up your WooCommerce store and how hosting with Kinsta can help you optimize its performance and increase its security.

Today’s online shoppers have high expectations, from high-resolution images and videos to live chat, user reviews, real-time inventory, and personalized experiences. However, if these dynamic features are not properly executed, they can slow down your ecommerce site, potentially leading to a loss of customer interest due to their short attention span.

WooCommerce is the most popular and free ecommerce platform active on over 5 million websites. It has been downloaded over 252 million times. Unlike other platforms, it doesn’t charge a percentage of your store’s revenue.

Speed is crucial for online stores, as slow-loading sites lead to user frustration and lost sales. Site speed also affects SEO and Google’s ranking algorithm. For ecommerce, every millisecond counts. Ensuring your website is performant and capable of handling traffic spikes is essential.

“Kinsta’s high performance hosting and extra optimizations reduced page load time by 50%. DARTDrones was able to serve over 1 million pageviews in a 6 hour period with zero downtime durning our traffic spike after appearing on the Shark Tank television show.”

Kevin McAloon | Designer & Frontend Developer | DARTDrones

To get started, Kinsta offers a range of features designed to speed up WooCommerce by optimizing the speed, performance, security, and support of your WooCommerce store:

  1. Containerized Solution: Kinsta offers a unique infrastructure that containerizes site resources so they don’t have to share, increasing performance levels on a per-site basis. Having your store in a container makes it faster, safer, and more stable without interference from other sites. It also helps minimize the time spent troubleshooting performance issues as you no longer have to account for potential resource stealing.
  2. GCP infrastructure: Kinsta utilizes the Premium Tier Network and powerful C2 and C3D machines to ensure that your WooCommerce store operates on a highly reliable and efficient foundation. With GCP’s Premium Tier network, we ensure that the traffic to and from our customers’ sites is routed around the world as quickly as possible.
  3. 37 data centers: To reduce the delay in serving your store’s content, Kinsta allows you to choose a data center that is located close to your store visitors. Also, If you’re an Agency managing multiple e-commerce sites, you can choose multiple data centers. No more keeping all your sites on one centralized location.
  4. Edge caching: Kinsta’s Edge Caching feature distributes your website’s content from multiple city locations worldwide, reducing the distance data needs to travel. It saves your Kinsta site/page cache to any of Cloudflare’s global network of 260+ data centers. It is included free with all Kinsta plans, doesn’t require a separate plugin, and cuts the time needed to serve cached WordPress HTML by an average of more than 50%.
  5. Server-level caching: Kinsta optimizes your store’s performance with customized caching. It includes tailored rules for WooCommerce, excluding critical pages like the cart, my-account, and checkout from caching. This ensures dynamic shopping experiences while benefiting from faster loading times on other pages.

Measuring the Speed of a WooCommerce Store

What you cannot measure, you cannot improve!

A website speed test is a perfect tool to test the speed of your WooCommerce store. But if you don’t do this properly, your site may seem slower to you after making a change, when it’s actually faster.

Pingdom Tools example speed test report
A website speed test report (Image source: Pingdom).

We recommend you get started with one of these website speed testing tools: WebPagetest, Pingdom, Google PageSpeed Insights, or GTMetrix.

You can also use the free WordPress plugin Query Monitor to pinpoint the themes, plugins, and functions that are performing poorly. It helps you debug inefficient database queries, bloated functions, PHP errors, HTTP API calls, etc.

No speed testing tool is perfect, but pick one and stick with it for consistency. You can work your way towards other options later.

A tweet by Gary Illyes, Webmaster Trends Analyst, Google
Gary Illyes, Webmaster Trends Analyst, Google.

There’s a difference between actual performance and perceived performance. The user experience matters more than the technical wizardry powering the site.

Therefore, use the techniques mentioned below to enhance your site’s overall user experience, rather than just getting a high-speed score.

How To Speed Up WooCommerce

A speed test report gives you an actionable plan to optimize your slow WooCommerce site. Excited? Let’s get started!

1. Start With Quality Hosting

Just like running a car with flat tires, no matter how many optimizations you make, your site won’t get any faster if it’s hosted on a lousy server. A significant portion of your site’s performance depends on the quality of your hosting.

Each type of hosting can be offered under multiple plans at different price points. So, when scouting for a hosting within your budget, look at the features offered to decide whether it fulfills your requirements.

WooCommerce sites are incredibly dynamic by nature. They generate a lot of data and requests that cannot be cached.

For instance, the checkout page is unique for each user and cannot be served from a cache. As a result, the server needs to be robust enough to run your site smoothly, even if your site attracts low traffic.

These are the recommended features you should look out for when deciding on a WooCommerce hosting plan and how Kinsta can help you:

  • Server-level caching with WooCommerce-specific cache rules in place (comes with all Kinsta plans).
  • WordPress memory limit of 128 MB or more (256 MB is the default on Kinsta).
  • Scalable infrastructure to handle surges in traffic and load (with Kinsta, you get to use scalable isolated container technology).
  • Automatic daily backups (hourly preferred) to ensure that your ecommerce data is safe and secure (Kinsta offers six types of backups: free automatic/daily, optional hourly, manual, system-generated, downloadable, and external backups sent automatically to your Amazon S3 or Google Cloud Storage. We also store two weeks of backups at all times, with the possibility of increasing data retention).
  • A fully secure hosting platform (with Kinsta, you have regular malware scans, IP Geolocation, abusive IPs blocking, free SSL, SFTP, SSH, HTTP/3, and TLS 1.3, and enterprise-level firewall and DDoS protection on all plans).
  • A web server software for faster load times and improved speed performance (Kinsta uses Nginx to power all its hosting, you get C3D compute-optimized VMs for all plans in supported locations, and your sites are containerized, so you don’t have to share resources).
  • Support for developer-friendly features: PHP 8, LXC containers, WP-CLI, Git, MariaDB, Staging environments, etc (with Kinsta, you have access to all these features along with PHP 8.0, 8.1, 8.2 and 8.3, the ability to run a different version of PHP for each live site and staging site, and switch between PHP engines takes just one click).
  • High uptime with data centers spread all across the world. Go for the one that has servers close to where your target audience is (sites on Kinsta are equipped with a self-healing PHP feature. We monitor all sites on our infrastructure 480 times per day and offer a 99% uptime guarantee).
  • Cloudflare integration for increased performance and security (with Kinsta, you have free Cloudflare integration, which includes an enterprise-level firewall with a custom ruleset and DDoS protection).
  • A reliable 24/7 support team with a quick response time (with Kinsta, you have a 24/7/365 support team with experts in all plans, with a quick response time of under 2 minutes, without additional costs).

“We have ten years of experience working with various hosting providers, so the core technical features of the platform are important for all of our projects. We monitored speeds of test sites and Kinsta’s network always produced one second faster load times than those hosted on AWS.”

– Kresimir Koncic, Director, Neuralab

Having a good hosting provider is the core of your WooCommerce’s website performance. At Kinsta, all the features we offer are part of a Managed WordPress hosting solution. We’ll talk about other hosting options down below.

2. Optimize WooCommerce Settings for Performance

Let’s go through the basics of optimizing WooCommerce plugin settings.

First, change your login page URL. By default, every WordPress site’s login URL is domain.com/wp-admin/. While this is easy to remember, it poses a major problem: everyone knows about it too, including bots and hackers.

Changing your login URL to something unique protects you against brute force attacks from nefarious actors. It’ll also help you combat rate-limiting HTTP errors like 429 Too Many Requests.

Free plugins such as WPS Hide Login and Rename-wp-login make this task super easy.

If your ecommerce site hosts a blog too, you can limit the number of posts on your blog feed. WordPress sets this limit to 10 posts by default, but you can set a lower limit.

While this may seem trivial, performance savings add up if you run a high-traffic blog (here’s how to drive traffic to your website). You can find this option under WordPress Dashboard → Settings → Reading.

WordPress settings to limit the number of post revisions
Limit the number of posts in your blog feed.

Next, disable pingbacks on your website. They usually generate worthless spam. The fewer queries your site generates, the better.

Optimizing the WordPress discussion settings
Optimize the discussion settings.

If you have a lot of user comments on your posts or pages, then WordPress also gives you an option to break them into smaller chunks. The same setting holds true for breaking down reviews on your product pages.

Optimize your product page load time by keeping this number between 10 and 20. It results in reduced time spent on spinning up sites and allocating headcount.

You can disable product reviews under WooCommerce → Settings if you don’t like having them on your store. This helps speed up your WooCommerce site, as it eliminates loading a few scripts and widgets.

Disabling product reviews in WooCommerce settings
Disable product reviews if you don’t need them.

Finally, remove any unnecessary/outdated themes and plugins from your site. The fewer themes and plugins you’ve installed, the easier it is to maintain them and troubleshoot performance issues.

3. Get a Fast WooCommerce Theme

Using the right WooCommerce theme matters. There are hundreds of thousands of themes out there, so deciding on the one that’s perfect for you is always a challenge.

Featured themes on WordPress.org
Featured themes on WordPress.org.

A beautiful theme with amazing built-in features can look great on the screen, but it may flop in actual usage. For an ecommerce site, you need to ensure that it’s fully compatible with WooCommerce.

Using filters to search smartly for themes on wp.org
Filter down your ecommerce theme search.

WP Rocket tested a bunch of popular WooCommerce themes for speed and came up with the following results:

Opt for a fast WooCommerce theme.
Opt for a fast WooCommerce theme (Image source: WP Rocket).

When paired with a page builder such as Elementor or Beaver Builder, they can help you create almost any site. We recommend leaving page builders behind to reduce bloat. Instead, go for a theme that supports WordPress’ block editor Gutenberg.

There are free and premium themes, it’s advisable regardless of the theme you use to choose one built for running an ecommerce site, so there’s no need to install third-party plugins to get all the features you need.

If you’re short on budget, it’s perfectly fine to start with a free theme and upgrade later to a premium solution.

To decide on a theme, we suggest you list all the features you need in your online store. Then go for a theme that covers most of your feature requirements. This helps you cut down dependency on bloated multi-purpose themes and third-party plugins.

The performance of your WooCommerce site is directly impacted by the theme you select, so the lighter the theme, the better the performance. To get an idea of how heavy the theme is, you can test its demo speed with Google’s PageSpeed Insight.

This brings us to the next suggestion.

4. Go Easy on Plugins and WooCommerce Extensions

WordPress has 60,000+ free plugins in its repository. There are even more premium plugins out in the wild. Thus, it’s easy to get carried away and install dozens of them.

There’s a plugin for almost anything.
There’s a plugin for almost anything.

Many popular plugins, especially performance and security-related, don’t work well in certain hosting environments.

WooCommerce functionality can be expanded with its wide range of free and premium WooCommerce extensions. They work the same way as plugins.

WooCommerce Extensions Store page
WooCommerce extensions enhance your store’s functionality.

Contrary to popular perception, the number of plugins you install doesn’t always cause performance issues. But this holds true only as long as the plugins are built with the best coding practices.

Vetting every plugin you install for quality becomes a hassle when there are too many of them. And that’s considering you have the skills and expertise to vet them thoroughly.

A few plugins even create conflicts with other plugins. When you have dozens of plugins on your site, the probability of a plugin conflict occurring shoots up exponentially.

Hence, be smart about the type of plugins and WooCommerce extensions you install.

Additionally, when using Kinsta as your hosting solution, you won’t require multiple plugins to handle edge caching, backups, enhance security, or improve speed. These features are integrated into the hosting solution, resulting in a faster website.

5. Increase WordPress Memory Limit

WordPress allocates 32 MB memory for PHP by default. If it runs into any crunches, it’ll automatically try to increase this limit to 40 MB (for a single site) or 64 MB (for a multisite).

In most cases, this memory limit won’t be enough for a WooCommerce site. You may even receive an error message on your dashboard, such as:

“Allowed memory size of xxxxxx bytes exhausted”

It’s recommended to increase this limit to 256 MB. Always do a backup of any file before you edit it. In case something goes wrong, you can replace the edited file with the original one.

6. Compress Images and Optimize Delivery

Images make up the bulk of any website’s page size, more so for an ecommerce site. WooCommerce sites are loaded with product images and banners.

If you don’t optimize images for size and delivery, they can bring your website to a crawl 🐌

HTTPArchive tracks the size and quantity of many popular web pages. Here’s a visual representation of the state of WordPress sites:

Images are a heavy resource
Images are a heavy resource.

According to HTTP Archive’s State of the Images report, you can save 545 KB per page by lazy-loading hidden and offscreen images.

By setting your JPEG compression levels to 85 or lower, you can further save 40.3 KB per page. This metric comes straight from Lighthouse, Google’s speed test tool for mobile websites.

Follow these 5 rules to optimize images for your WooCommerce store (and the web in general):

  1. Choose the right format for your images (JPEG, PNG, SVG, WebP).
  2. Compress the images efficiently using the right tools.
  3. Use responsive images to optimize delivery for various devices.
  4. Lazy-load offscreen and hidden images.
  5. Use a CDN to serve up your images fast.

WooCommerce 3.3 introduced image size improvements such as on-the-fly thumbnail resizing, blurry image fix, and background thumbnail resizing. All these features make using a plugin such as Regenerate Thumbnails for WooCommerce-related images redundant.

Customizing WooCommerce's Product Images through the WordPress Customizer
Customizing WooCommerce’s Product Images (Image source: WooCommerce).

If you’re starting with a fresh install, you can compress your images before you upload them to your site. Here are some of the top online image compression recommendations:

Compressing images losslessly on Compressor.io
Compress images with minimal loss in quality (Image source: Compressor.io).

Do you have many images already up on your site? Then you can use a WordPress plugin to automate image optimization. Here are the ones that consistently performed the best in our experience:

Most of these plugins also enable lazy-loading for images. With the release of WordPress 5.5, lazy loading became part of the core version, making it very easy to implement.

One last thing on image optimization—avoid using image compression plugins as much as possible, particularly the ones that use your server’s resources to compress the images.

Instead, use a service that offloads the image compression task to an external server. Or better yet, resize and compress your images before uploading them to your website.

For an in-depth tutorial, Kinsta’s article on image optimization for web and performance is a great resource to get started.

7. Deliver Static Resources via CDN

A Content Delivery Network (CDN) is a group of servers located strategically around the world. These server locations are known as Points of Presence (PoPs).

A CDN’s primary function is to cache and deliver static resources such as images, JavaScript, CSS, etc. More powerful CDNs can also host and deliver dynamic content such as audio and video.

Even if your site runs on the fastest server on the planet, it’s still limited by its geographical location. A WordPress CDN decreases the distance between the individual user and the site’s resources, reducing both network latency and time to first byte (TTFB).

Kinsta CDN with PoPs highlighted
Kinsta CDN PoPs

Depending on where the request is coming from, it automatically assigns the nearest CDN PoP to deliver the cached resources. The result is a faster website and a better user experience.

Your WooCommerce store can run at a maximum speed with our 260+ CDN PoPs.

For instance, if your WooCommerce store is hosted on a server in the USA, and a user from India tries to open your website, the CDN serves the website’s assets from the nearest PoP. Here it would be from Bengaluru (India).

An infographic showing how CDNs help with serving static content faster
CDNs are perfect for delivering static content (Image source: Seobility).

As a general rule, the higher the number of PoPs and the wider their global spread, the faster your website becomes for your users.

Kinsta put its CDN to the test and the results speak for themselves. For users in geographical locations that are considerably farther from the hosting server, using a CDN decreased site load time by over 50%.

Apart from caching, many CDNs include other performance-enhancing features such as superior on-the-fly image compression, HTTP/3 support, hotlink protection, and additional security.

To enhance the speed of your WooCommerce store, it is advisable to utilize a fast CDN. Kinsta offers a high-performance CDN, powered by Cloudflare, which is available to all Kinsta customers at no extra charge. This CDN serves your content from 260+ PoPs worldwide, contributing to improved performance.

8. Strip Unused Scripts and Stylesheets

Most WordPress themes and plugins load scripts and stylesheets on all your site’s pages. They load these assets even when they’re not used on the page.

For example, Contact Form 7 loads its scripts and stylesheets on every page. Its forms may only be used on the contact page, but the assets load on all the pages. Quite unnecessary!

Stripping these unused assets from pages helps you reduce bloat and enhance the speed at which pages load, leading to less time spent on spinning up sites and allocating headcount. WooCommerce and its extensions (e.g., Smart Coupons and Follow-Ups) are susceptible to this issue.

For instance, it’s unnecessary to load scripts related to payment gateways on your store’s homepage or shop page. You can restrict such scripts to load only on the checkout and order confirmation pages. Likewise, eliminate scripts and styles for sliders and carousels from your checkout page.

If you want to know which assets to eliminate, look at the waterfall chart in your website speed test report. It’ll give you an idea about the unnecessary assets that are being loaded.

An example of GTMetrix's Waterfall Chart
GTMetrix’s Waterfall Chart.

The Network tab under Chrome browser’s DevTools is also a good place to get started. It’ll give you a comprehensive view of how and what a web page loads.

The Network tab under Google Chrome's DevTools
Use the Network tab in Google Chrome DevTools.

Strip the scripts and styles that aren’t necessary for the functioning of the page. Start by optimizing your homepage and landing pages, since these are the first entry points for most of your users.

You can use wp_dequeue_script and wp_dequeue_style functions to remove scripts and styles you don’t need. An easy way to achieve the same is through a plugin called Asset CleanUp: Page Speed Booster.

Clean up your WordPress assets with Asset CleanUp plugin
Clean up your WordPress assets.

Asset CleanUp scans for all scripts and stylesheets that are loaded onto a page. You can disable the ones that aren’t used on the page. Test the page for proper design and functionality once you finish making the changes.

Unloading the Stripe payment gateway script from loading on a page with Asset CleanUp plugin
Unloading Stripe payment gateway script with Asset Cleanup.

The pro version of the plugin allows you to set async or defer attributes to the assets. Applying this setting removes JavaScript from the page’s critical rendering path. It should help with improving your site’s perceived page load time.

By eliminating unnecessary CSS and JS assets, your website makes fewer HTTP requests.

For a free alternative, you can use the combination of Autoptimize and Async JavaScript plugins to get the same results. If you go with the Autoptimize plugin, here is our full step-by-step guide on the best settings.

9. HTTP/2 is Essential, but HTTP/3 is Recommended

If we were writing this article a few years ago, we would’ve titled this section “Reduce the Number of HTTP Requests.” Thanks to substantial improvements in how browsers communicate with websites (and vice-versa), the need for this optimization is now obsolete.

HTTP 1.1, finalized in 1997, was improved upon by HTTP/2 in 2015 to boost speed, efficiency, and security with features like multiplexing and proactive server pushes. HTTP/3, the latest version, builds on QUIC to enhance performance and security through improved connection establishment, reduced head-of-line blocking, and enhanced encryption.

All this jazz amounts to one crucial advantage: making websites load faster, even when they host various types of resources.

Typically, WooCommerce stores serve a lot of resource-heavy assets such as images, stylesheets, and scripts. Sites like these benefit greatly by using HTTP/3.

As of now, every major browser supports HTTP/2. But there’s no reason you shouldn’t be taking advantage of HTTP/3’s massive performance and security benefits.

If your hosting provider doesn’t support HTTP/3 yet, start looking for a new one. Kinsta supports HTTP/3 and TLS 1.3 on all of its servers and CDN.

10. Cache WooCommerce to Speed It Up

Caching is temporarily storing resources (cache) from one request so that subsequent requests can be executed quickly. The cache can be stored on the server or the user’s device.

It’s one of the easiest ways to speed up your WooCommerce store. And it’s also the most important one. For Kinsta customers, built-in server-level page caching alongside Edge Caching is provided to cache resources and cut the time needed to serve cached WordPress HTML by an average of more than 50%!

When a user requests a website, the DNS server retrieves the webpage from the hosting server and the application on the web server processes scripts, queries the database, and builds the webpage, which is rendered and shown to the user by the browser.

But that’s just one request from a single user. What if there are multiple requests from thousands of users at the same time? That puts an enormous load on the server, eventually leading to a slower website.

This is where caching comes to the rescue. It reduces the amount of work required to generate a pageview, thus reducing WordPress’ dependency on PHP and a database. Caching makes WordPress perform almost as fast as static websites, if not the same.

There are two major types of web caching, each with its own subsets:

Server-Side Caching

Client-Side Caching

Caching not only makes the website load faster, but also reduces the load on the server. Kinsta’s in-depth article on WordPress cache is a great resource for a detailed explanation.

If your WooCommerce store is hosted with Kinsta, server-level caching is implemented to handle caching automatically. Hence, you don’t need to use a caching plugin.

Kinsta configures cache rules to work seamlessly with WooCommerce. This ensures that your users have a smooth checkout experience with no hiccups.

Also, the Early Hints feature, a modern web standard helps immediately improve how quickly pages load by providing additional information on what resources to preload, resulting in faster page rendering speed.

An example of improvement in WordPress load times after migrating to Kinsta
WordPress load times after migrating to Kinsta’s new servers.

If your hosting provider doesn’t handle caching at the server-level, then you need to depend on third-party caching plugins to do the work for you. While they aren’t an ideal solution, something is always better than nothing.

The WordPress caching plugin we recommend is WP Rocket.

11. Clean Up Your WooCommerce Database

A database is an organized collection of all your website’s data. In a WooCommerce store, it includes:

  • Site content such as product pages, categories, tags, user data, reviews, site-wide settings, theme, plugins, etc.
  • Transaction data such as order details, payments, inventory, etc.

Every time a user visits your store, they request your site content, which is mostly static and doesn’t change much. But when they place an order, they make a dynamic request.

If you don’t optimize your store’s database, it may take too long to process these requests. Ultimately, a slow server response time leads to a slow website. Hence, you must clean up and optimize the database by removing unnecessary junk.

There are several ways to perform database optimization, and we’ll go through them in the next sections. But your best bet is to improve your database with a superior host. For instance, Kinsta offers continuous MySQL database optimization and backups on all sites to optimize database performance. This way, you don’t need most database plugins, to begin with. In addition, managed hosting with Kinsta eliminates the need for you to check the backups and manage the optimization. It’s all done for you.

Apart from the optimizations Kinsta runs for you, here are 6 ways to speed up WooCommerce and fine-tune your database:

Delete Old Revisions

If your WooCommerce store has been up for quite a while, its pages, posts, and products will be filled with old revisions. It’s time to clean these up.

The easiest way to do it is with the plugin WP Rocket.

Deleting old post revisions with WP Rocket
Deleting old revisions with WP Rocket.

If you’re handy with WP-CLI, then you can also connect to your server via SSH and run a few simple commands to do the same. Here’s how you can do it.

Limit the Number of Revisions Stored

You can avoid having numerous old revisions by limiting the number of revisions for posts and pages. If you’re prone to updating your site content often, this helps you keep revisions from going out of hand.

An easy way to set the limit is by adding the below code snippet below to your wp-config.php file. Make sure to add it before the line where ABSPATH is defined.

define('WP_POST_REVISIONS', 15);

I’ve set the limit as 15 in the code above. You can change it to any number of revisions you want, but try to keep it below 15.

Alternatively, you can use a free plugin such as WP Revisions Control to do the same.

Using the WP Revisions Control plugin to limit the number of post revisions
Set the number of revisions with WP Revisions Control.

Disable Revisions Altogether (If They’re Unnecessary)

You can disable revisions from your site altogether. All you need to do is add the following code to your wp-config.php file. As before, ensure that you add this snippet above the line where ABSPATH is defined.

define('WP_POST_REVISIONS', false);

Or you can use a free plugin such as Disable Post Revision to do the same with a single click.

Before disabling revisions, we suggest you delete all the old revisions that are still present. This way, your site’s database is completely free of revisions going forward.

Clean up Expired Transients

Transients are cached data stored with a custom name and an expiration period. They’re usually stored in the WordPress database under the wp_options table.

Transients are similar to Options, except they have an added property of expiration time. They are useful for storing temporary data, such as responses from a remote API or large queries.

The WordPress Transients API defines how to handle transients and delete expired transients automatically. However, things don’t always go as planned.

Sometimes, a corrupt transient cache can create almost a million junk entries with no end in sight. Customer sessions can rack up over time, creating thousands of unnecessary rows in your database tables. In such cases, a bloated database can bring your site to its knees.

The free Delete Expired Transients plugin is an easy way to get rid of all expired transients.

Delete Expired Transients plugin panel screen
Deleted all your expired transients easily.

Clean up Your Database Tables

Your WooCommerce database stores everything that’s needed to run your ecommerce store. As data gets added, removed, and moved around the tables in your database, it becomes inefficient and ends up storing many things that aren’t important to run your store.

You need to clear out this unnecessary data by cleaning up your database tables. The wp_options table, in particular, is prone to getting bloated and hurting database performance.

The wp_options table in WordPress database under phpMyAdmin
The wp_options table in WordPress database.

Database housekeeping is key to keeping your WordPress site running swiftly.

Optimizing your database manually is a time-consuming process. You can use the free WP-Optimize plugin to check which database tables have unnecessary data and delete those wasted spaces. It can also retrieve storage space lost to data fragmentation.

You can schedule WP-Optimize to clean up and optimize your database regularly.

Disable Non-Critical Features That Tax the Database

WooCommerce themes and plugins come with a lot of cool features that seem great from the outset but end up crumbling the database.

One example is using Popular Products and Related Products plugins. These features can cause enormous sitewide queries, especially if you have many products. If you need these features, try to insert them manually into your pages. Plugins such as Advanced Custom Fields can help here immensely.

Kinsta inserts its Related Content
Kinsta inserts its ‘Related Content’ posts manually.

Another example is image optimization plugins that compress images on the same server where the site is hosted, rather than do it externally. This ends up using a lot of your server’s resources.

Social Warfare plugin is known to be taxing on your server
Social Warfare plugin can tax the server resources.

Also, stay away from plugins that add counters to your site. For example, adding the number of views/posts/comments beside a username. A lengthy discussion with multiple users involved stresses your database to crunch these numbers.

This advice holds true for using social counters too. Minimize the use of auto-generated counters to maximize database performance.

Like housekeeping, fine-tuning your WordPress database is an ongoing process.

Keeping this in mind, Kinsta has implemented an automated system to combat database performance issues. Based on your site’s needs, the automated system scans and fine-tunes your MySQL database continuously to ensure peak database performance. If the system detects something out of the ordinary that can’t be fixed automatically, it notifies the sysadmin team to take immediate action.

If your site is hosted somewhere else, you have to rely on tools that don’t do that on the server side. Here are a few database optimization plugins to make your job easier:

Reminder: Always take a backup before editing your database or WordPress core files.

12. Optimize Your Store for Mobile-First Experience

In 2022, the number of internet users worldwide stood at 5.3 billion, which means that around 66% of the global population is currently connected to the world wide web:

There are billions of us.
There are billions of us (Image source: Statista).

Mobile devices overtook desktops in global website traffic in 2019, generating 52.6% of the total pageviews. In some countries such as India and Nigeria, mobile phones account for 70%+ of web page views:

Mobile website traffic
Mobile website traffic (Image source: Statista).

According to research from Statista, “mobile phones generate most of the digital commerce website visits around the world and also create the largest amount of orders. As of the last quarter of 2022, smartphones accounted for approximately 74 percent of retail site traffic worldwide and generated 63 percent of online shopping orders.”

Surprisingly, the conversion rate for mobile phones is more than half that of desktops. And, with the modernization and optimization of smartphones and tablets, there’s still phenomenal room for growth here.

The speed of making purchases from mobile devices also counts:

58% smartphone users are more likely to buy from mobile-optimized websites
Speed counts a lot for mobile shoppers (Image source: Think with Google).

You can start by making your WooCommerce store mobile-friendly. You can use Google’s Mobile Friendly Test tool or the Lighthouse tool from Chrome to check whether your site passes the minimum mobile usability standards.

Google's Mobile Friendly Test tool
Google’s Mobile Friendly Test.

The test shows you a snapshot of how your website looks on a mobile device. It also lists any mobile usability issues, if any.

The easiest way to make your WordPress website mobile-friendly is to use a responsive theme. All the themes mentioned earlier in this post are responsive out of the box and look great on mobile devices.

Mobile shoppers don’t enjoy scrolling endlessly. Hence, keep your store pages as lean as possible. Don’t overcrowd them with too much content.

If you have loads of products listed on your store, make it easier for your mobile shoppers to find them through search. You can install the WooCommerce Product Search plugin to help your customers find products swiftly with live product filters.

WooCommerce Product Search plugin screenshot
Simplify product search with filters (Image source: WooCommerce).

Finally, streamline the checkout experience for your online shoppers. The fewer the steps to place an order, the better the shopping experience. Here are a few WooCommerce extensions that can help you with this:

  • WooCommerce Social Login — Eliminates the need for time-consuming account creation or login process. Let your users log in with their social accounts such as Facebook, Twitter, Google, etc.
  • Variation Swatches and Photos — Say goodbye to annoying dropdown menus to select product variations. Instead, give your users easy-to-tap buttons for all your product options.
  • One Page Checkout — Don’t let your customers abandon your site that easily. Allow them to purchase what they want instantly with no extra steps. If you think guest checkout is a great fit for your store, then you can look into enabling it.
  • Checkout Field Editor — Add, remove or change fields from your checkout page. For instance, if you only sell digital products, you do not need to collect shipping addresses.
  • Bolt / Stripe / Amazon Pay / PayPal — Payments are the bane of mobile shopping experience. You can choose from different WooCommerce payment gateway extensions to make it easier to collect payments.
Bolt payment gateway extension for WooCommerce
Easy mobile checkouts with Bolt.

Ultimately, mobile shopping is more than just about making a purchase. Many users use it primarily to look up product information and check/compare prices. Make your online store experience great for your users on their mobile devices.

13. Disable Get Refreshed Fragments AJAX Request

When a user makes any changes to their shopping cart, WooCommerce uses the Get Refreshed Fragments AJAX request to update the shopping cart contents dynamically. Refreshing the cart page without reloading it seems great from a user experience perspective.

But most times, it slows down websites, mainly those hosted on shared servers. Plus, a lot of sites don’t end up using this feature.

Just to verify, we tested an up-to-date WooCommerce store on Pingdom Tools and here are the results:

Load time chart for WooCommerce's Get Refreshed Fragments Ajax request
That’s a lot of wait time for one request.

Despite being just 1.1 KB in size, the wc-ajax=get_refreshed_fragments request takes 0.76 seconds to execute. If your site takes 3 seconds or less to load, that’s over 25% of the page load time. This test site is hosted on a cloud VPS, so you can imagine the load times on a cheaper hosting plan.

This post by WebNots covers the issue in greater detail. You can use the free Disable Cart Fragments or Disable Cart Fragments by Optimocha plugins to disable this taxing request.

If you disable this request, then it’s recommended to enable the option Redirect to the cart page after successful addition from your WooCommerce’s Products settings panel.

WooCommerce Product settings panel to enable Redirect to Cart behaviour
Remember to enable this setting afterward.

Enabling this behavior ensures the user is redirected to the Cart page after adding a product to their cart.

Optimizing WooCommerce Admin Panel

Speed isn’t an important factor for only your store’s frontend. A snappy backend is just as crucial to manage your store with ease and make quick changes whenever needed.

Working efficiently on your WooCommerce admin panel is the key to being productive. It also frees up your time to do more essential stuff for your WooCommerce store’s success, like online marketing.

Below are a few ways to fix a slow WooCommerce dashboard.

Frontend Optimizations First, Backend Optimizations Second

Does the problem only occur with the WordPress admin dashboard and not the whole website? If it’s the latter, then apply all the optimizations listed earlier first.

Why? Because, in most cases, making your WooCommerce store load faster on the frontend optimizes the backend too. We can attribute this to freeing up resources on your server.

With Kinsta’s self-healing PHP feature, and continuous database monitoring, we optimize your site constantly from the server side.

If your admin dashboard lags even after optimizing the frontend, then carry on to the following suggestions.

14. Remove Bloat and Update Everything Regularly

Make sure to update WordPress, WooCommerce, plugins, extensions, and the theme frequently. If a theme or plugin is no longer supported by its developers, it’s time to consider ditching them.

Likewise, if a theme/plugin adds unnecessary bloat to your dashboard, start looking for better alternatives. For instance, you might consider alternatives to plugins that serve aggressive ads in your dashboard.

Yoast SEO plugin Big Banner Animated Ad inside the WordPress dashboard
Example of banner in WordPress admin.

This issue is so prevalent that there are plugins solely dedicated to removing bloat from some of the most popular WordPress plugins.

15. Disable Object and Database Cache

Cache plugins are a great way to speed up your WordPress site. However, if not configured properly, they can lead to unexpected results. That includes slowing down your backend.

Kinsta customers don’t need cache plugins as they can boost their overall optimization by taking advantage of code minification available through the Kinsta CDN that is built right into the MyKinsta dashboard. This feature allows customers to enable automatic CSS and JavaScript minification with a simple click, effectively speeding up their sites with zero manual effort.

This reduces the need for personnel involvement, saving you and your team developer time and resources.

If you don’t use Kinsta, W3 Total Cache is one of the most popular caching plugins for WordPress. It’s free, supports plenty of caching options, does JS and CSS minification, integrates with a CDN, and is used by 1+ million websites.

WordPress W3 Total Cache General Settings Panel
Cache options in W3 Total Cache.

W3 Total Cache features the following cache options:

  • Page Cache.
  • Opcode Cache.
  • Database Cache.
  • Object Cache.
  • Browser Cache.
  • Fragment Cache.

Having a lot of options is confusing, especially for beginners who don’t understand what each type of caching does.

Object and database caching speed up the website by reducing the number of database queries, but they do so at the cost of offloading the work to the server’s memory.

If you use a hosting server that is smart and powerful like Kinsta, this would not pose a problem to you as with Kinsta, server-level caching is already in place, so you don’t need to worry about caching or searching for cost saving caching plugins.

Unfortunately, that’s not the case with every hosting provider.

In that scenario, you need to depend on a third-party caching plugin such as W3 Total Cache. Its simple settings make it super easy to enable all types of cache with just a single click.

In the W3 Total Cache → General Settings panel, disable object cache and/or database cache. Then check whether you see any improvements in your admin panel’s responsiveness.

W3 Total Cache Disable Database and Object Cache
Disable Database and Object Cache.

Experimenting with the cache isn’t as simple as ticking or unpicking options in your plugin settings. You should also check whether your site works properly after making the changes and flushing your old cache.

16. Remove Plugins with High Resource Usage

Kinsta provides its customers with automatic security checks for every plugin installed to discover vulnerabilities and/or security issues. In the rare event that something happens to your site, our 100% Malware Security Pledge means you get hands-on assistance from our engineers free of charge.

Some WordPress plugins are a great resource hog on your web server. They end up using most of your server’s CPU and RAM.

With the free Query Monitor plugin, you can find the troublesome plugins you have installed. It shows you all the scripts, styles, and HTTP API calls that are being loaded by your website, along with their size and loading time. Look out for the ones that have the most number of requests and the slowest load times.

On the test site below, the Classic Editor plugin loads the slowest on the admin side. Other plugins like Loginizer and WP Bakery (formerly Visual Composer) also show up as potential bloat.

Query Monitor plugin dashboard to find the slowest plugins
Query Monitor helps you troubleshoot performance issues.

We found that the migration and Classic Editor plugins are unnecessary. Removing these two plugins fixed the admin speed considerably.

WooCommerce stores with an international audience use translation plugins like WPML to serve the site dynamically in multiple languages. It’s a great plugin with a lot of features, but it can also slow down your admin backend considerably.

You can gain some performance advantage by switching to a lean translation plugin such as Polylang. It has fewer features but works great for most use cases.

Plugins that have a lot of ongoing processes/scans slow the performance of your WordPress backend. Some examples include sitemap generators, analytics graphs and charts, page builders, and chat plugins.

17. Use Proper CDN Settings for WordPress

CDN helps to serve your WooCommerce store at lightning speed to users all around the world. It does this by saving a snapshot of your site’s resources and delivering them from the nearest server to the user.

Kinsta’s CDN powered by Cloudflare eliminates the need for customers to manually set up a CDN, as it is automatically handled for them on all plans. This leads to less time spinning up sites.

Most CDNs disable caching on the WordPress backend by default. But some CDNs don’t, and this can slow down your store’s admin panel drastically. In such a case, you need to exclude your admin dashboard from the CDN’s cache to improve its performance.

One way you can do this is with Cloudflare (if you don’t use Kinsta). You can set up a Page Rule to disable Cloudflare features on WordPress admin pages. Here’s how to do that:

  1. Go to the Page Rules section under your Cloudflare dashboard.
  2. Add *example.com/wp-admin/* in the URL field.
  3. In the settings fields, choose Cache Level and Bypass options.
  4. You can also add extra settings such as Disable Performance and Disable Security (not recommended). These settings are optional.
  5. Then click Save and Deploy.
Cloudflare Page Rules.
Cloudflare Page Rules to bypass WordPress admin.

It should take around 3 minutes for the settings to take effect.

If you’re using KeyCDN, then you can use their WordPress Cache Enabler Plugin to do the same. For other CDNs, please reach out to their support to sort this out.

18. Streamline WordPress Heartbeat API

The WordPress Heartbeat API enables near-real-time updates by maintaining a regular connection between your browser and your server. The API sends requests to the server every 15-60 seconds and then triggers events (or callbacks) upon receiving data.

It allows some amazing features such as autosaving posts, locking posts, and login expiration warnings. However, when you’re logged in as an admin, sending a few requests to the server every minute can slow down your admin panel.

WP Rocket allows you to manage the frequency of these API requests on the dashboard, frontend, and post editor. It even gives you the option to disable the API altogether.

WordPress Heartbeat Control plugin panel
Modify or disable WordPress Heartbeat API.

Start by increasing the frequency of time. If that doesn’t fix your WooCommerce backend’s speed issues, consider disabling the heartbeat API.

If applying all the above optimizations still doesn’t fix your WooCommerce store’s speed issues, then check the type of hosting you are using. The next section explain the various types of hosting and which is best for a WooCommerce store.

Managed vs Unmanaged WordPress Hosting

There are different types of WordPress hosting for sites that fall under two main categories: managed and unmanaged. The first is perfect for most users, as the hosting provider handles all the server settings for WordPress. The latter is better suited for technically proficient users who can tweak and manage the server on their own.

For a WooCommerce website, go for a great quality WooCommerce Hosting provider, like Kinsta. Although managed hosting tends to be more expensive than regular hosting, it’s worth the price.

You can choose from 4 major types of Managed WordPress Hosting. Each comes with its own pros and cons, so select the one that aligns with your budget and goals. I’ve compared them in the infographic below for various features.

An infographic of 4 main types of Managed WordPress hosting
4 main types of Managed WordPress Hosting.

Given the requirements we presented above, you can safely eliminate Shared Hosting.

A Virtual Private Server (VPS) is like shared hosting, except you have a virtual space in a shared server dedicated solely to you. If you’re on a strict budget, you can get started with a mid-range VPS plan. However, if your site attracts more traffic, you’ll have to upgrade soon.

This leaves us with Cloud Hosting and Dedicated Server options. Both are great for WooCommerce sites if they fulfill your requirements.

The prices for dedicated server plans are on the higher side as compared to cloud hosting plans, which can range from ~$50/month to thousands of dollars per month.

Kinsta’s cloud hosting plans check off all the recommended WooCommerce requirements, providing dedicated resources and fully managed hosting built on Google Cloud Platform with its Premium Tier and C3D and C2 machines, available for all plans. Its container-based hosting is perfect for WooCommerce as it offers a unique infrastructure that containerizes site resources and increases and performance levels on a per-site basis. It also comes with firewalls, backups, and excellent support, ensuring high uptime and reliability. If you want to extend the features further, Kinsta offers add-ons such as support for Redis, extra backups, reverse proxy, and more.

Below is an example of performance gains after Kinsta migrated an ecommerce site to Google Cloud Platform’s new Compute-Optimized VMs (C2).

Performance increase chart after Kinsta upgraded an ecommerce site to GCP's new C2 platform
Massive performance benefits after migration.

From ~665 ms to ~500 ms, that’s a whopping ~25% increase in performance! This means customers can benefit from Kinsta’s speed performance stats, with load times 39% faster compared to main competitors. The company’s track record is supported by case studies showcasing better UX, SEO, and ROI for ecommerce sites.

If you’re spending a considerable amount of money on marketing, you’re pushing away all your leads if your site is slow, so it’s well worth opting for the fastest WordPress hosting solutions.

Kinsta provides you with a dashboard (MyKinsta) that includes a variety of useful site management tools: database search and replace, free and built-in APM tool, free IP Geolocation manager, ionCube loader, PHP restart, and more. For developers and agencies, Kinsta offers a powerful local development tool called DevKinsta. With DevKinsta, you can clone and develop your projects locally and push updates to Kinsta when ready. WordPress multisite is also supported.

Ultimately, you’re better off spending a few extra dollars every month on quality hosting, rather than spending hours pulling out your hair and wondering why your site still has a high bounce rate.

“We wanted to work with teams focused only on the WordPress and WooCommerce ecosystem. This is truly needed as our own team lives and breathes custom WordPress solutions. In essence, we were looking for a hosting company to be our own WordPress DevOps team partner.

In our search, one name popped out more than others, and it’s one that has created a real buzz in the community: Kinsta.”

– Kresimir Koncic | Director | Neuralab

Summary

Time is literally money for an ecommerce site. A fast WooCommerce store boosts user experience, SEO, revenue, and ROI.

While you don’t have to follow all the speed optimization tips listed in this post, we recommend you go through all of them. This helps you identify any bottlenecks in your site. No one likes to wait for a site to load. Let’s speed up WooCommerce!

Salman Ravoof

Salman Ravoof is a self-taught web developer, writer, creator, and a huge admirer of Free and Open Source Software (FOSS). Besides tech, he's excited by science, philosophy, photography, arts, cats, and food. Learn more about him on his website, and connect with Salman on Twitter.