
Most sale-day website problems we fix start with a small change: a plugin update, a layout tweak or a new tracking script added a few days before the sale. Then checkout stops working at midnight.
A website code freeze prevents that. This guide from ZenWeb, a Google Partner agency with 500+ Malaysian clients, covers what to freeze, what you can still change, the freeze dates for the 2026–2027 festive season and how to handle emergencies. For everyday edits outside the freeze, see how to safely update your own website after launch.
Need your site stable before 11.11?
Our developers finish risky updates, test checkout and hand over a freeze plan your team can follow. See our web development services →
This developer discussion explains why teams freeze code and when to schedule it.
Source video: System Dot Debug on YouTube
Quick Answer: A website code freeze is a fixed window, usually one to two weeks before a peak sale until a few days after it, when no one changes the technical parts of your website. Content such as prices, banners and stock can still be updated. The goal is simple: the site that passed testing is the site customers use on sale day.
Large online retailers have frozen code before the holiday rush for years. For a Malaysian SME the scope is wider, because the risky changes are rarely “code”. They are clicks in the WordPress or Shopify dashboard. A small-business website code freeze covers:
There are two strengths. A hard freeze allows no technical change except approved emergencies. A soft freeze allows low-risk changes after a second person checks them. Most SMEs use a soft freeze in the lead-up and a hard freeze over the sale days. Agree both windows in writing with your web development partner.
Quick Answer: Start the hard freeze about 9 to 10 days before each peak and lift it 2 to 3 days after. For small teams, treat 2 November to 14 December 2026 as one long freeze covering 11.11, Black Friday and 12.12. In 2027, Chinese New Year and Ramadan start two days apart, so plan back-to-back windows.
Here is the website code freeze calendar we use with clients. Ramadan and Hari Raya dates depend on the official moon sighting, so treat those rows as expected dates.
| Peak event | Event date | Big changes live by | Hard freeze window |
|---|---|---|---|
| 11.11 | Wed 11 Nov 2026 | Fri 30 Oct 2026 | Mon 2 – Fri 13 Nov |
| Black Friday + Cyber Monday | Fri 27 + Mon 30 Nov 2026 | Fixes only, 16–18 Nov | Thu 19 Nov – Tue 1 Dec |
| 12.12 | Sat 12 Dec 2026 | Fixes only, 2 Dec | Thu 3 – Mon 14 Dec |
| Christmas + New Year | Fri 25 Dec 2026, Fri 1 Jan 2027 | Thu 17 Dec 2026 | Fri 18 Dec – Mon 4 Jan |
| Chinese New Year | Sat 6 + Sun 7 Feb 2027 | Fri 15 Jan 2027 | Mon 18 Jan – Tue 9 Feb |
| Ramadan + Hari Raya Aidilfitri | Ramadan expected from ~8 Feb; Raya expected Wed 10 + Thu 11 Mar 2027 | Fri 19 Feb 2027 | Mon 22 Feb – Mon 15 Mar (expected) |
Source: ZenWeb recommended freeze windows, based on the 2026–2027 Malaysian sale and holiday calendar. Islamic dates are subject to the official moon-sighting announcement.
The gap between the CNY and Raya freezes is only about ten days, your one window for bigger changes in February 2027, so book developer time early. If you sell hampers, build and test your CNY pre-order page before 15 January. For load testing ahead of 11.11, see our guide on keeping your website from crashing on sale day.
Quick Answer: During a code freeze you can still change content: prices, stock, product text, banners and blog posts. You cannot change anything that controls how the site works: updates, templates, checkout, payment, hosting or DNS. Tracking tags and new landing pages sit in the middle and need a second person to approve and test them first.
The simplest way to run the freeze is a three-colour rule your whole team can remember:
| Type of change | Risk | Freeze rule |
|---|---|---|
| Red: frozen | ||
| Core, plugin, theme and app updates | High | Frozen; switch off auto-updates |
| Checkout, payment gateway, shipping and coupon logic | High | Frozen |
| Templates, header, menu and page-builder layouts | Medium–high | Frozen |
| Hosting, DNS, SSL and email settings | High | Frozen |
| Amber: approve and test first | ||
| New pixels, tags, chat widgets and pop-ups | Medium | Second person approves; test on mobile |
| New landing page on an existing template | Low–medium | Build on staging; approve before publishing |
| Green: allowed | ||
| Prices, stock, product text and images | Low | Allowed; check the live page after saving |
| Banner swaps, notices and blog posts | Low | Allowed |
Source: ZenWeb change-risk grouping used for client freeze plans, 2024–2026.
This shapes your planning:
Not sure which of your plugins are safe to leave?
We audit updates, checkout and tracking before the freeze starts, then lock the site down for you. Book a pre-freeze website audit →
Quick Answer: In our client tracking, plugin, theme and app updates cause the largest share of peak-season problems that trace back to a change, often through auto-updates nobody remembered were on. Page-builder edits come second. New tracking scripts and payment or shipping setting changes follow, each breaking checkout or slowing mobile pages.
When a client’s site misbehaves during a sale, our first question is: what changed this week?
| Change that triggered the problem | Share of incidents |
|---|---|
| Plugin, theme or app update (including auto-updates) | 35–40% |
| Page-builder or design edits | 20–25% |
| New tracking scripts, pop-ups or chat widgets | 10–15% |
| Payment, shipping or coupon settings | 10–15% |
| Hosting, DNS or SSL changes | 5–10% |
| Redirects and other content edits | 5–10% |
Source: estimates from ZenWeb client tracking across Malaysian SME websites, 2024–2025 peak seasons.
Auto-updates deserve special attention. By default, WordPress runs plugin and theme auto-updates twice per day wherever they are switched on, so your site can change at 3am on sale day with nobody touching it. Turn them off for the freeze and note which ones to switch back on.
Tracking is the quiet risk. Marketing teams often add a pixel for Performance Max seasonal assets or for retargeting last year’s festive buyers in the final week. Install and test those tags before the freeze starts.
Quick Answer: In our model, a checkout broken for four hours on 11.11 costs a small online store around RM 1,200 in lost sales plus wasted ad spend, and a larger store about RM 20,000. Preparing for a website code freeze costs far less: roughly RM 500 to RM 8,000 of developer time, depending on site size.
Peak days are also the dearest days to buy traffic. In ZenWeb-managed accounts, retail Google Ads CPCs in 11.11 week often run about 20–50% above a normal week, and Meta CPMs can rise further (estimates that vary by niche). Every click landing on a broken page is paid at that higher rate.
| Store size (normal online sales) | Lost sales in 4 peak hours | Wasted ad spend | Freeze preparation cost |
|---|---|---|---|
| Small (RM 30,000 a month) | ~RM 1,200 | RM 150–300 | RM 500–1,500 |
| Mid-sized (RM 150,000 a month) | ~RM 6,000 | RM 600–1,200 | RM 1,500–3,500 |
| Larger (RM 500,000 a month) | ~RM 20,000 | RM 2,000–4,000 | RM 3,000–8,000 |
Source: illustrative model by ZenWeb. Assumes sale-day revenue of about four times a normal day, with the four lost hours carrying around 30% of that day’s sales. Preparation cost is a one-off estimate that covers the whole season, not one sale.
The table understates the damage in two ways:
Your site is part of the sales team. Our article on the website as a sales tool explains that mindset, and how to stop losing leads covers enquiries for service businesses.
Quick Answer: Agree the dates, finish and test all big changes, take a full backup, switch off auto-updates, lock down logins, tell everyone the rules, and name one person who approves emergencies. After the peak, lift the freeze in a planned way: apply the waiting updates on staging first, then on the live site.
We use the same seven steps for every client website code freeze, whatever the platform:
Plan around staff leave too. Teams are often short-handed over Christmas, Chinese New Year and Hari Raya, and colleagues celebrate different festivals. Rotate the on-call approver so everyone gets time with family during their own celebration, and agree cover dates early.
Quick Answer: Marketing keeps running at full speed during a code freeze, because ads, social posts, WhatsApp and email live outside the website. Every campaign must point to pages that already exist and passed testing. Ideas that need new site features wait until the freeze lifts.
Here is how each channel works inside the freeze:
| Channel | What still runs during the freeze |
|---|---|
| Google Ads | Bids, budgets and ad text can change freely. New ads must use existing, tested landing pages. |
| Meta Ads and TikTok | New creatives are fine. Pixels must already be installed and firing before the freeze. |
| SEO and content | Blog posts and product copy can go live. Avoid URL changes and redirects. |
| WhatsApp and email | Broadcasts and greetings go out as planned, linking to frozen pages. |
| Google Business Profile | Holiday hours and posts are managed outside your site, so they are not affected. |
Use the freeze to send festive WhatsApp greetings, set your Google Business Profile holiday hours and plan festive B2B greetings for key clients. Keep each greeting respectful and specific to its celebration instead of mixing symbols from different festivals. Service businesses can push their pre-festive booking rush through existing forms. Extra visits alone will not lift revenue; our article on why traffic is not sales explains why the landing page matters more.
Want campaigns and website planned as one calendar?
We line up ad launches, landing pages and freeze windows so nothing new ships in sale week. Talk to our web development team →
Quick Answer: Allow a change during the freeze only when something is already broken or a security patch is urgent. The named approver signs off, the fix is tested on staging, a backup is taken first, and the change is logged. Afterwards, judge the freeze by uptime, checkout errors, conversion rate and the number of emergency changes.
An emergency is a broken checkout, a site that will not load or a published security warning for a plugin you use. A new banner idea does not qualify. Log every emergency: what broke, who approved the fix, when it went live and how to roll it back.
After each peak, compare these numbers with the same event last year:
Quick pre-freeze checklist:
When the freeze lifts after 12.12 and again after CNY, use the quieter weeks to apply waiting updates and fix what the review found. That prepares the site for the January sales slump, when you need to recover leads before Chinese New Year.
A website code freeze is one of the cheapest ways to protect festive sales. Finish big changes by 30 October 2026, freeze from 2 November to 14 December, and plan short freezes around Christmas, Chinese New Year and Hari Raya 2027. Let content keep changing, lock the technical parts, and give one person authority over emergencies.
Yes. Auto-updates can change your site at any hour. Switch them off before the freeze, list what you switched off, and apply the waiting updates on a staging copy after the peak.
Treat it as an emergency. Check whether the issue affects your site, test the update on staging, take a backup, and let your named approver sign off before it goes live. Log the change.
About 9 to 10 days before each peak and 2 to 3 days after. Small teams can run one longer freeze from 2 November to 14 December 2026 to cover 11.11, Black Friday and 12.12 together.
Yes. Prices, stock, product text, banners and blog posts are content changes and are allowed. Check the live page after each change, especially on mobile.
No. Content publishing continues, and a stable site with no broken pages helps search. Save URL changes and redirects for after the freeze.
Want a freeze plan before 11.11?
Book a free 30-minute call. We will review your updates, checkout and tracking, and give you a freeze calendar for 11.11 through Hari Raya 2027.
Complete the form and our team will contact you to discuss your goals. Let’s grow your business.