If your checkout page loads the header, the order summary and the step breadcrumb but the form itself never appears, SiteGround’s Speed Optimizer is the first thing to check.
Speed Optimizer can take over delivery of CheckoutWC’s JavaScript and re-serve it from its own optimised copies. When that happens our checkout script can run too late to display the form, and the page is left blank below the breadcrumb. There is no error message, which is what makes this one hard to spot.
Confirm it’s CheckoutWC
Add ?bypass-cfw=true to the end of your checkout URL and load the page, for example https://yourstore.com/checkout/?bypass-cfw=true.
This shows WooCommerce’s own checkout for that page load only. It applies just to you, changes no settings, and does not affect anyone else shopping on your store.
- The form appears – continue with the fix below.
- The page is still blank – something other than CheckoutWC is involved. Start with our general troubleshooting steps.
Exclude CheckoutWC from JavaScript optimisation
Speed Optimizer keeps its exclusion lists behind a small edit icon next to each JavaScript setting, rather than on the settings page itself. It is easy to miss.
- In your WordPress admin, go to Speed Optimizer > Frontend > JavaScript.
- Find the small edit icon beside Minify JavaScript Files and click it to open the exclusion list.
- Add CheckoutWC’s scripts, then do the same for any other JavaScript option you have switched on. Combining and deferring keep their own separate lists.
- Save, then purge the SiteGround cache.
- Load your checkout again in a private or incognito window.
If you cannot find the exclusion list, switching JavaScript minification off altogether also fixes it, and is a perfectly reasonable answer. Minification only strips whitespace out of script files to save a few kilobytes. It does not change what your site does, so the cost is a marginally larger download and nothing else.
If it comes back
Speed Optimizer’s exclusion lists are per-option. If you switch on a JavaScript setting later that was previously off, add the exclusions to that setting’s list as well.
Still stuck? Get in touch and include your store URL – we can usually confirm the cause in a couple of minutes.