WooCommerce Shipping Options Not Showing? Here's How to Fix It Fast
Restore missing WooCommerce shipping methods by checking zones, customer addresses, product settings, conditions, cache, and plugin conflicts.

Checkout says "no shipping options available." The customer can't complete the order. This is almost always a shipping zone problem, a product setting, or caching. Here's the short fix list.
Fix 1: Check the Customer's Address
WooCommerce matches the customer's address to a shipping zone. If the address doesn't match any zone, no shipping options appear.
Test with the exact address the customer used. Check every field:
- Country
- State or region
- City
- Postcode
A wrong postcode or missing state can send the customer to a zone that doesn't exist. Also confirm the store actually ships to that country under WooCommerce → Settings → General → Selling location(s).
Fix 2: Check Shipping Zones and Order
Go to WooCommerce → Settings → Shipping → Shipping zones.
WooCommerce uses the first zone that matches. So the order matters. Put narrow, specific zones at the top. Broad zones go at the bottom. For example:
- Local Pickup (your city only)
- California (state only)
- United States (country)
- Rest of the World
If "Rest of the World" is at the top, it matches everyone. Nothing below it ever gets used.
Open the matching zone and confirm it has at least one enabled shipping method. A zone with no method shows no options.
Fix 3: Check the Product Type
Products marked Virtual don't need shipping. If every item in the cart is virtual, WooCommerce skips shipping entirely.
Edit each product in the cart. Check:
- Is it marked Virtual?
- Does it have a weight and dimensions?
- Does it have a shipping class?
For variable products, check the individual variation—not just the parent product. A variation can have different shipping settings.
Fix 4: Check Method Conditions
Free Shipping often requires a minimum order total or a coupon. If the cart doesn't qualify, the method disappears.
Open the shipping method and check:
- Minimum order amount
- Coupon requirement
- Shipping class restrictions
Test a cart that clearly qualifies. If free shipping appears, the conditions were the problem.
If you use a live-rate extension (UPS, FedEx, USPS), check the API credentials, account status, origin address, and package dimensions.
Fix 5: Clear Caches
Cart and checkout pages hold session data. If they're cached, WooCommerce may show rates for an old address or an old cart.
Exclude these URLs from caching:
/cart/
/checkout/
/my-account/
Purge the plugin cache, host cache, CDN, and browser cache. Test in a private window.
Fix 6: Test the Default Checkout
If shipping still doesn't show, a plugin is interfering. On staging:
- Switch to the default WooCommerce Cart and Checkout blocks.
- Disable shipping, payment, and checkout-field plugins one at a time.
- Test after each change.
If shipping returns, reactivate plugins one by one until it breaks. The last plugin you activated is the culprit.
Also check WooCommerce → Status → Logs for fatal errors or API failures.
Before You Call It Fixed
Test with real addresses from each zone. Use carts with simple products, variations, free-shipping totals, and mixed shipping classes. Confirm the rates show correctly before closing the ticket.
Most missing shipping problems come down to zone matching, product type, or caching. Fix those first. The rest is rare.
Share





