A beloved local apple farm gets an online tune-up.
Project Background
Chudleigh’s is a pick-your-own apple farm and café in Milton, Ontario. The 120,000 square-foot property was founded in 1955 and hosts summer music nights, special food events, and a range of other activities for the whole family. It’s a busy place: more than 100,000 visitors stopped by last year. The pandemic has changed certain things: Chudleigh’s must stagger guest arrivals and carefully manage capacity. They also recently went cash-free and now exclusively process payment digitally, making their online booking features more vital to the business than ever before.
But Chudleigh’s had a problem: certain pages on their website were taking far too long to load. The server was crashing frequently, and the cause was unclear. With the summer season right around the corner, Chudleigh’s needed a fix they could implement right away, and without a major redesign.
Services
Design, Maintenance & Monitoring, Project Management, Responsive Web, Strategy & Planning
Duration
1 month
Industry
Food & Beverage, Retail, Travel & Tourism
Platform
WooCommerce, WordPress
Our initial investigation
We ran a series of tests and found that the problem lay with a particular WordPress plugin used to manage ticket sales.
This plugin had generated a table in the database that contained more than 1 million sales records. We found that for some pages to load, the site had to search through all of these records multiple times. This was causing some pages to take a full minute to load.
Finding a lasting solution
After running tests, we found multiple potential fixes that would improve page load speeds. We decided that some of these fixes were less than ideal, because they would be incompatible with future plugin updates. We needed a solution that didn’t change the core code of the plugin, so that it would last through any potential future changes.
To best solve the problem for the long-term, we decided to change the way the server accesses the database. Now, anytime the website needs to access a record from the database, it first checks to see if it has completed that query before. This speeds up page loads exponentially: instead of completing a lengthy search through more than a million records, the server quickly loads and sends the file.
We also reviewed Chudleigh’s existing hosting platform to see if there were any settings that could be adjusted to optimize performance. We found that there were several areas that could benefit from tweaking, and made adjustments to maximize speed to the fullest extent possible – an 82% improvement.
We were able to implement these changes while maintaining the plugin’s compatibility with future updates. In some tests, page load time dropped from 17 seconds to 3 seconds – an improvement of 82%.
Exploring future fixes
These changes improved website functionality significantly, but the plugin and its cumbersome database were still hindering load speeds. To combat this issue, we recommended several potential future steps, including updating all plugins, contacting the developer of the plugin to investigate the issue, replacing the plugin completely, or considering a faster server.
A workaround option
We also offered an immediate workaround solution. Because the problem is caused by the huge number of records in the database, regularly deleting older records from the database reduces the time it takes for the server to search the records. We designed a streamlined schedule and process to safely and expediently archive old records so that they can be deleted from the database before record bloat slows or crashes the site.
Chudleigh’s website now loads efficiently, thanks to a future-proof solution that streamlines backend processes while maintaining the original structure of the website familiar to Chudleigh’s personnel.
Moving forward
Beyond the optimization work, we have continued working with Chudleigh’s on a variety of updates including:
- Adding a chat widget
- Redesigning their apple page
- Ongoing adjustments for music and other ticketed events