Configuring WooCommerce shipping zones and table rates for parcels over 50 lb
WooCommerce handles parcels over 50 lb through shipping zones plus a table-rate method, where you define rate rows by weight range and attach them to each zone. The core WooCommerce install gives you only flat rate and a no-charge shipping method; weight-tiered rates need either the official Table Rate Shipping extension or a plugin like Flexible Shipping.
The order of work
Build zones first, add a method to each zone, then add weight rows to the method. A method only applies to the zone it is added to.
Sources
| Source | What we took from it |
|---|---|
| WooCommerce documentation, "Table Rate Shipping" | Zones, rows, weight rules and shipping classes |
| Flexible Shipping, wordpress.org plugin page | Weight and cart-total rules in the base version |
Sources checked on October 15, 2026.
Questions
How do I set up shipping zones first? +
Zones are the foundation. In WooCommerce you go to Settings > Shipping > Shipping zones, create zones for your regions, then add a shipping method inside each zone. A method only applies to the zone it is added to, so you build zones first and attach rates to them (WooCommerce documentation, "Table Rate Shipping," accessed 2026-10-15).
What does the Table Rate Shipping extension add? +
It lets you define multiple rate tables per zone and add rules based on weight, item count, shipping class or price, with per-row costs, per-item costs, percentages or per-weight-unit costs (WooCommerce, "Table Rate Shipping" product page, accessed 2026-10-15). That is the mechanism for tiering a 50 lb and a 120 lb order differently.
How do weight tiers work for heavy parcels? +
You add rows where the condition is weight and you set a minimum and maximum weight for each row. You can calculate by the weight of the entire order, or apply a cost per weight unit if your carrier quotes that way (WooCommerce documentation, "Table Rate Shipping," accessed 2026-10-15). For a 50 to 149 lb catalog, you would typically tier rows like 50 to 70, 70 to 100, and 100 to 149 lb with rising rates.
Is there an option without the paid extension? +
Yes. Flexible Shipping is a WooCommerce plugin listed on wordpress.org that calculates shipping by weight and cart total. Its base version handles cart-total and total-weight rules, so you can set cost tiers, including tiers for heavy orders (Flexible Shipping, wordpress.org plugin page, accessed 2026-10-15).
How do shipping classes help heavy products? +
Shipping classes let you group products that share shipping behavior, and table-rate rules can target a class specifically. If some SKUs are dense and heavy while others are light, classes keep the heavy SKUs from being rated like the light ones (WooCommerce documentation, "Table Rate Shipping," accessed 2026-10-15).
What unit does WooCommerce use for weight? +
The weight unit is set under WooCommerce > Settings > Products. Your table-rate minimum and maximum weights use that unit, so your product weights must be entered in the same unit or the tiers misapply (WooCommerce documentation, "Table Rate Shipping," accessed 2026-10-15).
Can I add a handling fee for heavy boxes? +
Yes. Table-rate rows can carry per-order or per-item costs, so a flat handling amount per heavy shipment rides on top of the weight-based rate (WooCommerce, "Table Rate Shipping" product page, accessed 2026-10-15). Whether to charge it is your call based on your pack costs and carrier surcharges.
When does table rate stop being enough? +
When a heavy order crosses into pallet or freight territory, parcel-tiered tables no longer describe the real cost. At that point you need a freight-rated plugin or a 3PL that returns freight rates, which is covered in our guide on WooCommerce plugins for heavy 3PL integration.
Get the next one by email
One email a week, sent when there's a change. Unsubscribe any time.
Qualify, and your first pallet is on us: we truck it in and receive it. For customers who pass the Cost Audit. One pallet.
The first step