On Black Friday, most WooCommerce stores do not go offline. Product pages still load. The slowdown shows up in the cart and at checkout, where payments time out and buyers leave for another store.
The store is still online, but orders stop coming in while the ad budget keeps running.
The usual causes are small and build up over time: a heavy database, background jobs running at the wrong time, a plugin added last week, a hosting plan sized for regular traffic.
Below is the checklist we use for WooCommerce stores before peak season, split into three weeks.
Why do WooCommerce stores slow down on Black Friday?
Mostly because cart and checkout cannot be cached.
Page caching serves browsing visitors a ready-made copy of the page. Cart, checkout and My Account are different. Every visitor there is unique, so every request goes straight to PHP and the database. The more buyers you have, the harder those pages work
Five other things usually add to the problem:
- PHP workers run out. Each uncached request occupies one PHP worker until it finishes. When all workers are busy, new requests wait in a queue. On most managed hosting plans, this is the first real bottleneck.
- The database is heavier than it looks. Autoloaded options from old plugins, expired transients, years of Action Scheduler logs and orders stored in legacy post tables all slow down every query.
- Background jobs compete with buyers. Stock syncs, product feed generation, email sends and imports often run on the same server, at the same time as your sale.
- New plugins arrive untested. Countdown timers, popups and discount tools installed the week before the sale add requests and conflicts nobody has measured.
- Checkout waits on external services. Shipping rate lookups, payment gateways, tax services and ERP stock checks all add seconds when they respond slowly under load.
Week 1: How do you prepare the WooCommerce backend for high traffic?
Start with hosting and the database. These changes need time for testing, so they belong in the first week.
- Ask your host about PHP workers. Find out how many concurrent uncached requests your plan handles. If your expected peak is higher, upgrade temporarily. Many hosts offer short-term scaling for peak season.
- Add a persistent object cache. Redis or Memcached stores repeated database query results in memory. Unlike page cache, it also speeds up cart and checkout.
- Move orders to HPOS. High-Performance Order Storage keeps orders in dedicated tables instead of the general posts table. It is the default for new stores, but many older stores still run on legacy storage. Migrate now, sync, and check that every extension is compatible.
- Clean autoloaded options. WordPress Site Health warns when autoloaded data gets too large. Remove leftovers from plugins you deactivated years ago.
- Clear the Action Scheduler backlog. Completed and failed actions pile up in its tables. Purge old entries and find recurring jobs that keep failing.
- Delete expired transients. WordPress does not always remove them on its own.
- Audit your plugins. Remove anything unused. If you need a new tool for the sale, install it this week, not the night before.
- Check cache exclusions and cart fragments. Cart, checkout and My Account must be excluded from page cache. Also check whether cart fragment AJAX requests fire on every page. On many older themes they do, and each one is an uncached request.
- Set up a staging site that mirrors production. You will need it for every test in week 2.
Week 2: How do you test a WooCommerce checkout before Black Friday?
In the second week, test the store under sale conditions. Problems found now can still be fixed before November 27.
- Load test the buying path, not the homepage. Simulate visitors who browse, add to cart and check out. Tools like k6 or Loader.io work well. Run tests on staging, or on production off-peak with your host’s approval. Aim for at least twice your expected peak and watch response times on checkout and AJAX endpoints, PHP worker usage and database load.
- Pay with every payment method. Cards, PayPal, Apple Pay, Google Pay, bank transfer, installments. Make real small transactions, then refund them. Confirm that gateway webhooks update order status. A failed webhook leaves paid orders stuck in “Pending payment”.
- Test every discount rule. Coupon stacking, exclusions, minimum order amounts and free shipping thresholds. Schedule sale prices with start and end dates, and check that the store time zone in WooCommerce settings is correct.
- Protect checkout from card testing. Bots use checkout to test stolen card numbers. The result is failed transactions, gateway fees and possible suspension of your gateway account. Enable rate limiting on the WooCommerce Store API, turn on your gateway’s fraud tools and add firewall rules for checkout endpoints. Use CAPTCHA carefully, because it also slows down real buyers.
- Check stock under pressure. Test two buyers purchasing the last item at the same moment. Review the “Hold stock” setting and how often your ERP or warehouse sync runs.
- Send transactional email through a proper service. Order confirmations multiply on sale day. Use SMTP or a transactional email provider instead of default PHP mail.
- Test checkout on real phones. A large share of sale traffic comes from phones. Go through the full checkout on iOS and Android, on mobile data.
Week 3: What should you do in the final week before Black Friday?
In the last week, make no changes to the store and focus on monitoring.
- Declare a code freeze. No core, theme or plugin updates from about a week before Black Friday until after Cyber Monday (November 30). Turn off auto-updates. The only exception is a security patch, tested on staging first.
- Take a full backup and test the restore. Database and files. Know exactly how long a restore takes before you need one.
- Monitor the checkout, not just uptime. Set alerts for the homepage and the checkout page, sent to a phone. Watch server load and check WooCommerce logs for fatal errors during the sale.
- Move heavy jobs out of peak hours. Reschedule feed regeneration, imports, newsletter sends and backups to the quietest hours.
- Write an on-call plan. Who has access to hosting, the payment gateway dashboard, DNS and the firewall? Who calls host support? Put names and phone numbers in one shared document.
- Prepare a fallback. If a payment method fails, know how to hide it in minutes. Keep a short banner message ready.
- Warm the cache before launch. Preload key pages and categories before the sale starts. Avoid purging the entire cache at the moment traffic peaks.
The WooCommerce Black Friday checklist
A short version of the three weeks above.
Week 1: Backend
[ ] PHP worker limit confirmed with host
[ ] Persistent object cache (Redis or Memcached) active
[ ] Orders migrated to HPOS and extensions checked
[ ] Autoloaded options and expired transients cleaned
[ ] Action Scheduler backlog purged
[ ] Unused plugins removed, new sale plugins installed
[ ] Cache exclusions and cart fragments checked
[ ] Staging site mirrors production
Week 2: Checkout
[ ] Load test of the full buying path completed
[ ] Every payment method tested with real transactions
[ ] Gateway webhooks update order status
[ ] Coupons, sale price schedules and time zone verified
[ ] Store API rate limiting and fraud tools enabled
[ ] Stock holding and sync tested
[ ] Transactional email runs through SMTP or a provider
[ ] Mobile checkout tested on real devices
Week 3: Live
[ ] Code freeze and auto-updates off
[ ] Backup taken and restore tested
[ ] Checkout monitoring and alerts active
[ ] Heavy background jobs rescheduled
[ ] On-call plan shared
[ ] Payment fallback and banner ready
[ ] Cache preloaded before launch
FAQ
- When should I start preparing my WooCommerce store for Black Friday?
At least three weeks before the sale. Structural changes like a hosting upgrade, object caching or an HPOS migration need time to test before traffic arrives.
- How much traffic can a WooCommerce store handle?
It depends on PHP workers, caching, database size and hosting resources. The only reliable answer for your store comes from a load test of the full buying path.
- Should I update plugins before Black Friday?
Yes, but early. Finish updates in the first two weeks of preparation, then freeze all changes in the final week until after Cyber Monday.
- Does caching help WooCommerce checkout?
Page caching does not apply to cart and checkout, because those pages are unique to every visitor. A persistent object cache such as Redis does help, because it reduces repeated database queries.
- What is card testing and how do I stop it?
Card testing is when bots use your checkout to check stolen card numbers. Stop it with Store API rate limiting, your payment gateway’s fraud tools and firewall rules on checkout endpoints.
Need help with the preparation?
Many stores start this list in the last week, when larger changes are already too risky. Week 1 covers most of the problems we see on sale day, so it is the best place to start.
At Nucleus Marketing, we run this audit for WooCommerce stores before peak season. We check the backend, test the checkout under load and hand you a prioritized list of what to fix before November 27. Get in touch and we will tell you what can still be done in the time left.