How to Fix WooCommerce Performance Issues with Kinsta APM. (Real-World Examples).

Your online business’ success depends on your ability to fix WooCommerce performance problems. Your users will have a better online shopping experience if your ecommerce website is responsive. The more user-friendly your site is, the more likely they will place an order. This results in more sales and higher profits. Performance is the key to your Woocommerce store’s success.

A study found that 46% of users won’t visit a site with poor performance. Ecommerce websites can lose out on sales opportunities due to poor performance. You can also lose more sales on high-traffic days like Cyber Monday and Black Friday if your site isn’t optimized for performance.

Although there are many ways to speed up your ecommerce website, it can be difficult to quickly fix a performance problem. This requires proactive monitoring of your site’s environment. Kinsta APM, an application performance monitoring tool, can be extremely helpful in this regard.

This article will explain the components of an ecommerce website, why an APM tool is necessary to monitor its performance, and how Kinsta APM can help you keep track of your WooCommerce site’s performance.

Remember that your ultimate goal should be to increase your store’s revenue. Download our free ebook 10 Ways to Boost WooCommerce Product Page Conversions.

Are you ready to start? Let’s go!

A variety of components that make up an Ecommerce site

All pieces are important to ensure that an ecommerce website runs at its best. Everything matters, from the hosting infrastructure to the ecommerce platform, through third-party integrations, and even the checkout process.

A typical WooCommerce store stack

Whether you’re selling craft beers or drone training courses, an ecommerce platform like WooCommerce makes it a piece of cake to quickly set up and launch an online store.

Its various extensions also make it super simple to extend the store’s functionality with many essential components.

Tracking various ecommerce components is complex

The more links there are in a chain, the harder it is to find the defective joint when an issue arises. All this complexity can lead to increased performance and availability problems. It affects your capability to respond quickly to performance issues and fix them before they impact your customers.

The solution? Using an application performance monitoring tool.

We’ve explicitly designed Kinsta APM to monitor the performance of WordPress sites, including WooCommerce stores hosted at Kinsta.

46% of users won’t revisit a poorly performing site which is why monitoring your ecommerce site’s performance is essential for your reputation and your revenue.
💰

Find out more about our APM tool here

⬇

Click to Tweet

Kinsta APM for WooCommerce Sites: The Benefits

Performance issues on WooCommerce sites can have a significant impact on your online business. These problems can be prevented or solved by Kinsta APM. Kinsta APM has many benefits, including:

Increased Sales and Revenue

Ecommerce sites need to perform well in order to be profitable. A good understanding of metrics and DevOps skills is essential for maintaining a site that works well. Kinsta APM simplifies this task for you and your team. Kinsta APM’s greatest benefit is its impact on revenue and sales.

Improved User Experience

It can be difficult to gauge the satisfaction of your users as they might go silent when confronted with performance or speed issues. Worse, they might visit a competitor’s website. A powerful APM tool such as Kinsta APM can give you performance insights to help you ensure your WooCommerce customers are satisfied.

Brand reputation damage is curtailed

Digital technology has made it easy for words to travel fast. Your ecommerce website is now a matter of routine. They expect it. They expect it. Kinsta APM can help you keep your site running at its best.

Productivity and happiness increase

An improved site performance means a higher level of productivity for your staff. Your development team won’t need to spend as much time on performance issues. Support staff does not have to handle as many tickets. Marketing teams can complete more campaigns in a shorter time. Sites that perform well are more productive and happier for everyone.

You can use your time for innovation

Ecommerce marketing is built on the principle of innovation. Kinsta APM’s simplicity fosters collaboration and helps to foster business growth strategies. Kinsta APM also allows for faster problem resolution and allows for the rapid rollout of new features.

Host and IT Infrastructure costs are reduced

Kinsta APM helps you get the most out your hosting infrastructure by identifying performance bottlenecks. Kinsta APM allows you to optimize your WooCommerce website to increase its performance. Kinsta APM also helps you identify and fix any third-party plugins or extensions that are causing problems.

How to Fix WooCommerce Performance Problems with Kinsta APM

Now it’s time to look at some real-world examples to see how Kinsta APM can fix WooCommerce performance problems.

The basics of Kinsta APM

First, let’s get to the point! Before you start troubleshooting WooCommerce sites with Kinsta APM, you need to be familiar with its terminologies. Also, you should know how to read their insights. To get started, you can refer to the Kinsta APM knowledgebase.

You can find more information about Kinsta APM in the FAQ section.

The Test WooCommerce Site & Setup

Kinsta APM only works with WordPress websites hosted at Kinsta. To simulate the most common issues with online stores, I created a test WooCommerce website. To ensure an SSL/TSL handshake, I used an actual domain.

Here are the details of the test site:

Server Stack: PHP 7.3.24-3 and MariaDB 5.5.5WordPress Version : WordPress 5.5.3Theme : Astra Theme 2.6.1Primary plugins: WooCommerce 4.7.1, WooCommerce Car Abandonment Recovery. Kinsta Must-use WordPress Plugins. Akismet Anti Spam.

To illustrate specific examples, I modified the site with custom plugins. This article aims to show how to use Kinsta APM in different situations to troubleshoot various WooCommerce performance problems.

1. WooCommerce APM: Slow Third-Party API Calls during Checkout

Third-party integrations are used by most ecommerce websites to manage critical processes like payments and shipping. Third-party plugins such as Mailchimp or MailerLite are used by many WooCommerce sites for email marketing.

Third-party services can impact the performance of your WooCommerce website. It should be taken seriously if you notice any changes in your checkout process.

Stripe API down tweets from the Stripe Status account
Stripe’s API faced a major outage last year.

In this example, the site took too long to respond whenever a user added a product to their cart. Sometimes, the site took over 5 seconds to respond. That’s a perfect recipe for shopping cart abandonment.

Let’s fire up Kinsta APM to diagnose the problem.

To get started, go to your site’s MyKinsta dashboard, and then head over to the Monitoring section.

Click the Enable button under the Performance monitoring section to let Kinsta APM collect your site’s performance metrics.

WooCommerce APM - MyKinsta
Enabling Kinsta APM in the MyKinsta dashboard.

If you’ve enabled Kinsta APM before (as here), you can see past performance data for that period displayed in the chart and table.

After enabling Kinsta APM, I tested the site and waited for the performance metrics to populate in the Kinsta APM dashboard.

Ideally, wait at least 5 minutes before you dig into the data. It’ll ensure that Kinsta APM has collected enough performance data to present actionable results.

The Kinsta APM main dashboard screen
The Kinsta APM main dashboard screen.

Using the dropdown menu to the left of the EnableDisable button, you can also change the duration Kinsta APM uses to crunch the performance metrics.

Changing the total duration used by Kinsta APM
Changing the total duration used by Kinsta APM.

In the Overall transaction time chart, you can see that External calls take up most of the space. It hints that third-party services may be the culprit behind the slowdown.

Next, you can scroll down to the Slowest transactions table to see the requests or background tasks that took the most time to execute.

WooCommerce APM - list of the slowest transactions
A list of the slowest transactions in Kinsta APM.

You can see that requests to the /single-product URL took up the most time. On a WooCommerce site, this endpoint refers to any product page.

Click the /single-product transaction to get curated samples of its slowest transactions.

Transaction samples of the slowest transaction
Transaction samples of the slowest transaction.

Here, look into the slowest transaction sample as its duration is 5,535.14 ms (or 5+ seconds). It’s way above the expected response time. Let’s click this transaction sample to dig deeper into it.

Transaction sample details in Kinsta APM
Transaction sample details in Kinsta APM.

You’ll now see this sample’s Transaction trace timeline. It’ll list time-stamped details of all the processes that occurred in this transaction.

Scroll down through the timeline to find the slowest spans.

Finding the slowest spans in the transaction trace timeline
Finding the slowest spans in the transaction trace timeline.

Kinsta APM highlights spans that need your utmost attention with the red color.

Here, the spans are slow.payment-api.com and update_card_payment. Click on both the spans to see a detailed overview of them with a full stack trace and other related information.

‘Span details’ and ‘Stack trace’ in Kinsta APM
‘Span details’ and ‘Stack trace’ in Kinsta APM.

By looking at the Span details section, you can infer that it’s an external HTTP request.

The Stack trace section helps you identify all the processes involved in making this HTTP request. Here, we can see that WC_Form_Handler::add_to_cart_action is engaged. Further up, we see that it also involves a non-core WordPress script called payment-api.php.

Note these down as evidence. However, there’s one more span we have to investigate.

Let’s see the details about it.

‘Span details’ for a PHP script run by a plugin
‘Span details’ for a PHP script run by a plugin.

Kinsta APM shines the most here. It digs into all the processes related to this span, and then it gives some context to it. You can see that it’s a PHP script/function named update_card_payment inside the payment-api plugin.

You’ve bagged enough evidence now to make a sound judgment about where to begin your troubleshooting process.

I’d follow this diagnosis by looking into the payment-api plugin, specifically for a PHP script or function called update_card_payment.

If you or your staff don’t have the technical expertise to fix these issues, you can hire a WordPress developer to look into them.

Next, I’d contact the plugin author to look into their payment API, as it’s responding super slow. Kinsta APM can nudge you in the right direction to identify the root cause of a performance issue quickly. What you do with this knowledge is up to you!

Info

In most cases, fixing performance-related issues identified by the Kinsta APM tool falls out of our support scope. If you require additional help with optimizing your WordPress site, we recommend reaching out to one of our partners.

2. WooCommerce APM Example: Slow WooCommerce Admin Dashboard

An online store’s backend performance is just as crucial as its frontend performance. While a slow WooCommerce admin dashboard can negatively impact your productivity, a faster backend can increase your efficiency in managing everyday tasks and how quickly you respond to customer orders.

Having an efficient WooCommerce dashboard also enables you to do more essential things for your online store’s success, like digital marketing.

WooCommerce 4.0 introduced a streamlined dashboard for easy store management
WooCommerce 4.0 introduced a streamlined dashboard.

Ideally, backend optimizations start with frontend optimizations, as in most cases speeding up the frontend fixes performance issues on the backend too. With Kinsta APM, you no longer have to rely on guesswork such as this. You’ll get to see the exact performance data for the entire site, helping you fix any performance issues.

In this example, the admin dashboard is sluggish for the admin and store managers. That’s not ideal for taking care of the online store’s daily operations.

Let’s fire up Kinsta APM to see what’s the issue.

After enabling Kinsta APM, I waited over 15 minutes before digging into the performance data. While waiting for that, I used the WooCommerce backend as usual.

WooCommerce APM - Fix performance issues with Kinsta APM
Performance metrics in Kinsta APM’s main dashboard screen.

The Overall transaction time chart indicates that PHP processes take up the most time, followed by external calls.

Looking at the Slowest transactions table will give us a better idea of which requests take up most of the time.

Finding the slowest transactions in Kinsta APM
Finding the slowest transactions in Kinsta APM.

From the chart above, it’s clear that two transactions hog most of the time: /wp-admin/admin-ajax.php and /wp-admin.

Need a hosting solution that gives you a competitive edge? Kinsta’s got you covered with incredible speed, state-of-the-art security, and auto-scaling. Check out our plans

High Admin-Ajax usage is one of the most common performance issues faced by WordPress site owners. Let’s investigate this transaction further.

Transaction samples for admin-ajax.php requests
Transaction samples for admin-ajax.php requests.

All the admin-ajax.php transaction samples have almost the same duration. A transaction duration of more than 10 seconds is abnormally high.

Let’s check out its slowest sample.

The slowest transaction sample for admin-ajax.php
The slowest transaction sample for the admin-ajax.php request.

Scroll down through the Transaction trace timeline to find the spans of interest. In most cases, Kinsta APM will highlight them.

However, that’s not always the case, like in this one:

Finding the slowest spans in the transaction trace timeline
Finding the slowest spans in the transaction trace timeline.

You can observe two spans with unusually high duration: snail_admin_refresh PHP process and suspicious-link.com GET external HTTP request.

Examining the slowest span’s details in Kinsta APM
Examining the slowest span’s details in Kinsta APM.

Checking the span details will point you towards the plugin running this PHP process. Here, it’s a plugin called snail-admin-refresh-notice. I wrote it to output a hideous notification in the WordPress dashboard, just like some popular WordPress plugins.

Inspecting the stack trace on another slow span
Inspecting the stack trace on another slow span.

Looking at the Stack trace of the suspicious-link.com GET span, you can spot that it’s related to the same plugin.

An annoying WordPress notice example
The annoying WordPress admin notice.

Here, the cause of the slowdown is literally in the face. However, that’s not always the case. If multiple users use the WooCommerce dashboard simultaneously, they can tax the server’s resources even more. It may even render the dashboard inaccessible for some users.

By helping you identify the root cause of any performance issue quickly, Kinsta APM enables you to keep your WooCommerce dashboard performing at its best, always!

3. WooCommerce APM Example: Slow Shop and Product Pages

Users can’t wait for slow pages to load, especially when it’s a shop or product page. According to Google’s usability study, users abandon a page when it takes longer than 2.5 seconds to respond.

One of the product pages in the test WooCommerce site
One of the product pages in the test WooCommerce site.

There could be many reasons a WooCommerce shop or product page is loading slowly:

The shop page may have too many products loading at once.The product page’s size may be large because of unoptimized images, scripts, third-party requests, etc.The shop or product page may load many uncacheable dynamic contents on each request’s page.A plugin or the theme may insert custom scripts on every product page to enable extra functionality (e.g. social share counters, related products).

In this example, we’ll diagnose slow product pages on our test WooCommerce site. They’re taking an unusually long time to respond, which usually is disastrous for conversion rates.

Let’s enable Kinsta APM and try loading some product pages.

I’ll test them for at least 5 minutes before seeing what’s up with the site’s performance metrics.

Notice the sharp increase in MySQL related transaction time
Notice the sharp increase in MySQL-related transaction time.

From the Overall transaction time chart, you can observe a drastic uptick in the time taken for MySQL queries. And going by the timestamp, it’s all recent.

Let’s choose a shorter duration to focus on these recent transactions. That’ll rule out all the older performance metrics from our current diagnosis.

WooCommerce APM - Choosing a shorter duration in Kinsta APM
Choosing a shorter duration in Kinsta APM.

Now let’s peek into the Slowest transactions table and see which requests take up the most time.

Requests for individual product pages is the slowest
Requests for individual product pages is the slowest.

As expected, the /single-product transaction takes up most of the total duration. WooCommerce triggers this request when a user visits any individual product page.

Its maximum duration (136,417.63 ms) is extraordinarily high.

Let’s check it out.

Transaction samples for the individual product page requests
Transaction samples for the individual product page requests.

I’ll click on the slowest sample to inspect it. Scrolling through its Transaction trace timeline will give us a better idea of what’s causing this performance issue.

The troublesome span highlighted in bold red
The troublesome span is highlighted in bold red.

You can see that Kinsta APM has highlighted the taxing span with a bright red color. Looking at its icon, you can infer that it’s a database query.

‘Span details’ and ‘Stack trace’ of the slow database query
‘Span details’ and ‘Stack trace’ of the slow database query.

Kinsta APM crunches the stack trace of this span and identifies the plugin generating this taxing database query.

Here, it’s a plugin named woocommerce-related-products. It’s a WooCommerce extension that dynamically generates a slider of related products for every individual product page based on various criteria.

The ‘related products’ slider in a product page
The ‘related products’ slider on a product page.

Under the Span details, you can also see the database statement I injected into this WooCommerce extension to simulate this performance issue.

For large WooCommerce stores selling hundreds (or thousands) of products, introducing a new feature, or updating an existing one may cause unexpected performance issues. Problems like the one shown above are quite common. Kinsta APM makes it easier to diagnose and fix them.

Frustration. Annoyance. Disappointment. All things customers could feel if your ecommerce site has performance issues.
😬

Our built-in APM feature allows you to get in front of the problem and start monitoring your site immediately

✅

Click to Tweet

Summary

It’s a fast-paced, connected world. WordPress and WooCommerce allow you to sell products online, no matter how small or large your business is. You can also find fast themes for either WordPress or WooCommerce.

The key to an online shop’s success is user experience. It all depends on its performance. It can be difficult to monitor WooCommerce stores’ performance, as this article shows.

This article will show you how to use Kinsta to resolve WooCommerce performance issues like slow dashboards, long API calls, and slow database queries. Kinsta APM helps you quickly identify performance issues and fix them without causing disruption.

Kinsta APM gives you a competitive edge in today’s market. Get down to business today!

The post How to Fix WooCommerce Performance Problems using Kinsta APM (Real World Examples)