Peak Season With Two Pairs of Hands: A Loader Checklist for Small UK Retail Teams
Photo: Willie Duffin, CC BY-SA 2.0, via Wikimedia Commons
There is a particular kind of quiet in a small UK retail team the week before Black Friday. The warehouse is busy, marketing is sending increasingly excitable messages, and the two people who actually look after the site are wondering whether the loader will hold. Black Friday lands on 27 November in 2026, so if you are reading this on 8 November, you still have time to make the site boring. Boring is the goal.
You do not need an incident commander, a war room, or a dashboard with 42 graphs. You need a loader checklist that one tired developer can execute while the other person handles the courier queries. Here is the version I would tape to the wall.
Protect the critical path first
Start by writing down the path a customer must complete to give you money. For most UK retailers that is: land on a product page, add to basket, choose delivery or click and collect, pay, and see an order confirmation. Everything else is optional.
Your loader should know this list. Critical CSS should be inlined or served from the same origin. The payment SDK, basket script and stock-check call should load early and predictably. Reviews, recommendation carousels, chat widgets, heatmaps and A/B testing tools can wait. If your loader treats a reviews widget with the same priority as the payment form, it is not a loader; it is a queue with no bouncer.
A simple rule: if the script does not block a sale, it does not block the first paint. Load it after interaction, after idle, or after consent, but not before the add-to-basket button is usable.
Park the third-party widgets
Every small retail site accumulates widgets the way a stockroom accumulates cardboard. The chat bubble from 2023. The loyalty pop-up. The recommendation engine that adds 900ms and one very nice account manager.
For peak, put them on a leash. Your loader should support a peak profile: a config switch that defers non-essential vendors, shortens timeouts and disables anything that is not on the critical path. This is not about being clever. It is about reducing the number of things that can fail at 9am on Black Friday.
In the UK, consent matters too. Your loader should not fire marketing tags before the visitor has made a choice. A consent-aware loader is not just a legal nicety; it is a performance feature. Fewer scripts before consent means fewer scripts competing with the basket.
Build fallbacks that fail quietly
Assume the vendor CDN will be slow. Assume the chat widget will time out. Assume the recommendation API will return a 503 because everyone in the country is shopping at once.
Your loader needs three habits. First, a timeout on every third-party request, with a sensible default. Second, a local fallback for anything critical: a stub for the payment SDK, a cached stock response, a plain HTML basket if the fancy one fails. Third, a circuit breaker. If a vendor fails three times in a row, stop calling it for the next ten minutes and show the page without it.
The fallback does not need to be beautiful. It needs to keep the customer moving. A missing review star is annoying. A basket that will not update is a lost order.
Rehearse the rollback one tired person can run
This is the part teams skip. They write a rollback plan in a wiki, then discover on the day that it needs a database migration, two approvals and a developer who remembers how the CDN purge works.
Write the rollback so it fits on a sticky note. One command, one feature flag, one documented switch. If your loader has a kill switch for each vendor, test it. If your deploy pipeline takes 40 minutes, know that before the traffic arrives. If the rollback needs a second person, agree who that person is and what time they go to bed.
The pre-flight checklist
- Freeze non-essential deploys from the Monday before Black Friday, unless it is a fix for the critical path.
- Run a load test on a Thursday evening, not the day before. Test the basket and checkout, not just the homepage.
- List every third-party script in your loader config, with an owner and a reason. Delete anything without a reason.
- Set peak timeouts and circuit breakers. Write down the values.
- Check the consent flow on a real phone, on a mobile connection, not just in the office Wi-Fi.
- Test the rollback with the person who will actually be on call.
- Put the on-call number and the kill-switch URL somewhere everyone can find it.
Keep the boring after the spike
The temptation after Cyber Monday is to put all the widgets back and forget the checklist until next November. Resist it. Keep the peak profile, or at least keep the kill switches. Keep the list of third-party scripts. Your next busy period might be a flash sale, a bank holiday or a supplier promotion, and the same rules apply.
Black Friday with two pairs of hands is not about heroics. It is about a loader that knows what matters, a rollback that one person can run, and the confidence to leave the chat widget switched off.