Today, we’re excited to bring you a guest post from our partners at Nexcess, one of the largest web hosting providers for eCommerce stores. Nexcess talked us through a full suite of options, from simple to complex, for improving your eCommerce store’s speed and responsiveness in preparation for the holiday season.
Don’t be intimidated by the technical details—many of these solutions are easy to implement on your own, and your web hosting provider can help you investigate any that require additional support. Even making a few quick changes, such as optimizing your images, could have a big impact on your Cyber Monday bottom line.
In 2016, the holiday season generated a record $91.7 billion in retail sales, a year-on-year increase of over 11%. This year, eCommerce sales are expected to grow even more, both in real terms and as a proportion of all retail sales. The holiday season is a vital source of revenue for online retailers, but they have to work hard for that revenue: The run up to the holiday season is a hectic rush to get logistics, fulfillment, marketing materials, and promotions ready in time for Black Friday.
There’s one area of preparation that’s arguably even more important: performance. In simple terms, eCommerce performance measures how fast a store’s pages load and how responsive it is to user interactions such as adding an item to the basket or checking out. Performance has a big impact on a shopper’s experience: the faster and more responsive a site is, the better the experience. Many other factors contribute to the shopper’s experience, including design, copy, promotions, and site navigation and search, but performance is foundational. If a store is slow and unresponsive, brilliant design and top-notch copy won’t help.
If a retailer can’t provide a great shopping experience throughout the season, customers will go elsewhere, regardless of how well prepared the store is otherwise.
Data first
As a famous detective once said, “It is a capital mistake to theorize before you have all the evidence.” Data is at the heart of performance optimization because every site and store is different. Theory is all well and good, but without data, performance optimizations are a shot in the dark. You can’t know whether you’re fixing the real problem.
Factors that impact performance
There are any number of tools for measuring web performance, but I recommend using a mix of Google PageSpeed Insights, GTmetrix, and Pingdom Tools. These tools provide no end of juicy data to help store owners make effective optimizations, including how big a store’s pages are, how long they take to load, the number of HTTP requests made when the page loads, and how the page compares to other pages on the web. They’ll also help identify the causes of poor performance more precisely, including those we’ll discuss in a moment.
PageSpeed Insights is particularly useful because it offers concrete advice about improvements that can be made to a store.
Performance optimization for eCommerce
Every complex eCommerce store has two major components, the front-end (everything that the shopper sees and interacts with) and the back-end (the components that store user and product data, manage the application logic, and perform other behind the scenes functions). Performance can be improved through changes to the front-end, the back-end, or both.
Note that performance optimization is a complex topic, and there are a multitude of ways to improve front and back-end performance! For simplicity, I’ll limit myself to suggesting the optimizations that are most likely to have a noticeable impact.
Front-end optimization
Front-end optimizations focus on ensuring that the user interface loads and runs as quickly as possible. A sluggish and unresponsive eCommerce store is frustrating to use. Today’s shoppers expect better.
- Optimize images — High-quality images sell, but they’re also the largest part of most pages. Use a service like Kraken.io to optimize images. Image optimization programs can compress images without making them look worse and remove the metadata that many images contain, but which is useless to shoppers.
- Minimize HTTP Requests — When your ecommerce store needs to show something new to a visitor—be that a product page, a checkout window, or your contact information—it sends an HTTP request to a server for the correct images, text, and formatting files. The more HTTP requests your eCommerce store makes, the longer it will take to load. The judicious use of browser caching and the concatenation / minification of JavaScript and CSS files where appropriate can make a big difference to the number of requests.
- Reduce Javascript — Javascript is a common web programming language that’s frequently used for interactive features and activity tracking. Javascript tools and plugins can be very useful, but excessive Javascript is the number one cause of slow, bloated web pages. It’s tempting to load pages up with as many tracking, advertising, and social media scripts as possible, but your shoppers won’t thank you for it. Keep Javascript to a sensible minimum.
Back-end optimization
A fast front-end is a start, but if your hosting server takes forever to generate and send pages, your store won’t offer a desirable experience to shoppers.
The resources available to an eCommerce store, which include bandwidth, memory, storage, and processing power, are the single most important factor affecting performance when visitor traffic is at its heaviest. A store may work perfectly well under average traffic loads, but collapse when demand for resources peaks. There’s little more frustrating than watching an eCommerce store grind to a halt because too many people are trying to buy things.
A store’s resources are provided by its web hosting. Every store uses some proportion of a web server’s available resource. A web server is a powerful computer connected to the internet. On a shared hosting account, the server’s resources are divided between lots of stores. On a dedicated server hosting account, the resources of the entire server are at the disposal of a single store. As shoppers load pages and put products in their basket, the server’s resources are consumed. If there are too many visitors or the resources aren’t used efficiently, pages load slowly and the store becomes unresponsive.
If your store’s hosting isn’t capable of providing a fast, responsive experience, it’s time to think about new hosting. There are two options: more powerful hosting with the same provider, or migration to a new hosting provider. If you’re using a generic hosting service, you might consider moving to a specialist eCommerce hosting provider with plans engineered for a particular eCommerce application, such as managed Magento hosting.
If you would prefer to stick with your current hosting, there are several opportunities for performance optimization.
- Upgrade PHP — Most eCommerce are built on the PHP programming language. PHP 7, which was introduced at the end of 2017, introduced a host of performance optimizations, but many hosting providers have yet to update from older versions. eCommerce stores are likely to perform better and consume fewer resources if they’re running on the latest version of PHP. Because PHP and the other components that comprise a store’s back-end improve over time, it’s always a good idea to update to the most recent version.
- Enhanced Caching — A cache stores pages and data that are generated by an eCommerce store. A cache can serve these items more quickly than the store can generate them, so, if an item doesn’t need to be generated again, serving it from a cache is much faster. Most eCommerce applications, including Magento, have built-in caching, but an external caching application like Varnish or Memcached can do wonders for a store’s performance and its ability to cope with extreme loads.
- Content distribution networks — Content distribution networks take content that is typically kept on the store’s server and copies it to lots of other servers around the world. Images, scripts, and other static content are then delivered to shoppers from their nearest server, leaving the site’s main server to focus on other tasks.
Once performance optimizations have been made, be sure to use the performance measurement tools I mentioned earlier to verify that they have had the desired effect. Depending on the particular optimization you make, you should expect to see a reduction in the load time for the store’s pages, smaller pages, and a more responsive shopping cart and checkout process.
If you take a vanilla installation of any eCommerce application and install it on a standard web hosting server, it is unlikely to perform as well as it could. Evidence-based performance optimization can make a huge difference to the experience your store offers shoppers over the holiday season — and that will make a difference to your bottom line.