A Black Friday WooCommerce checklist comes down to four jobs: test every change on staging, freeze plugin, theme and PHP updates well before 27 November 2026, make sure caching never touches the cart, checkout or account pages, and have a tested backup and rollback plan. On the day itself, watch uptime, payments, stock and order flow rather than making changes.
Start with a staging copy you trust
Every change before Black Friday should go through a staging site first: a full copy of the live store (files and database) on the same PHP version and server setup. Before you rely on it, check that:
- The PHP version matches live (WooCommerce > Status > System Status on both sites).
- Outgoing emails are disabled or caught, so customers do not get test order emails.
- Payment gateways use sandbox or test keys, never live ones.
- The staging URL is password protected and hidden from search engines.
- Syncs with outside systems (stock feeds, ERP, accounting) are paused, so staging does not overwrite live data.
Then run a real test journey: add products to the cart, apply a coupon, change the shipping address, pay with a test card, and confirm the order and emails look right. Do it on a phone as well as a desktop.
Freeze updates and plan around PHP
The safest store on Black Friday is one that has not changed for a week. I set a code freeze: plugin, theme and WordPress core updates are tested on staging, pushed live, and then nothing changes until after Cyber Monday unless it is a security fix.
Plugin and theme updates
- List the active plugins that touch the cart, checkout, payments, shipping or tax.
- Update them on staging, then run the full checkout test again.
- Push the same versions live and repeat the test with a small real order you refund.
- Turn off automatic plugin updates until December, so nothing updates itself overnight before the sale.
PHP version
According to php.net, PHP 8.2 security support ends on 31 December 2026, so a store on 8.2 needs to move to 8.3 or newer soon. Do not do that upgrade in the week before Black Friday. Either do it now with time to test, or schedule it for December after Cyber Monday, tested on staging first.
Caching: speed up the catalogue, never the cart
Page caching keeps a WooCommerce store standing under heavy traffic, but cached cart or checkout pages cause real damage: customers see someone else’s cart, totals that do not update, or a checkout that fails. Cache product, category and content pages. Never cache personal pages.
Exclude these from every caching layer (plugin, host server cache and CDN):
- The cart, checkout and my-account pages, including any custom URLs your theme uses for them.
- Visitors carrying the WooCommerce cookies
woocommerce_items_in_cart,woocommerce_cart_hashorwp_woocommerce_session_(the last one has a suffix). - Requests with
add-to-cartorwc-ajaxin the query string.
Most caching layers add a response header showing a hit or miss, so you can check from the command line:
curl -sI https://yourstore.com/cart/ | grep -i -E "cache|age"
Run that against your cart and checkout URLs. If you see a cache hit, fix the exclusion before anything else. Then add an item in a private browser window, reload the shop page, and confirm the mini cart shows the right count.
Coupons, sale prices and scheduling
WooCommerce lets you schedule sale prices on each product and set an expiry date on coupons. Use both, because changing hundreds of prices by hand at midnight is how mistakes happen.
- Check the store timezone in Settings > General. Sale dates and coupon expiry follow it, so a mismatch with your customers’ timezone means the sale starts and ends at a different local time from the one you announced.
- Scheduled sales are switched on by a background task, not at the exact second. Check a few products shortly after the start time.
- Set coupon usage limits, minimum spend and exclusions deliberately, and decide whether coupons stack with sale prices.
- Test every coupon on staging with a real cart, including one that should fail.
If a plugin runs your bulk sale, confirm it works with your current WooCommerce version and that cached product pages are purged when prices change.
Payments, stock and rollback
Payment gateways
- Confirm each gateway is in live mode with live keys.
- Check webhooks in your payment provider’s dashboard point to the live store and are not failing. A failing webhook can leave paid orders stuck as pending.
- Make one small real payment with each method you offer, then refund it.
Stock
- Check stock levels for every sale product, and that “Manage stock” is set where it should be.
- Review “Hold stock (minutes)” under WooCommerce > Settings > Products > Inventory, which controls how long unpaid orders reserve stock.
- If stock syncs from another system, test the sync and know how to pause it.
Stores with B2B pricing or bulk quantities, such as the B2B office furniture WooCommerce store I worked on, need extra testing here, because customer-specific prices make stock and coupon rules harder to check.
Backups and a rollback plan
A backup is only useful if you have restored it at least once. Before the freeze, take a full backup of files and database stored off the server, restore it to staging to prove it works, and keep at least daily database backups running through the sale weekend.
Be careful with rollback on a shop. Restoring the database to yesterday also removes every order, customer and stock change since then. So the sale-weekend rollback plan should be code first: if a plugin breaks something, deactivate or roll back that plugin, not the whole site. Write down which plugins you would switch off first and who has access to do it.
Black Friday 2026 timeline
This week (from 26 October)
- Build or refresh staging and run the full checkout test.
- Check the PHP version and decide when any upgrade happens.
- Test caching exclusions with the header check above.
Two weeks before (by 13 November)
- Apply and test all plugin, theme and core updates, then push them live.
- Set up and test coupons and scheduled sale prices.
- Take and test-restore a full backup.
Week before (from 20 November)
- Code freeze: security fixes only.
- Check payment gateways, webhooks and stock.
- Set up uptime monitoring and agree who watches what over the weekend.
Thursday 26 November (Thanksgiving) to Monday 30 November (Cyber Monday)
- Confirm sale prices and coupons switched on correctly on Friday 27 November.
- Watch uptime alerts, WooCommerce > Status > Logs, and WooCommerce > Status > Scheduled Actions for failed or pending actions.
- Compare orders per hour with a normal day. A sudden drop to zero usually means checkout or payments are broken.
- Confirm offers end on time after Cyber Monday, then lift the freeze.
If you would rather hand the technical side to someone, you can hire a WooCommerce developer for pre-sale store checks. Earlier work includes the Flagship Wines WooCommerce website.
Frequently asked questions
When should I stop updating WooCommerce plugins before Black Friday?
Have every update tested and live by around 20 November 2026, a week before Black Friday on 27 November. After that, apply security fixes only.
Should I upgrade PHP before Black Friday?
Only if you can finish and test it well before the freeze. Otherwise wait until after Cyber Monday on 30 November. On PHP 8.2, plan the move for December, because php.net lists its security support as ending on 31 December 2026.
Why are customers seeing the wrong cart or prices?
Usually because cart, checkout or account pages, or visitors with WooCommerce cart cookies, are being served from a page cache or CDN. Exclude them, purge the cache and test again in a private window.
Can I just restore a backup if something breaks on Black Friday?
A full database restore removes every order placed since the backup. Roll back the plugin or code that caused the problem instead, and keep full restores for real emergencies.
If you want a second pair of eyes on your store before 27 November, send me the URL and what worries you.