If you’re using the Datafeedr API, chances are you have ambitions of building a large store. Many of my clients come to me looking to build something like Shop Style which has somewhere in the region of 1,000,000+ products.
Adding that many products to WordPress using WooCommerce and the default settings and shared hosting will kill your site. Firstly – it will take Datafeedr a few weeks to add that many products to your store, but secondly most hosts just aren’t configured to run WooCommerce with that many products.
Below, I review what you need to check with your hosting provider to ensure your massive WooCommerce store is going to stay on its feet and serve your customers.
Use the Datafeedr API to load millions of products, use Digital Ocean for your hosting (get $10 credit with Digital Ocean with this link), get my WPI server stack and my WPI performance plugin and you can run stores with many millions of products with WooCommerce.
The product images are going to be what consume all the space on your server. If you want to store 1,000,000 products, or even just 100,000 products, you need to plan your storage requirements.
100,000 products = roughly 40GB of storage
This figure obviously varies among shopping sectors – the above is about right if you’re looking at clothing as the merchants tend to provide very high resolution images. On top of this, WordPress will make multiple copies of your images in order to provide them in multiple different formats – e.g. thumbnails.
Now – if you’re going for 1,000,000 products that means you need 400GB of storage which is a LOT but not infeasible in this day and age. Your best bet is to store your images on something like Amazon S3 where you can store images far more cheaply than using the disk space which comes with your server.
There is a great little plugin which will handle all of this for you – provided you install it prior to loading all of your products, it will copy all of your images over to Amazon S3 and delete the original images meaning you can pay Amazon for storing those images rather than your host. This will give you a faster site too since your host won’t have to deal with serving up images and instead can concentrate on serving up the pages for your users.
Note: The plugin above will migrate any newly created images over to Amazon – it won’t migrate any of your old images. If you’re using Datafeedr already, the way to get round this is to delete your product sets (temporarily, they move to trash), delete your orphaned images, then restore your product sets.
Speed of Disks
You really want Raid SSD, not HHD or SAN. This is because WordPress and Woocommerce use a lot of files and you need the fast seek speed provided by Raid SSD in order to get decent Datafeedr speed when you’ve got 100,000+ products.
You want Nginx, not Apache. Apache sucks – as soon as you have a few users on your site it will slow to a crawl and die a death.
HHVM to make Datafeedr and Woocommerce really fast
If you have a lot of products in your affiliate store, you need HHVM. This is a PHP compiler built by Facebook. It makes WooCommerce operate a LOT faster, even if you’re allowing users to sort through ALL your 200,000 affiliated products. The only host that currently offers this is WP Engine. You can install HHVM yourself though. Follow my DIY installation guide to get HHVM set up.
If you’re building your own Mercury installation, I highly recommend Digital Ocean but then it depends how tech savvy you are. If you’re not tech savvy – go with WP Engine but just be sure to install that Amazon S3 Plugin before you start loading products as storage space with WP engine is pricey.
- My WordPress performance plugins and server stack have moved - July 31, 2016
- Price Comparison Pro 1.2 Released - July 5, 2016
- How to run backups on huge WordPress websites without your website being brought offline - February 4, 2016