London Designs

Love up & Love unique Home

Love up & Love unique Home

Brad and Jo from Love up and Love Unique Home have had constant issues with their two websites since the day they launched.
They not only needed a budget-friendly company to manage their websites, but they also needed help with various changes on their website including increasing their website performance both front and backend.

Problem 1: Slow order management

Despite paying a lot of money on expensive web servers, Jo and Brad had a tough time managing their client orders in the WooCommerce order management system. It was simply to slow to work with. On a good day it took upwards of 20 seconds to search for an order, 15+ to go into the order and around 10 seconds or more to mark the order as shipped and another 15 seconds to go back to the order screen.

Problem 2: Slow front end

Another intermitend issue was their website load time. I would vary quite drastically from 5 to 20 seconds.

Problem 3: Custom Built Website

Because both websites were custom-built from scratch, no agency or developer would manage their websites. They were often told the websites are poorly coded and to manage them, they would need to be built from scratch.

Various improvements required

Reducing client frustration and increasinng conversion were also things on the list.

Our solution

Management plan

Once we added both websites to our management plans, we started analyzing the data and finding the underlying problems.

We broke bigger problems into smaller ones and attacked them one by one.

Due to the fact the websites are bespoke multivendor solutions, we had to get familiar with how they work, what bit of code does what so later we could come up with the best approach to managing the website easier.

We quickly identified the reason why nobody wanted to sign them to a care plan/management solution is the website was running a series of premium plugins that were “enhanced” by either the company that built the website or other developers.

By manually enhancing these plugins, they also had to stop them from receiving crucial security or compatibility updates with the WordPress or WooCommerce core.

To summarise, the problem was:

  • Plugins weren’t updated
  • Plugins weren’t compatible with WordPress and WooCommerce
  • They were causing errors causing conflicts due to the above

Our solution was:

  • Identify all manually extended plugins
  • Recode were ever possible to enable the plugins to get updates.

Time spent on the solution? Over 90 hours!

Slow front and back end - order management system

Two of the other issues Brad and Jo were experiencing were tied somewhat together, the slow back end and front end.

Because both websites are large e-commerce platforms, it is to be expected that after some time, the databases would start to slow down and decrease the website performance if not managed and cleaned periodically.

The reason for this is WooCommerce generates a lot of entries in the database table for each client and order. For each order placed, there are about 10 records created and stored in the database.

A medium-size e-commerce website with 60,000 orders has anywhere between 500k and 600k entries in the post meta table. Our websites had over 4 million entries.

Some of the steps we took to de-clutter the database:

  • Optimise the database table or repair
  • Reduced the number of post revisions
  • Deleted trash, unused tags, categories, orders over 1-year-old, transients, spam comments
    Identified unused plugins/themes and deleted, also replaced plugins that provide basic functionality with code to reduce bloat

The results of this process were somewhat decent, however far from ideal. We managed to reduce load time on the front end with these optimizations but reduced the post meta table very little.

After more investigation, we identified the cause of the backend slowness and why the post meta table was so large.

The YITH Multivendor plugin used for the multivendor capabilities of the website was duplicating the same information several times, thus increasing the size of the post meta table.

Why?

If a client buys a product from 3 different vendors, there are 4 orders are created.

One order is created for the WooCommerce admin and then another sub-order for each vendor item.

This means if normally WooCommerce creates 10 entries for a single order, in our case it would create 40 entries in the database.

Our solution was two-fold.
Create indexes in the database for faster access to the information so that when WooCommerce queries the database search for the order information, it pulls it faster.
Rewrite the WoCommerce query to provide faster results.
Results, reduced backend overall load time to a few seconds, order search still being around 10 seconds due to the high number of entries in the database table.

After several months of troubleshooting and working with a fairly limited budget, we have decided to approach the problem from a different angle.

We decided to split the database from the server that was hosting the files and PHP processes of the website.

We have decided to go with a highly optimized database only server running SQL 8 for hosting the database whilst hosting the files and PHP services on a custom stack Nginx server.

Results:

Other Services provided

}

Improvements to cart and checkout pages

Removed unnecessary obstacles on the cart page that was preventing clients from proceeding to checkout. 

Changes made:

  1. Removed popup confirming delivery time and order total. The client is made aware of the delivery time on the product, where he or she selects from a drop-down list the time it takes for them to receive their order. Furthermore, the total of the order is confirmed both on the cart page and also on the checkout so there is no need for the popup.
  2. The website had two mandatory tick boxes that could be combined in one, I am talking about the privacy policy and terms and conditions.
R

Improved cart page

We simplified the cart page, removed distractions, made it clear and simple to navigate and leave only one way to proceed -> to checkout.

What’s next

Revamp of existing website

Due to the various issues both Love Unique and Love Up have had with the multivendor solution, the clients decided to have them rebuilt on a more optimized multivendor platform.

Details are still being discussed.