Question: My WooCommerce store completely collapses during discount campaigns (many simultaneous users at checkout), even though static pages are cached via Cloudflare. How do I solve the CPU problem?
This FAQ is not about asset unloading, CSS/JS optimization, Redis, page caching, or frontend rendering. It discusses a different layer of WordPress performance: preventing unnecessary plugin execution before the main document is generated.
Answer:
Cloudflare is doing exactly what it is supposed to do - and that is precisely why it cannot solve this specific problem.
Cloudflare can cache and deliver static or cacheable pages at the edge. For a homepage, category page, product page, landing page or campaign page, that can remove a large amount of traffic from the origin server.
Checkout is different.
A WooCommerce checkout request is dynamic, session-specific and transaction-related. It depends on the visitor's cart, session, shipping options, tax calculation, payment method, coupons, stock status, user state and order validation. Because of that, checkout is normally excluded from full-page caching by WooCommerce, cache plugins, CDN rules and Cloudflare edge caching.
During a discount campaign, this creates a very simple bottleneck:
Your static campaign traffic may be served by Cloudflare, but every real checkout still reaches the origin server.
Once the request reaches the origin, WordPress has to execute. WooCommerce has to run. The payment gateway has to run. Cart/session logic has to run. Shipping, tax, coupon, stock and order validation logic may also need to run.
That part is expected.
The structural problem is that WordPress usually does more than that. A normal WordPress installation loads the globally active plugin stack for the request. If the store has 40 active plugins, those plugins can still enter the checkout request even when many of them have no direct role in completing the purchase.
That can include:
- SEO plugins
- sliders
- form builders
- social sharing plugins
- cookie banners
- analytics integrations
- marketing tools
- page builder add-ons
- frontend widgets
- plugins meant only for content or landing pages
Individually, some of that overhead may look small. Under campaign load, it multiplies across many simultaneous checkout requests.
That is why the CPU problem often appears during checkout instead of on cached pages. The cached pages are not the hard part anymore. The hard part is the dynamic origin request that still executes WordPress, WooCommerce and too much unrelated plugin code.
Scaling the server can help: more CPU, more PHP workers, more RAM, better database capacity and better object cache configuration can all increase the amount of traffic the store can survive.
But hardware scaling does not change the underlying execution model. It only gives WordPress more resources to execute the same oversized request stack.
The more fundamental question is therefore not only:
How can the checkout request execute faster?
It is also:
Why is unrelated plugin code allowed to execute during checkout at all?
So the CPU problem is not caused by Cloudflare failing. It is caused by the boundary between cacheable traffic and dynamic WooCommerce traffic. Cloudflare can protect the cacheable part. Checkout still needs a separate execution-layer strategy.
Can the checkout CPU problem be reduced before WordPress executes the full plugin stack?
Not by default.
WordPress normally loads active plugins globally before the application has a precise, early performance model for the current request. That means many optimization tools can improve caching, static delivery, database behavior, object cache usage, frontend assets or rendering, but they do not prevent unrelated plugins from entering the checkout request in the first place.
This is where Performance by Prevention becomes relevant.
Instead of only trying to make an overloaded checkout request faster after the full plugin stack has already entered WordPress, the prevention approach asks:
Which plugins should not load for this checkout request at all?
LiteCache Rush applies this principle to WordPress. It controls plugin loading before the normal WordPress bootstrap continues and can build a request-specific plugin set for a WooCommerce checkout context.
During checkout, that means WooCommerce, the payment gateway and required checkout-related components can be allowed, while unrelated plugins such as sliders, form builders, social sharing tools, page builder extras, campaign widgets or frontend-only plugins do not enter the request.
The effect is not that Cloudflare suddenly caches checkout. It does not need to. The effect is that each dynamic checkout request carries less unnecessary execution cost when it reaches the origin server.
For campaign traffic, that distinction matters:
Cloudflare reduces origin load for cacheable pages.
Performance by Prevention reduces unnecessary execution inside dynamic WooCommerce requests.
So the structural fix is not only more server capacity. It is reducing what WordPress is allowed to execute while customers are trying to complete purchases under load.