Browsing is fast, checkout is slow. A specific problem with a specific cause.
WHY IT HAPPENS
Cart and checkout cannot be cached, so every request runs full PHP and hits the database. Everything else on the shop may be served from cache, hiding the true speed.
WHAT TO LOOK AT
- Payment gateway calls. Some gateways contact their servers during page load; a slow API call delays checkout.
- Shipping calculations. Complex zones and rate calculations add time, and live courier rate lookups add more.
- Plugins hooking into checkout: custom fields, validation, tax calculation.
- Address autocomplete and geolocation, which can defeat caching site-wide.
- Database size, particularly a large wp_options table with autoloaded data.
DIAGNOSING
Install Query Monitor temporarily and load the checkout page as a customer. It shows which queries and which plugins consume the time.
PRACTICAL FIXES
Remove checkout fields you do not need Simplify shipping rates Disable geolocation with caching support if you do not need it Clean the database of expired transients