Scaling with WooCommerce

What You Can Do with Woo

WooCommerce is built for scaling; it can be run on everything from a small base server setup to a multi-million dollar cloud deployment processing millions of orders. It provides unparalleled flexibility and customization at the same time, allowing for the ownership of code, data, infrastructure in every aspect of the ecommerce shopping experience.

Each shop is artisanal and reflects the shop owners’ foundations as well as their personality in the experience it provides to shoppers. When there is such a high demand for shops to be tailored to the needs of shop owners, the requirements of a site will inevitably change as different growth milestones are hit.

In this post, we will take you through a journey of scaling a business with WooCommerce, starting from the day a store opens, to the day you need to maintain hundreds of thousands of orders per day. 

Baseline Requirements for Hosting

As you start, we recommend the following minimum requirements. Usually, these requirements are enough for a simple build, but based on the features of your site, you may require slightly more, or even less. Use this as a guide.

Hosts in our ecosystem, such as WordPress.com, WPEngine, Pressable or Bluehost, will start with the following foundational setup:

  1. Running on 1vCPU with at least 2GB RAM
  2. Enabling PHP OPcache
  3. Configuring a CDN to serve static assets.
  4. Enabling Memcache or some other persistent cache support.

Here is how initial server setups for self-hosted sites can be visualized:

Scaling Beyond the Baseline

As you continue to hit different growth milestones, you may find that the baseline setup isn’t enough. Many hosts will autoscale you to the appropriate setup without any intervention at all. 

If you are working with a partner agency or freelancer, they should provide you with the guidance to tweak and improve your infrastructure as you scale. If you are self-hosting, or are a developer looking to leverage hosting, this post will illustrate pathways for scaling WooCommerce to fit your needs.

Since you fully control the infrastructure, hosting costs should not depend on the site revenue and should reflect your exact usage needs.

Vertical Scaling

The first step, as you experience growth, is to upgrade the server. Scaling by upgrading to a better server is called vertical scaling. You will upgrade to a server which has:

  1. More storage, and/or
  2. Better RAM, and/or
  3. Better CPU

When self-hosting, look at what specific resources may be blocked and upgrade the server based on unblocking those resources. Bigger does not always mean better, and sometimes scaling should only be relative to usage spikes. For example, with many hosts, you can scale to a higher configuration during peak traffic.

At this point, your costs will likely increase if opting for a better server. This is expected, and as you scale, you will find that every extra dollar investment will net even larger returns in terms of what your site can handle.

Benchmarking

Before upgrading a server, we recommend running performance audits on the site. Sometimes, a bigger server isn’t even necessary, as there might be one component that causes slow performance. In these cases, auditing and isolating the issue can make an impactful difference in your, or your client’s bottom line. 

Integrating Technologies

Integrating additional technologies is typically the next step in the scaling journey. We often see this inflection point come anywhere between $100k-$250k of sales per year. Each site is different, and we have seen requirements for every site start to diversify from this point on. Some sites are minimalistic, while others may offer a dynamic experience to their shoppers, all of this can influence the technologies that you need and want to integrate with.

For this, the open source nature of WooCommerce is extremely critical by providing the most flexible pathway to growth. WooCommerce allows optimization for the best conversion rate possible, handling the most amount of traffic, without the constraints of a closed source platform.

As an example, shops selling hundreds of thousands of products with variations may want to integrate with ElasticSearch to provide dynamic and performant search and filtering for their shoppers. Or perhaps, adding a self-managed product recommendation system for best conversion rates and shopper performance.

Many of these solutions are already available as pre-built extensions that can be readily added to your site. 

This diagram illustrates what having control over your infrastructure can look like by running technologies inside your server setup:

Integrating Platforms

As you grow from $100k-$250k in sales per year, to $100k-$250k of sales per month, you will find yourself using all sorts of technologies to manage production facilities, warehouses, in-store sales, and analytics. WooCommerce’s suite of REST APIs offers the ability to extend those APIs natively, creating space for integration with a multitude of platforms.

Our users have built integrations to automatically sync what they have in their warehouses with what they list on the site, and update as soon as new products are available.

Extensibility is not limited to just the REST API, in fact, it’s only the start. Having total and absolute control over your infrastructure means that you can integrate at any part of your stack.

We have seen users directly integrating their data warehouses and analytics systems to the  database instance for very powerful analytics, an unmatched flexibility that you won’t get anywhere else. Conversely, you can build data pipelines from analytics to your product recommendation systems running on the site, optimizing conversion rates and revenue. 

WooCommerce can also integrate with mailing systems to optimize things like abandoned cart recovery, and mobile apps can be leveraged to connect with WooCommerce to fetch exact, real-time data.

This is the growth milestone where we see most shops migrating from other proprietary solutions to WooCommerce. This is not only because of the unmatched flexibility and low infrastructure costs, but also the conversion rate and revenue are much higher than anywhere else. The fact that your hosting costs are not tied to your revenue is just a small benefit.

Horizontal Scaling

When you grow to 100k-200k orders per month or per day,  you will want to look towards horizontal scaling. This setup allows you to handle more traffic by adding extra nodes when needed. This comes in handy when you are advertising during the Super Bowl, the World Cup or other major sporting events (or otherwise running a high traffic campaign).

There’s no upper limit on the traffic that WooCommerce can handle. We see that the sites at this point are diverse enough that they optimize their conversion rates, operational overheads, and infrastructure with very different setups.

A general blue-print of your site at this scale can look something like this (our own site, WooCommerce.com, has this setup):

Other Enterprise Considerations

WooCommerce allows for a quick startup and ramp-up to growth, whether it be incremental, or exponential. Open source allows for infinite customizations and focuses to help you increase conversion rates, or enhance enterprise compliance requirements such as keeping data inside the country, mandating security practices, SSO and more.


Please feel free to reach out to us with any questions, recommendations for agencies and setups, and get answers for whether WooCommerce is the right fit for you. Join us on the WooCommerce Community Slack to meet developers, agencies, and merchants who can share their experiences scaling with Woo.

Big thanks to @vedjain and @mrbarryhughes for their technical contributions to this post!


7 responses to “Scaling with WooCommerce”

  1. Why isn’t there reliable horizontal scaling documentation?

    1. Shani Banerjee Avatar
      Shani Banerjee

      Sites are typically bespoke and are dealing with a variety of needs, but we can certainly create a more comprehensive document to build a baseline approach to horizontal scaling. Are there specific questions you would like answered?

      1. I would love to know the specifics of how to configure a database cluster.

        Multi-read is simple, but how does writing work out?

  2. We are doing 200k sales a quarter with a 4GB Two Core CPU server, and not using a CDN nor Redis Cache, sales are growing to, as long as you’re careful with what plugins you choose to install woo can handle a ton.

    1. Shani Banerjee Avatar
      Shani Banerjee

      Love this! Ultimately, these real world examples are what is necessary to illustrate the variety of balancing acts that can be maneuvered with Woo. Have you found that this is cost effective for your store?

  3. I’d like to see in depth use cases and some data which confirm what you wrote is true. This is quite generic article but tips how to start horizontal scaling would be good.

    1. Hi Pawel, thanks for your comment. I think that in-depth use cases can be interesting, but ultimately when scaling, there’s a myriad of ways, depending on your setup, of how to achieve optimizations that work for each individual site. There’s no canonical way to scale because each setup and each use case can differ so much.

      That said, if you have a site which you have scaled, and are interested in chatting with us about your approach, we would be open to featuring it as an in-depth use case. Feel free to reach out to us in the Community Slack to have that conversation.

Leave a Reply

Your email address will not be published. Required fields are marked *