For eCommerce sites, the holidays come around quickly. It may feel a way off, but significant changes to your site can take a while to implement and sign off.
If you want to get the most out of your holiday period, now is the time to make changes to ensure the stability of your WooCommerce site.
What’s more – you want to make sales! Now is your last chance to improve your conversion rate before the holidays hit. Finally, a lot of your annual revenue may rest on this time of year. You need to know what to do if it all goes wrong.
Here’s our advice for how to be fully prepared for the festive season.
First step: evaluate where your store already stands
The best way to prepare for this busy season is to know where your store stands at this exact moment.
Here are a few questions you’ll want to ask before diving into further optimization:
- Is my theme or any plugins or extensions out of date?
- Is my site running the latest version of WordPress and WooCommerce? If you’re several versions behind, you’ll need to take care with your update process — and may need to hire a developer to help you get back on track.
If you’re preparing with enough time in advance, give yourself an early holiday gift — a staging site. A staging site will allow you to run updates, tweak your content and tools, and otherwise adjust your site without putting your traffic at risk.
While having a staging site is a great thing to have year round, it’s especially valuable for testing updates to be sure they work well in anticipation traffic spikes. Remember: if your site is down, you will lose sales. This is your way of creating a virtual safety net for your online presence.
We’ve also covered the benefits of staging, in detail, right here.
Prepare your site for conversion
You can expect a sharp increase in traffic in the holiday season, but for your site to be successful it needs to convert those hits into sales. Maximising your site’s conversion potential is no quick fix, and you should be considering what steps you can take long before holiday shoppers’ eyeballs are on your products.
Users bounce off slow sites
According to Google, 53% of mobile site visitors will leave a page that takes longer than 3 seconds to load. 3 seconds of white page is enough for most users to hit the back button and visit a competitor’s site, and 3 seconds is not much time to load your beautifully animated, image-rich eCommerce page. Especially if your user is gift-shopping on slow WiFi in a coffee shop, or panic-buying on a patchy connection on a train!
Want to get a rough idea of how your site is performing on page speed? Run it through the Google PageSpeed Insights (PSI) tool which provides metrics for speed on mobile and desktop devices. Often these may not be things you can immediately act on, but if you get a low score you may want to contact your developer or hosting provider to find out where improvements can be made. It will also highlight any excessively large images you can remove or optimize for quick performance gains. Pingdom is another popular tool available for evaluating your current site speed.
Speed up your site
There are a myriad of reasons your site could be running slow. Here are some steps you or a developer can take to improve it:
- Check your site for large images
When images are correctly used in your theme, they should be automatically compressed and reduced in size to fit the page. Images rarely need to be any larger than 150kb (for large full-width images), your average image on the page should be much smaller. PSI will highlight any uncompressed or excessive images and if needs be you can minimise them yourself before re-uploading them.
- Reduce the server response time
If PSI highlights the server response time as excessive, there could be a problem with your hosting or your WordPress code. Server response time is the time it takes for the server to reply to a user’s request, before the user begins downloading the page. This includes the time it takes for the server to receive, process, and respond to the request. Check the Cache for efficiency section below to find out a powerful way of reducing this time
Check out WooCommerce’s guide to speeding up WooCommerce sites for more tips to optimize your site’s performance.
Make sure your site is running PHP 7
WordPress runs on PHP, and in 2015 the updated, dramatically more performant version 7 was released. Some PHP applications have seen up to 2x faster performance and 50% better memory consumption when compared to PHP 5.6.
This big change has been taking a while to filter through and you can’t assume your hosting has already upgraded. In fact, as PHP 7 introduces breaking changes, not all applications are compatible with it. First you need to find out if your site is compatible with PHP 7. Fortunately, WPEngine released a free PHP Compatibility Checker plugin that can be installed on your site to run a check for compatibility.
If you have managed hosting, you can contact them to find out what version of PHP you are on, and can request that it be updated to PHP 7. If you self-host, you may need to perform this process yourself. Remember to make a backup first in case something goes wrong!
Prepare your site for stability
The holiday period leads to large amounts of traffic, which can spike even higher at certain times of day. Having your product featured in an influential blog, mailshot, or promoting your own sales (think Black Friday!) may lead large numbers of people to hit your site simultaneously. This is both the worst time for your site to go down, and the most likely time as your servers struggle to handle all that traffic.
How many concurrent users do I have?
Smaller hosting packages may struggle to handle even more than 4 or 5 concurrent users at the same time, before the processing required by the server becomes such that the site slows down or requests fail. The key number you’re looking at here is how much bandwidth a hosting package offers – i.e. the amount of data that can be transferred in a given timeframe.
If your site has analytics installed (and it should! If not get Google Analytics for WooCommerce – it’s free) you can use your history of previous busy periods to try and get an idea of the peak traffic you could expect. Contact your hosting provider for assurances that your hosting package can handle spikes that big – if not, consider upgrading or moving.
Cache for efficiency
Whilst ramping up bandwidth will help handle heavy traffic, to use that bandwidth effectively you need the right caching strategy.
Caching is the temporary storage of dynamic content in order to serve up responses to similar requests quickly. Caching can refer to caching pages, static assets (like images and stylesheets), database requests (object caching), as well as caching in the user’s browser to avoid re-downloading assets.
Caching is the temporary storage of dynamic content in order to serve up responses to similar requests quickly.
Imagine someone asks you to do a tricky multiplication – 37 x 4. It may take you a few seconds to work it out, but then if someone else immediately asks for the answer to the sum you can respond instantly. When caching is in place, the same is true of dynamic web content – the response to the users’ request is stored in temporary memory and immediately returned if someone else makes the same request. This greatly reduces the amount of processing the web server has to do.
How to enable caching
WordPress caching is easy to set up, too. Both W3 Total Cache and WP Super Cache are recommended in the WordPress Codex, and there’s plenty of documentation on how to configure these plugins to work well with your store.
Another tip: install Jetpack and enable Photon. Images in posts and pages will be cached, and won’t have to load over and over again when someone visits your site. This can save you a ton of time, especially if you have very large images.
Some web hosts offer caching strategies by default, or available as part of some packages. For example, WPEngine offers powerful caching tools which can be activated even on Personal level plans for significant performance increases – which means more concurrent users.
If you’re running holiday promotions and driving traffic back to your site, making sure your content is cached and being delivered quickly is an easy way to keep those returning visitors where you want them to be — browsing through your store.
One obvious way to test your site is ready for the holiday surge is to fake the surge yourself. Load testing means artificially blasting your site with heavy traffic to check how it copes. By testing with varying loads, you can work out exactly where the breaking point is and at what point your users start to encounter trouble.
Testing the site on the production environment is key to load testing – not on you or your developer’s local machine. That way you know not only if the site’s code is efficient, but also that the server and host you are using are sufficient. As you probably don’t want to kill your live site whilst load testing, a staging site on the same environment should do the trick.
How do you perform load testing? Stress testing is best left to those with some development experience, but if you are confident then there are numerous open source load testing tools available. If not, you are better finding a developer to do it for you.
Prepare for trouble
The best-laid plans of marketeers often go awry – be ready for the worst to happen. If your site goes down, what will you need to do? What members of your staff do you need to inform? Does your hosting and web agency provide 24/7 support? Do you need to upgrade to a package that does? Here are our ideas to safeguard your site.
Backup and recovery strategy
If your site goes down, you want to know your recovery plan in advance. Whilst traffic spikes are likely to only cause your site to become unavailable for users for a while, it is a good idea to know what to do if something more serious happens.
You should have a backup plan ready, and many managed hosting packages will already provide this service. If you self-host your site however, you will need to implement backups yourself. Fortunately, there are a number of plugins available to make this process easier. WPBeginner has a fantastic tutorial on setting up a staging environment for a WordPress-powered site.
Whilst daily backups are often sufficient, during a busy period of orders you may want to up the frequency to hourly to avoid a whole day’s worth of orders being lost in your busiest period.
If your host takes backups for you, find out if the backup plan is appropriate for eCommerce – including all store order and payment information. Check the support pages of your hosting service to find out how regularly backups are taken and what steps to take to restore the site from a backup. If restoring requires contacting your hosting service support team, make sure they have availability over the period at risk.
If you’re testing new ideas in the lead up to the holiday rush, make changes in a staging site so you can revert fast!
Disaster recovery plan
If your site uptime during the holiday periods is critical to the success of your business, maybe it’s time to consider a disaster recovery plan. These plans can cover anything from short drops in website availability to natural disasters, and ensure that you are prepared in advance for when the worst happens. Check out Google’s disaster recovery planning guide for ideas on how to prepare.
Timeline for preparing your store for holiday traffic
The holidays are on their way and it is easy to let preparation slip – so here is our suggested timeline:
By end of October:
- Assess page speed requirements – use PageSpeed Insights – and discuss with your web developer or agency the costs of implementing improvements
Assess possible spikes – use Google Analytics to work out what your concurrent user spike is likely to be
Assess caching strategy – review your hosting package, talk to the support team from your hosts
Recovery plan – learn the steps required to recover from the site going down and document them internally
By end of November / Black Friday:
- Implement cache fixes – if you did not already have caching in place, you’ll want it there by the time the traffic hits
- Implement page speed optimization – by the start of the holiday period you’ll want to have made the improvements you identified
- Perform load testing – before and after your cache and page speed changes have been made, use load testing to assess the improvements in performance made
- Roll out recovery plan – inform relevant staff members on key contacts for site availability issues & recovery methods
- Review the impact of your changes
- Asess profits!
By following our timeline you can help to ensure your site stays stable and makes sales, whilst minimizing the risks of downtime affecting your bottom line.
If you are still worried or need a little help, there are many WooCommerce developers, agencies, and experts willing to handle all of your updates, security, backups, and so on. They can also help you get back on track if a recent update to a plugin or theme breaks your site.
Alternately: contact me or the friendly team at Pragmatic! Or leave a note in the comments.