WooCommerce waiting room success
Since launching the CrowdHandler WordPress plugin we’ve had hundreds of installs, and the vast majority of those installations use the WooCommerce plugin.
We get Woo.
CrowdHandler supports customers running all kinds of e-commerce stores on WooCommerce, from snowboards and sportswear to leisure and vacation rentals (including some notable brands).
They are all successful e-commerce sites that just need a little help to get through crunch times, whether that's regular product drops, summer sales, Black Friday or holiday shopping.
Here are just a few of the ways in which CrowdHandler supports WooCommerce waiting room success.
We’ve got your back on URL exclusions
CrowdHandler automatically excludes a list of WooCommerce URLs from the queue to prevent payment gateways and API calls getting snagged. That means, for example, you won’t get queued trying to log into your WordPress control panel!
It also means that, when you use the WooCommerce app during a sale, it won’t throw up an error every time it connects to your WordPress API to see what’s going on.
And, most importantly, we've already handled URL exclusions for payment callbacks. So whether you’re supporting a standard credit card checkout – or something else, like Klarna, or a specific bank – those payment checkouts won’t get snarled up in your queue at the vital moment.
(All of this is not to say you shouldn’t do a test run before you go live, however. And if you’re using CrowdHandler on WooCommerce without the WordPress plugin – using Cloudflare, for example – you may want to drop us a line to make sure these URLs are excluded on your account.)
Can the caching
We are big believers in caching, and we know that many WordPress users rely on it to speed up their sites, so we understand if this next point sounds counter-intuitive:
We recommend that you disable caching plugins and services when relying on a waiting room.
The main reason for this is that caching services or plugins can conflict with waiting room behaviour, by caching whatever waiting room state the last user saw. In other words, if the last user was sent to the queue, the next one will be. If the last user was let in, the next user will be let in.
Rest assured that this won’t affect your site too much anyway. During a busy on-sale, the majority of the pages being served are going to be based on what users have in their shopping cart, rather than cacheable content.
If you can’t disable caching for any reason, have a look at using our JavaScript integration rather than the WordPress plugin. The JavaScript integration plays very well with well-cached sites.
Disable AJAX Cart fragments
Most WooCommerce installs come to us with “Cart Fragments” enabled. If you’re struggling to get many users through your WooCommerce site, we recommend you disable them.
The Cart Fragments script uses admin-ajax to update the cart instantly on the page whenever a user adds an item. However, it also means that every page hit makes several additional AJAX requests to check the cart. CrowdHandler checks each of these requests, and has special provisions to ensure queue behaviour is not disrupted – but it is adding considerable load to your server, and overall page load time. Not something you need during a frantic on-sale!
You’ll be able to check out more users, faster, and increase your rate, if you disable this feature.
Override index.php if you’re using our plugin
When you’re using the CrowdHandler WordPress plugin with WooCommerce, do make sure to check the box to ‘Override index.php’, if you can. It will speed everything up by ensuring that users are validated at the earliest possible opportunity.
Planning a drop? We've got you
A waiting room is a great idea if you’re expecting a rush of traffic, and if you’re planning a drop – a sale of limited-edition products, physical or digital – this is especially true. However, the “drop” waiting room setup needs some special consideration. Unlike most sales, the build-up is key – so, rather than having a generic waiting room, always on and ready to protect your site, there are a few things you will need to do differently.
We talk about setting up your waiting room for a successful drop in more detail in our article: Using CrowdHandler for merch drops and NFTs.
Start by setting a low rate
CrowdHandler works by using a simple ingress rate. In other words, you choose how many new users you want to be able to join your site during any single minute. This acts like a funnel, ensuring that your site doesn’t get overwhelmed.
Even if you think your site can manage big numbers, it’s best to start with a low rate – allowing a small number of users in at a time – and let the site warm up.
We do offer the option of a One In, One Out cap, but using this isn’t always the best approach; you may find that session timeouts slow down your queue unnecessarily. Using a low rate is usually a better strategy than setting a low One In, One Out cap.
Don’t presume the WordPress plugin is the only way to use CrowdHandler
Most WooCommerce users find us via the WordPress plugin directory. And yes, if you’re using WordPress, then installing CrowdHandler via the plugin seems obvious. But – depending on your setup – there may be other, better, options.
If you’re using Cloudflare, for example, our Cloudflare edge worker should be your first port of call for your waiting room integration (and it’s probably easier to set up than you think).
If you’re having plugin compatibility issues around caching, our JavaScript integration is very simple, and surprisingly effective. In fact, the more you’re caching, the more effective our JavaScript integration is. So if disabling caching is difficult, this is the approach for you.
For more integration options, see What’s the best way to integrate your CrowdHandler Waiting Room?