Checkout is the worst possible page to be slow. Baymard Institute's long-running research puts average cart abandonment around 70%, and every second of checkout lag pushes that number in the wrong direction. Yet checkout is also the page most optimization guides skip entirely, because the tool everyone reaches for first (page caching) doesn't apply there at all.

Checkout pages are dynamic per user, unique to each session, and excluded from page cache by design. So the standard advice (install a caching plugin, enable everything, done) does literally nothing for the page where money changes hands. Here's what actually does.

Profile before touching anything

The cardinal sin of WooCommerce performance work is guessing. Install Query Monitor, load your checkout page, and look at three numbers before forming any opinion: total queries, total query time, and the slowest individual queries broken down by component.

A healthy checkout runs a modest query count. If you're seeing hundreds of queries per load, some plugin is doing something expensive on every single checkout request, and Query Monitor names it directly in the by-component breakdown. This step alone resolves a large share of slow checkouts, because the fix collapses to "replace, reconfigure, or remove that one plugin" instead of a week of speculative optimization.