What matters first: A configured method appears only when the customer package matches its zone and eligibility conditions. Cached checkout state, postcode format, product shipping class or plugin code can change the result.
Why a configured shipping method can disappear
The chosen address and zone-debug data reveal whether the failure is matching or method calculation.
Capture the package WooCommerce is rating
- Record the full destination address and cart contents.
- Confirm which shipping zone WooCommerce matches, including Rest of the world order.
- Inspect product virtual status, shipping classes, weight and dimensions.
- Check method-specific minimums, rates, API logs and checkout AJAX response.
Check zone matching before carrier integrations
- Zone order mismatch: A broad zone captures the address before the intended one.
- Address format: Postcode, state or country value does not match rules.
- Product/package data: Virtual products or shipping classes change eligibility.
- Carrier API failure: Live rates time out or return no services.
Repair the first failing layer
- Correct zone specificity and order.
- Validate address fields and product shipping data.
- Inspect and repair the carrier request rather than forcing a fallback silently.
- Clear the customer shipping cache/session and repeat with controlled addresses.
Zone match, package data or carrier response?
Start with the shipping zone WooCommerce actually matches, not the zone you expect it to match. If the correct zone is selected but no method survives, move down to package data, method conditions and the carrier response. That order prevents a zone-priority problem from being misdiagnosed as an API outage.
A disappearing shipping package can be upstream of the shipping method itself. If cart state changes between checkout requests, first rule out a cart that empties at checkout and add-to-cart failures before rewriting zone or carrier rules.
Do not hide the fault with a generic free rate
Do not expose a zero-cost generic rate as a permanent workaround unless fulfilment has approved the financial risk.
Test representative destinations end to end
- Expected methods appear for representative valid addresses.
- Ineligible destinations remain blocked or show a clear message.
- Rates, taxes and order shipping lines match fulfilment rules.
Close the incident only after representative addresses in every relevant zone return the expected methods and prices, ineligible destinations remain blocked, and a fresh customer session reproduces the same result.
WP REPAIR INCIDENT STANDARD
Reconstruct the incident before fixing it
The chosen address and zone-debug data reveal whether the failure is matching or method calculation.
- 1
Record the full destination address and cart contents.
- 2
Confirm which shipping zone WooCommerce matches, including Rest of the world order.
- 3
Inspect product virtual status, shipping classes, weight and dimensions.
- 4
Check method-specific minimums, rates, API logs and checkout AJAX response.
What must be verified
- Expected methods appear for representative valid addresses.
- Ineligible destinations remain blocked or show a clear message.
- Rates, taxes and order shipping lines match fulfilment rules.
Official technical sources
Continue the diagnosis
This guide explains the diagnosis. If the site is affected now, the intervention should preserve a rollback path and verify the real business journey.
See the emergency repair service →ABOUT THIS SYMPTOM
Frequently asked questions about this guide.
Can a valid address still fail to match the intended shipping zone?+
Yes. If a broader zone is positioned above the intended one in the zone list, WooCommerce matches the first zone that fits the address and stops looking, so the more specific zone's methods never appear even though the address qualifies for them.
Do virtual products affect which shipping methods are offered?+
Yes. Virtual products and shipping classes change package eligibility, so a cart mixing virtual and physical items, or containing a product with an unexpected shipping class, can suppress methods that would otherwise show.
If live carrier rates fail to load, does checkout just show no shipping options?+
Often yes. When a carrier API times out or returns no services, the customer typically sees no methods rather than an error, which is why checking the API logs and AJAX response is necessary rather than assuming a configuration mistake.
Is it fine to leave a free flat-rate method active as a permanent fallback?+
Only with approval from fulfilment. Exposing a zero-cost generic rate hides the real problem and creates financial exposure if it stays in place after the underlying zone, address, or carrier issue should have been fixed.