eCommerce Store Optimization (Slow Add to Cart and Checkout at WooCommerce)
A nail polish company once decided to move its site from Magento to WooCommerce. The decision was due to restrictions on Magento. Our partners moved the site, but technical changes and web page optimization were necessary.
A year before, the client faced a situation that significantly reduced the company’s profit. It was Black Friday, and this was an opportunity to get the maximum profit. However, due to slow checkout, about 15% of orders were simply lost. Professional optimization was necessary to ensure that this experience would not be repeated.
In addition, one of this marketing campaign’s elements is an email newsletter. At peak times, the site experienced difficulties with loads, which adversely affected sales on trading days. The mailing had to be segmented and divided in time. This greatly hampered marketing opportunities.
In parallel, a large project was being worked out to move to a scalable infrastructure based on Kubernetes. The idea was that the database and business logic are separated, at peak times the number of machines that serve the project grows, and then when the load decreases, it decreases. Separately, it is worth noting that it would cost many thousands of dollars a month plus a large amount for initial setup and further support. Let’s take a closer look at our WordPress development company’s approach to optimizing this website.
Audit: Scope of Work Assessment
Before starting to optimize the WordPress website, we conducted a detailed audit. Two main areas of activity were identified. The first is the table with orders optimization, it was this direction that needed to be worked out to prevent the problem that happened on Black Friday in the future. The second area of our team activity is to find a problem with caching. If there are problems with caching, this affects the pagespeed, and therefore the user experience.
How We Optimized WordPress Website
Optimization took place in several stages and the site was constantly tested for bugs. Any mistake could cost several thousand dollars in the future. What we did to optimize the customer’s website:
- Tables with order optimization. We have created a separate MySQL-optimized table for customer orders. It replaced wp_posts + wp_postmeta which were before optimization. The result was that orders were not lost, which means that the risk of missing a client was zero.
- Increase website speed for logged-in customers and customers who have added something to the cart. A paid plugin for permalinks was installed on the site. It was flushing cache on every page load. So once a user added something to cart, cache wasn’t working anymore for this user. We removed it, added a few rewrite_rules via code, and added a test that always rechecks them. As a result, absolutely all pages began to load faster than 500-600ms.
- Cancellation of the move to a scalable infrastructure based on Kubernetes. This step is no longer necessary. As a result, we saved the client several thousand dollars, because such manipulation costs a pretty penny.
We did not move old orders to a separate table because this refactoring was already planned in a newer WooCommerce version and was quite a risky undertaking.
In Conclusion
In total, we spent about one week auditing and finding problems, and a couple of days fixing them. As a result, the company’s profit growth was approximately $ 100,000 on the first advertising campaign, when compared with previous experience under equal conditions for offers, prices, and other factors. The claim that WordPress is slow is a myth. It is made slow by unprofessional plugins and themes, their incorrect configuration, dirty code, and an amateur approach to programming. Thanks to our WordPress development agency integrated approach, the client’s website works much faster, and the risk of missing a customer’s order has disappeared. If your online store is working intermittently, or the site crashes periodically, write to us about your problem and we will find a solution to improve the web page condition!