Between Diwali and the year-end sales, three online stores we look after ran their biggest promotions of the year. We learned more in those few weeks than in the previous six months, so we're sharing the notes. Names are left out, but the lessons apply to any store that expects a spike.
Store A: sailed through
A fashion label on a custom PHP store, traffic about eight times normal at peak. No issues at all.
What they did right:
- We load tested two weeks before the sale and found a slow product filter query. Adding one database index fixed it.
- Product images were already served in WebP with proper sizes, so pages stayed light.
- Their payment gateway was told about the expected volume in advance.
- They froze code changes a week before. Nobody pushed "just a small fix" on sale day.
Store B: wobbled
A home decor store on WooCommerce. The site stayed up, but checkout slowed to around eight seconds per step during the first hour.
The cause was a mix of things. Cart fragments (a WooCommerce feature that updates the mini cart) were firing AJAX requests on every page. A recently added reviews plugin was making external calls during checkout. And the hosting plan simply didn't have enough PHP workers for that many people at once.
We disabled cart fragments on non-shop pages, deferred the reviews widget, and temporarily upgraded the server. Things settled within the hour, but they probably lost some sales in that window.
Store C: went down
A gadgets store that moved to us in November, too close to the sale for a proper review. Their homepage had a "live deals" section that queried the database without any caching. When a popular influencer posted the link, the database ran out of connections and the site returned errors for about forty minutes.
The fix was a five-minute cache on that section. Five minutes. That was all it needed.
The checklist we now give every store
- Load test at least two weeks before. Even a basic test shows you the slowest page.
- Cache anything that doesn't change per user. Home page sections, category listings, menus.
- Audit plugins and third-party scripts. Each one is a risk during peak traffic.
- Talk to your host and payment gateway. They can scale or whitelist ahead of time.
- Freeze changes. No new features in the week before a sale.
- Have someone on call. Not just "the agency", a named person with access, phone on.
- Watch the checkout, not the homepage. A slow homepage is annoying. A slow checkout is lost money.
Speed is a sales feature
It's easy to think of performance as a technical detail. During a sale it's the opposite. Every extra second at checkout is people abandoning carts and going to a marketplace instead. If you have a big promotion planned for the new year, the best time to prepare is now, not the night before.
