A slow checkout is not just an annoyance. People abandon the page, support tickets go up, and ads keep sending traffic into a funnel that leaks. The cause is usually a pile of small extras on the checkout page, not a single mysterious setting.
Too much JavaScript on the last step
Page builders, live chat, heatmaps, upsell popups, and marketing pixels often load on every page, including checkout. Each script competes for the main thread on a phone. When I audit a slow store, I compare the checkout with those extras disabled. If the page suddenly feels light, you have your first list of suspects.
Plugins that recalculate the cart over and over
Shipping, tax, dynamic discounts, and membership plugins can trigger extra AJAX calls every time a field changes. One well-written plugin is fine. Five of them stacked together can make the Place order button wait several seconds. Your browser’s network panel will show the chatter more honestly than a homepage speed score.
The server is slow before the page even paints
If Time to First Byte is high, the bottleneck may be PHP, a missing persistent object cache, a distant server, or a database heavy with old sessions and transients. Speeding up images on the homepage will not fix that.
Cache configured for a brochure site
Full-page cache is excellent for a blog. On a store it must exclude cart, checkout, and my-account pages, and it must not serve cached fragments that belong to another shopper. A misconfigured cache can look like slowness, wrong totals, or both.
How to test without guessing
Measure the checkout on a clean browser, logged out, on mobile and desktop. Disable nonessential plugins on a staging copy. Change one thing at a time so you know which extra was expensive. Then keep the homepage work if you still need it. Just do not let a pretty homepage score hide a painful checkout.
I work on this kind of slowdown under WordPress speed optimization and WooCommerce repair.