Support » Plugin: WooCommerce » Woocommerce – Limiting areas an item is shipped to

  • Resolved prodecksupply


    I have an online store that has previously only been used for local sales, since I wasn’t ready to start shipping out of state.

    I’d like to start shipping out of state for my smaller items, but some of my larger items are so large and unique that I will only ship them locally on our company truck, and i don’t want to have a shipping option for them to be delivered to out-of-area customers.

    I have hundreds of products, each with up to 50 variations, and I’d like to make this as easy as possible to set shipping on the larger items.
    I’d imagine it would be set up by zip code, with a limitation for certain items only to ship to specific zip codes.
    Is there an effective way to set which items I’ll ship to what areas?

    • This topic was modified 1 year, 11 months ago by prodecksupply.
Viewing 6 replies - 1 through 6 (of 6 total)
  • You’ll need to get your shipping classes and shipping methods set up correctly, see:

    Try a few items to make sure you have a good grasp of how classes and methods work before rolling out to all products.

    Then look at:
    With this plugin you will be able to assign classes to products without having to visit each product page, so its a great timesaver.

    For a really big store, you can look into csv product export, manipulation in a spreadsheet and subsequent import. Some perseverance may be needed.

    Thread Starter prodecksupply


    Thanks for the reply. Your answer does explain configuration for ship rates per item, but I don’t think it lets me control where the items can ship to.
    For example, the products in my “small items” shipping class I want to sell to customers throughout the U.S., but for my “truckload” class that includes items weighing over half a ton, I don’t want to sell those to anyone further than 50 miles away from me.

    It’s not about how much I charge to ship items far away, it’s the fact that I can’t/don’t want to ship them far away.

    Does that help clarify?

    Yes, that means you need more than one zone. So, one zone for “Throughout the US” with a flat rate method restricted to serving the “small items” class, and a second “Local” zone restricted to serving a 50 mile radius and serving the “truckload” shipping class.

    Zones can be defined by country, optionally by state (for countries that have states) and/or by zip code. So to serve a 50 mile radius you’ll have to find a data source able to give you all the zipcodes within 50 miles of your location.

    You say throughout the US, so that’s one country / one click, but if you mean to exclude Alaska and Hawaii, you’ll need to list the other 48 states one by one. You could put the non-contiguous states in their own zone.

    Be careful not to have any item without a shipping class, if so you won’t be able to sell it. A customer cannot buy an item which cannot be shipped. The stock manager plugin helps with this since you can see all products’ shipping classes in one place.

    If you have a flat rate with a “No shipping class” cost, you can sell a no shipping class item, but the customer may be offered an inappropriate shipping cost.

    Thread Starter prodecksupply


    You said “restricted to serving the small items class.”
    How do I do that??
    When I make those classes, and fill in the costs for the relevant classes (leaving the other fields blank), instead of not allowing a big item to be shipped, it just applies the shipping class relevant to their area and doesn’t charge them shipping (since a number is not filled into the field for that item class)

    What value in the flate rate settings>shipping class costs satisfies a “not allowed” option?

    Doing a test checkout:
    When I leave the truckload class cost field blank or type N/A, save it, and try a test address order (with a truckload item) in the “nationwide” zone, it still goes to that “nationwide” zone (as it should), but it just shows “flat rate” with no cost, and still allows a customer to order the item, and doesn’t charge them shipping.

    Is there an option I can enter in the shipping class costs field that disallows the item to be purchased without a shipping class selected?

    Keep in mind the “nationwide” zone is the only shipping method that includes the nationwide areas, so that the far away shipping locations should only allow.

    Plugin Support Yuki K. a11n


    Automattic Happiness Engineer

    Hi @prodecksupply,

    Let’s trace back here a bit. From what I understand you want all small items to ship across US and large items to only be local (for my example, let’s say local delivery is only to 90210).

    Here’s how this scenario would be set up:

    1. Would would need a zone for Local and US:
    Link to image:

    It’s important the Local is first

    2. Set the flat rate shipping for small and heavy shipping class (each product will need to be assigned corresponding shipping class):
    Link to image:

    3. Set the US zone so that only small items get shipping:

    Link to image:

    Then at checkout, when a large item is in cart and trying to ship to a non-local zip, it will not checkout:
    Link to image:

    Hope that helps!

    Plugin Support Mike M. a11n


    Automattic Happiness Engineer

    Hi there,

    We haven’t heard back from you in a while, so I’m going to mark this as resolved – if you have any further questions, you can start a new thread.

Viewing 6 replies - 1 through 6 (of 6 total)
  • The topic ‘Woocommerce – Limiting areas an item is shipped to’ is closed to new replies.