Project Overview
A large news provider in Georgia has been growing exponentially since the rise of the COVID-19 pandemic. They approached our team to solve two major problems; rising server costs and slow loading time on the site. When posting several hundred posts per day, their server quickly grew to over 300GB of data. Slow load times result in a loss of visitors, which is a loss of revenue.
How We Started
After engaging with the client on the project, the first instinct would be to immediately start implementing a fix to optimize image sizes and storage. We took a step back to look at the project from a high-level overview to ensure we were solving the problem correctly.
After working with the client, reviewing their existing server requirements, and combing through the file structure; here’s what we noticed
- The client’s WordPress instance was creating 6 versions of each featured image. If the client posts 1,000 times per day then 6,000 images were being created.
- The clients managed VPS host was experiencing major issues and was a local hosting provider that couldn’t withstand their growth
- Even with limiting (6x) image creation, the client would experience rising reseller storage costs over time and need a long-term solution.
Our Completed Work
After conversations with the client, we agreed that we would address all of the following problems to ensure proper long-term growth for their success. Our goal was to ensure the client did not have to change hosts again (or at least in the near future).
Prevent Duplicate Images
We implemented the following code into their functions.php
file to ensure WordPress only created the file sizes they needed. We prioritized this to unnecessary images from being generated as we completed the rest of the work.
add_filter( 'intermediate_image_sizes_advanced', 'prefix_remove_default_images' ); // This will remove the default image sizes and the medium_large size. function prefix_remove_default_images( $sizes ) { unset( $sizes['small']); // 150px unset( $sizes['medium']); // 300px unset( $sizes['large']); // 1024px unset( $sizes['medium_large']); // 768px return $sizes; }
Remove Duplicate Images
After implementing the above code, we needed to delete all the duplicate images from the client site before migrating the site to a new host. With the overall file count exceeding 400,000 images, this process took several days.
Using WP Offload Media to Offload Images to AWS S3
Now that nearly all the duplicate images are removed from the server, we were now ready to offload the images to AWS S3 which would allow our client to store their images at $0.023 / GB which is substantially cheaper than Managed WordPress Hosts. Unless you are a custom developer, achieving offloading images to S3 can be extremely difficult without the use of a plugin.
For our instance, the client purchased the unlimited plan for WP Offload Media by Delicious Brains to ensure they’re not capped at the amount of media items they can offload at any given moment. Through this project, we were able to:
- Offload several thousand images from their host to AWS S3
- Leverage AWS S3 to offload CSS/HTML/JS assets and deliver them through AWS CloudFront
- Deliver images via AWS CloudFront CDN for the most efficient delivery
After offloading the images, server resources were substantially reduced but we still needed to implement a cloud server solution.
Migrating Hosts to Cloudways
We evaluated several hosts for the client. At Screamin Cow, our preferred hosts for WordPress sites are Kinsta or Cloudways. After several conversations with both hosting providers, we ultimately decided on Cloudways for its ability to easily scale server requirements and integrated CloudFlare Enterprise add-on.
This allowed the client to:
- To migrate their hosts, knowing in the future they can scale up their server without migrating hosts
- They can increase server RAM individually without having to increase server size (since images now live on S3)
- Improve Ad Delivery which results in an increase in revenue
- Get the proper support and response time, that their previous host did not provide
Project Results
As a result of this project, the client is now saving several hundred dollars per month without their server shutting down intermittently or slow response time. Due to the success of the project, the client engaged with Screamin Cow Design Studio on our Website Maintenance Care Plan to ensure ongoing plugin updates, uptime monitoring, bundled support, & peace of mind.
Interested in a project similar to this one? Reach out using our contact form below and our team will help you evaluate if WP Offload Media or switching to a host like Kinsta or Cloudways is for you.
Insights On Case Studies & More.
Roofing companies often face a specific challenge: their services are highly localized, yet competing with both local…
Are you frustrated with your roofing business not getting the online visibility it deserves? The climb to…