Updated on January 13, 2016
WooCommerce is the biggest and most widely used e-commerce toolkit for use with WordPress. One of the most common questions I am asked when dealing with an e-commerce site for a client, is “How many products can I have on my new site?”
In fact the question is flawed: There is no simple single definitive answer. Theoretically WooCommerce can manage as many products as any reasonable site could ever sell, but you could encounter some limitations that are common to any website along the way. Really the bigger concern is usually less to do with the number of products and more to do with the number of visitors. So really the only restrictions lie with the infrastructure behind your site.
WooCommerce can handle any number of products and as much traffic as you could care to throw at it providing it has the correct infrastructure behind it.
Your hosting solution will determine how many products and daily visitors your WooCommerce enabled site can handle. For any new site WooCommerce should be suitable for your needs. It scales well along with WordPress and will handle increases in products well. But as you grow, you could encounter issues with your existing hosting platform.
If you’re intending to have a large e-commerce site, you should look to spend a little bit extra on a better hosting package. Achieving this early will make your life simpler in the future.
As traffic to a site increases, the importance of having a suitably powerful processor in your server increases. A large volume of daily visitors to your site may increase the strain on your CPU.
If you pay for a cheap shared hosting plan your site may slow down periodically because resources on that server are being shared between your website and others. A badly engineered site on the same server may use more than its fair share of resources, slowing down your website, or – worse – cause a server outage affecting your website.
Even a modest hosting plan should be suitable for a small shop’s needs.
A better but more expensive alternative to shared hosting is to purchase a Virtual Private Server (VPS). With a VPS resources are still shared but there’s a better separation between each site. If you are not technical you may need to hire somebody to maintain the server on your behalf.
Or the ultimate but most expensive solution would be to purchase a dedicated server. On a dedicated server your website has access to all of the server’s resources. Again though, this option is not for the non-technical! Hire an experienced systems administrator to manage your new toy.
When you increase the number of products on a site, the memory requirements increase.
If you are using a cheap hosting plan where resources are shared a larger site may find there is not enough memory to meet its requirements. When considering memory requirements it’s worth giving some consideration to a Virtual Private Server (VPS). A VPS works by a host setting up a “container” where a number of resources you have purchased are made available to your website. This is not only good for avoiding many of the issues of sharing resources, but also is easy to upgrade. Most hosts running VPS hosting will provide an online control panel for you to purchase additional memory and add it to your server.
Hard drive space and throughput
The hard drive on a server is where all the data is saved. Any images or files you upload are stored here along with your website files.
E-commerce websites tend to use storage faster than most other types of website so it’s important to ensure you have enough storage for your needs.
On cheap shared hosting plans you share storage with other users on the same server. If another website is writing or reading large amounts of data from the hard drive (“throughput”) then it will cause a slow-down on your website. Better shared hosting plans put fewer websites on one server so that fewer websites are fighting for resources, which will help keep your website nimble. A better solution is to use a dedicated server where your website does not have to compete for resources.
The type of hard drive on your plan will also have a huge impact on the speed of your site. Older hard-drives use spinning metal discs to store data. The slower the disks spin the slower it stores information. But there are real-world physical limitations on how fast pieces of metal can be spun before they shatter, so as speed requirements have continued to increase manufacturers have responded with the Solid State Drive (SSD) which contain no moving parts. These can read data an order of magnitude faster than a traditional hard drive, but are more costly to manufacture.
Cheaper plans also often do not provide sufficient storage: E-commerce websites tend to use storage faster than most other types of website so it’s important to ensure you have enough storage for your needs. Keep an eye on your storage usage and upgrade well before you run out of space to ensure your website’s uptime is not affected.
Bandwidth on a hosting platform describes the connection speed between users and the server. With low bandwidth and an increase of visitors to a site, a bottleneck may occur. It’s like taking 30 people at once and forcing them through a door designed for 1 person, all at the same time.
WooCommerce itself should be unaffected by bandwidth, the issue is really with your hosting and not your software. Low bandwidth could create a situation where a website becomes slow or even unresponsive.
As your website expands you may need to periodically check with your host that the bandwidth requirements can be met by the package you own. If not, you should upgrade to a package which can handle the increase in traffic to a site.
It’s like taking 30 people at once and forcing them through a door designed for 1 person, all at the same time.
Analyse the risks as you grow
It is best to analyse whether the type of risks above will affect your website in the future. If you’re intending to have a large e-commerce site, you should look to spend a little bit extra on a better hosting package. Achieving this early will make your life simpler in the future. However, even a modest hosting plan should be suitable for a small shop’s needs.
Really Big Sites
What happens if your site becomes enormous though? With thousands of daily page views come new challenges. Perhaps you need to be able to cope with more visitors than the average server could handle on its own. Or maybe your site needs to have failover capabilities to handle the possibility that a server could fail. There comes a point where the approach to the problem has to change to handle the new demands of the site.
Any website should have a cache on the web server. But for really big sites a cache on the web server alone isn’t going to cut it. You need a dedicated caching server in front of the site. This is another server that handles all incoming requests from the outside world. It forwards requests to the web server if it doesn’t have a copy of that page. On sending the page back to the visitor it also stores a copy to send out the next time somebody visits the same page.
The cache’s job is to reduce load on the server by retrieving from memory commonly-served pages without bothering the web server, allowing the web server to deal with the more tricky one-time requests.
With thousands of daily page views come new challenges.
Your database is critical to your website. It’s possible on a large-scale site that the database may become a bottleneck in your infrastructure. If this situation arises it may be necessary to move the database to its own dedicated server, ideally running on Solid State Drive (SSD) technology.
There are also potential speed improvements to be had by changing away from MySQL and using MariaDB instead. The change is (currently) seamless.
By running multiple web servers with multiple caching servers and multiple database servers it is possible to create a very robust solution that can handle, potentially, any traffic demands simply by adding more servers to the network. Distributing load across multiple web servers reduces the load on any individual server and allows a greater number of requests to be handled.
Load balancing and distribution is, however, a complex subject! You would need a specialist on hand for this scenario. But then only the very busiest of sites need worry about this.
WooCommerce can handle any number of products and as much traffic as you could care to throw at it providing it has the correct infrastructure behind it. A robust infrastructure will host as many products as you could ever desire, but a poor infrastructure may hold you back.
Making sure that your hosting compliments your site will give your business the freedom it needs to grow.