Problem × WooCommerce
WooCommerce shipping not calculating (zones, classes, free shipping)
rates missing at the worst moment - checkout
Why it happens
Zone mismatch. Shipping zones match in order: the first zone whose region matches the customer wins, and its rates apply exclusively. A broad “everywhere else” zone created early silently shadows the specific zone below it. The rate is not broken; the customer is matching the wrong zone.
Cart conditions not met. Free shipping with a minimum order: “minimum order amount” counts the cart subtotal BEFORE coupons and taxes unless the setting says otherwise, and it can apply before or after discounts. The coupon that was supposed to unlock free shipping disqualifies it instead.
Plugin interference. Table-rate plugins, freight quote plugins and membership plugins all filter shipping rates. A deactivated-license or half-updated one returns zero rates for every zone.
Checkout field or address quirks. Rates calculate against the shipping address; when state/county fields are hidden or a plugin alters them, WooCommerce calculates for an empty region and shows nothing.
Triage
Test in an incognito window with a real address from each zone, watching which zone the order screen says applies (WooCommerce > Settings > Shipping shows zone order; put specific zones above the catch-all). Recreate the failing rate as a plain flat rate in the same zone: if the flat rate shows, the problem is the rate plugin’s configuration or license, not the zone. If nothing shows at all, deactivate shipping-adjacent plugins one by one and retest.
When to bring us in
Shipping is checkout-critical: every minute it is wrong, real carts are dying. We debug zone logic, table-rate plugins and checkout conflicts as WooCommerce emergency work, fixed price, and for stores that keep hitting configuration walls we take over shipping and checkout maintenance so it stops being your evening.
Keep exploring