Table of Contents
Wondering how to restrict shipping method per product in WooCommerce? In this detailed tutorial, I’ll show you how to fine-tune your online store’s shipping options to add limitations per product, product variant, product SKU, product quantity, geographical location, and much more.
If you’re looking for a quick and easy guide to restrict the shipping method per product in WooCommerce, this tutorial has your back. Here, I’ll show you:
- How to restrict shipping method per product type
- How to restrict shipping method per product based on location
- How to restrict shipping method per product based on product weight
The ability to control the shipping settings on such a granular level isn’t built into WooCommerce by default. Luckily, we can easily set it up using the popular Hide Shipping Method For WooCommerce plugin.
Quick note: Hide Shipping Method For WooCommerce is our own best-selling plugin. Since 2019, more than 11,854 people have used it to customize their store’s shipping settings, including to restrict the shipping method per product in WooCommerce. Most users love it and have rated it 4.9 out of 5 Stars. Check out the demo or get the plugin’s free or premium version.
Hide Shipping for WooCommerce
Hide all other shipping methods when free shipping and/or local pickup are available in two minutes or less.
14-day, no-questions-asked money-back guarantee.

Let’s begin by understanding the top reasons many WooCommerce stores decide to restrict the shipping options for each product.
What does it mean to restrict the shipping method per product in WooCommerce?
To restrict the shipping method per product in WooCommerce means to control which shipping options are available to customers based on the specific products in their shopping carts.
Instead of offering every available shipping method per shipping zone to every order, you can set rules so that only relevant methods appear. This keeps the checkout page clean, only shows accurate shipping rates, and prevents costly shipping and delivery-related errors.
For example, in a WooCommerce store that sells both fragile ceramics and digital art prints, the ceramic items would probably need to be shipped with an insured courier service, as they’re easily breakable. However, the digital art prints wouldn’t need shipping at all, as customers should be able to download them from your site as files.
Without the proper restrictions, customers will be shown multiple irrelevant and/or unapplicable shipping options for both products, such as free shipping, flat rate, regular express shipping, etc., which can confuse them and result in complications in the backend of your business.
Restricting shipping methods per product guarantees that only the insured courier option will be displayed for the ceramics, and no shipping options will appear for digital downloads.
Why restrict shipping method per product in WooCommerce?

Setting shipping restrictions on a per-product basis allows site admins to tailor the shipping options based on what works best for their specific business and customers.
Here are some popular reasons why people may need to restrict shipping method per product in WooCommerce:
- Some products require specific shipping methods. As noted above, some shipping methods are simply not ideal for some products. For example, delicate items like ceramics, glassware, or antiques may require special packaging and handling methods to ensure they are transported to customers. Items that must arrive quickly, like fresh flowers or frozen food, might only be available for express shipping. In which case, restricting shipping methods prevents customers from accidentally choosing slower delivery options that could spoil the product before it arrives.
Similarly, virtual products and services like eBooks, online courses, memberships, etc., are delivered electronically — no need for physical shipping. - Some products are restricted in some areas. Certain products are subject to legal restrictions that prohibit shipping to certain locations. The most common examples are firearms, as well as products that contain alcohol or tobacco. It makes sense to prevent these items from being shipped to places where they are regulated to comply with applicable laws.
- Some products may not be available for shipping. Some businesses with physical locations offer local pickup — allowing customers to order items online and collect them directly from their stores. In those cases, it’s logical to disable shipping and delivery options for those products. This removes unnecessary steps from the checkout flow and prevents confusing customers who opt for click and collect with irrelevant shipping fees.
The default features for restricting the shipping method per product in WooCommerce
Here’s the short of it: By default, WooCommerce doesn’t have a native, per-product feature that enables admins to show or hide shipping methods per product or SKU.
Shipping methods are applied based on each customer’s destination, not on which products are in their shopping carts. With the exception that you can hide all paid shipping methods in scenarios where a customer’s shopping cart is eligible for free shipping.
What you do get, however, are a few related settings that can influence shipping availability and cost in broader ways. Below, we’ll explore what’s built in and where they fall short.
1) Shipping zones + core methods (flat rate, free shipping, local pickup)
WooCommerce lets you create shipping zones and attach shipping methods to each zone, which are then shown depending on the customer’s location.
This means that you can enable or disable methods per shipping zone. However, you can’t toggle a method on or off for a specific product with the core feature alone.
2) Shipping classes (cost modifiers, not method restrictions)
The shipping classes feature lets you group products based on similarities (think: “Bulky”, “Fragile”, “Lightweight”) and then adjust their shipping rates inside certain methods like Flat Rate.
Shipping classes are great for charging different amounts depending on the product type. However, it doesn’t hide or show shipping methods based on what’s in the customers’ shopping cart. All shipping methods for that zone still appears; only the price changes.
3) Virtual products (no shipping at all)
Marking a product “Virtual” in WooCommerce denotes that it doesn’t require shipping. If a customer’s shopping cart contains only virtual items, then no shipping methods are shown. In mixed carts (those with virtual + physical products), shipping is still needed for the physical items, so WooCommerce shows all applicable shipping methods.
Essentially, this is the only truly “per-product” behavior that changes shipping, but it’s binary: either the product needs shipping or it doesn’t. This makes it handy for services or digital downloads, but it doesn’t help when you need to allow shipping for one product and hide it for another.
An overview of the best WooCommerce restrict shipping method per product plugin
As noted above, WooCommerce doesn’t provide built-in options to restrict shipping methods for individual products. It lets you create general shipping classes and assign products to them, enable or disable shipping methods per zone, and mark digital goods as virtual, but that’s it.
Unfortunately, the default features are not useful for most scenarios. And they can quickly get confusing to set up correctly.
That’s where the Hide Shipping Method For WooCommerce plugin comes in.
Hide Shipping Method For WooCommerce is an easy-to-use plugin that lets you restrict shipping methods for specific product SKUs, product variations, categories, tags, and much more.
It lets you set up flexible rule-based restrictions across many conditions (think: product weight, quantity, category, subtotal, etc.). Plus, you can add precise restrictions to prevent specific products from being shipped to specific destinations — such as country, state, or post code — or based on factors like product weight or quantity.
With it, you can apply the shipping method restrictions at different levels:
- Product level – Rules that apply to individual SKUs.
- Category level – All products in a specific category follow the same shipping method restrictions.
- Cart-based rules – Shipping method restrictions that are triggered based on combinations of products in the cart.
By applying these controls, Hide Shipping Method For WooCommerce enables you to create a conversion-focused, clutter-free checkout process that boosts shoppers’ experiences as well as your business’s revenue.
Here’s an overview of some of its top features.
Key features of Hide Shipping Method for WooCommerce
- Product-level shipping restrictions. You can display or hide shipping methods for specific products (whether simple, variable, or specific SKUs) with ease.
- Category and tag-based shipping restrictions. Need to restrict shipping methods for entire product categories or tags? This shipping plugin lets you create rules like “hide free shipping for items in the Furniture category” or “show express delivery only for products tagged as premium”.
- Advanced conditional logic. You can combine multiple conditions as needed to refine your shipping rules. This enables you to create rules that apply not just to individual products but to the entire cart. This capability is important for mixed-cart situations where specific restricted products impact the whole order:
- Product SKU, category, or tag
- Weight and dimensions of the product
- Quantity in the cart
- Shipping class
- Location-based conditions (country, state, postcode)
How to restrict the shipping method per product in WooCommerce?
Adding shipping restrictions on a per-product basis with the Hide Shipping Method For WooCommerce plugin is pretty straightforward. In this section, I’ll walk you through the steps to restrict the shipping method per product in WooCommerce. Follow these steps:
Here’s a video walkthrough of the process for visual learners.

1. Install ‘Hide Shipping Method For WooCommerce‘ plugin on your site
- Download Hide Shipping Method For WooCommerce plugin’s free or premium version.
- Install the plugin on your site, and activate it.
- Head to WooCommerce → Hide Shipping → License, to complete the activation process, and enter the license key.
2. Add a new WooCommerce restrict shipping method per product rule
- Head to WooCommerce → Hide Shipping → General settings.
- Select the “Conditional Hide shipping method Rules” button.
- Scroll down and hit “Save settings”.
- Navigate to WooCommerce → Hide Shipping → Manage rules.
- Select “Add New”.
3. Add details to restrict shipping method per product in WooCommerce
- Enable the “Status” option to activate this rule.
- Add a name for the shipping rule in the “Hide Shipping Rule Name” field.
- Specify the relevant shipping source in the “Select Shipping Source” field. Next, enter the relevant shipping method in the “Select Shipping Method” field.
- Select “Advance rule” if you wish to add advanced conditions to this shipping rule. Otherwise, choose “No Extra Rule”.
- Now, head to the “Basic Hide Shipping Rules” section.
- Open up the first dropdown menu to display the criteria by which you can set the shipping conditions. Select the appropriate “Product Specific” criteria to apply the shipping rule based on the cart’s contents — simple products, variable products, product categories, product tags, specific product quantities, or product SKUs.
- Select “Equals to” in the middle dropdown menu. Then, enter the specific products for which you wish to restrict shipping in the dropdown menu on the right side of the module.
- You can add as many rules as you need. To do so, head to the top of the “Basic Hide Shipping Rules” modal and click on the “+ Add Rule” button. Then, select “Any one” from the “Rule match” menu.
- Scroll down and hit “Save changes”.
4. How to restrict shipping method per product based on location?
Follow these steps to set geographical limitations to restrict shipping method per product in WooCommerce. If you don’t want to add location-specific restrictions, skip this section.
- Refer to the instructions in the previous steps to add the Hide Shipping Method For WooCommerce plugin’s free or premium version. to your site, create a new rule to restrict shipping method per product in WooCommerce, and add details to it.
- Next, navigate to the “Basic Hide Shipping Rules” section, open up the dropdown menu on the left, and select the criteria under the “Product Specific” section to define how the shipping rule is applied to customers’ carts. This will either be individual products, product variations, specific product categories, specific product tags, specific product quantities, or product SKUs.
- Select “Equals to” in the middle dropdown menu. Then, enter the specific products for which you wish to restrict shipping in the dropdown menu on the right side of the module.
- Now, click on the “+ Add Rule” button on top of the “Basic Hide Shipping Rules” modal. Then, select “All” from the “Rule match” menu.
- Scroll to the newly created rule dropdown, open the dropdown menu on the left side, and select the criteria under the “Location Specific” section to define how the shipping rule will be applied. You can add restrictions for specific countries, cities, states, postcodes, and zones.
- Select “Equals to” in the dropdown menu in the middle. Then, enter the specific locations for which you wish to restrict shipping in the dropdown menu on the right side.
- Add more shipping restrictions if needed by clicking the “+ Add Rule” button at the top of the “Basic Hide Shipping Rules” modal.
- Hit “Save changes” once you’re done.
5. How to restrict shipping method per product based on product weight?
Follow these steps to set weight limits to restrict shipping method per product in WooCommerce. Skip this section if you don’t want to add weight-based restrictions
- Refer to the instructions in steps 1 to 3 to add the Hide Shipping Method For WooCommerce plugin to your website, create a new rule to restrict shipping method per product in WooCommerce, and update its details.
- Next, navigate to the “Basic Hide Shipping Rules” section, open up the dropdown menu on the left, and select the criteria under the “Product Specific” section to define how the shipping rule is applied to customers’ carts. This will either be individual products, product variations, specific product categories, specific product tags, specific product quantities, or product SKUs.
- Select “Equals to” in the middle dropdown menu. Then, enter the specific products for which you wish to restrict shipping in the dropdown menu on the right side of the module.
- Go to the “Add Hide Shipping Rule” modal and select “Advance rule” from the “Apply Extra Rule” menu.
- Go to the “Apply Shipping Rules match between Basic Hide Shipping and Advanced Hide Shipping” tab. Select “AND” next to the “Basic Hide Shipping Rules and Advanced Hide Shipping Rules with the condition of” option.
- Now, go to the “Advanced Hide Shipping Rules” modal and navigate to the “Product weight” tab.
- Click on the “+ Add Rule” button and toggle on the button next to it to enable it.
- Select “Any One” from the “Rule match” menu.
- Specify the product for which you want to limit shipping options. Then update the minimum and maximum weight details.
- Add more shipping restrictions if needed by clicking the “+ Add Rule” button at the top of the “Advanced Hide Shipping Rules” modal.
- Hit the “Save changes” button to successfully restrict the shipping method per product in WooCommerce.
Hide Shipping for WooCommerce
Hide all other shipping methods when free shipping and/or local pickup are available in two minutes or less.
14-day, no-questions-asked money-back guarantee.

FAQs about restricting shipping method per product in WooCommerce
Here are answers to some common questions about ways to restrict shipping method per product in WooCommerce.
What is conditional shipping in WooCommerce?
Conditional shipping in WooCommerce refers to the capability of showing, hiding, or adjusting shipping methods based on specific rules or conditions. Instead of applying every available shipping method per zone to every order, store admins control availability depending on the products in customers’ shopping carts, the customer location, shopping cart value, total cart weight, shipping class, and other relevant parameters.
WooCommerce’s default shipping zones and classes settings empower admins to set up basic shipping conditions, but it doesn’t support advanced conditional logic out of the box. However, you can use a WooCommerce conditional shipping methods plugin like The Dotstore‘s Hide Shipping Method for WooCommerce to set up rule-based shipping visibility.
Can you conditionally restrict shipping per product in WooCommerce?
Yes, you can set up conditional restrictions on shipping methods per product in WooCommerce, but not with WooCommerce core alone. WooCommerce’s default shipping settings empower admins to set up basic shipping logic (think: using zones for location-based rules or shipping classes for price adjustments), but it doesn’t support advanced conditional logic out of the box.
To conditionally hide or display shipping methods based on specific products in the cart, you need a plugin that allows flexible rule-based shipping visibility, like The Dotstore‘s Hide Shipping Method for WooCommerce.
How do I turn off shipping on a specific product in WooCommerce?
There’s no default setting in WooCommerce to exclude certain products from shipping. Follow these steps to easily turn off shipping on a specific product in WooCommerce using the popular Hide Shipping Method for WooCommerce plugin.
- Get the Hide Shipping Method For WooCommerce plugin and activate it on your site.
- Access WooCommerce → Hide Shipping → General Settings, click on “Conditional Hide shipping method Rules”, and hit “Save settings”.
- Navigate to WooCommerce → Hide Shipping → Manage rules, and click on the “Add New” button.
- Next, toggle on the “Status” button and name this shipping rule.
- Select all shipping sources and shipping methods that your store offers.
- If you want to add granular rules to turn off shipping for a specific product based on product quantity, product weight, and product subtotal, select “Advance rule”. Or else, select “No Extra Rule”.
- Open up the first dropdown menu in the “Basic Hide Shipping Rules” modal and pick the suitable “Product Specific” criteria to enforce the shipping rule.
- Choose “Equal to” from the second dropdown menu.
- Specify the products for which you want to turn off shipping in the third menu.
- To add additional shipping rules, select the “+ Add Rule” button at the top of the “Basic Hide Shipping Rules” modal. Then, update their details.
- Rinse and repeat to add additional shipping rules.
- Hit “Save changes” once done.
How do I set shipping per product in WooCommerce?
Enabling per-product shipping in WooCommerce isn’t a default feature. Follow these steps to set shipping per product in WooCommerce with the powerful Flat Rate Shipping Plugin For WooCommerce by The Dotstore.
- Get Flat Rate Shipping Plugin For WooCommerce and add it to your website.
- Go to DotStore Plugins → Flat Rate Shipping → Manage Rules, and click on “Add New”.
- Enable the “Status” option.
- Enter the Shipping Title (only visible to admins), and Shipping Method Name (visible on the front end).
- Add the shipping fee in the “Shipping Charge” field.
- You can finetune the details for when the shipping method will be available — Estimated Delivery Time, Start Date, End Date, Days of the Week, Start time, End time, enabled for logged in users, enabled on the first order, etc.
- Next, enable or disable free shipping, customize how discounts are applied when free shipping is enabled, and customize the shipping notice on the front end.
- Now, go to the “Shipping Method Rules” modal and click on the “+ Add Rule” button.
- Access the left dropdown menu and select the suitable “Product Specific” criteria to enforce the shipping method rule.
- Select the “Equal to” option from the middle dropdown menu.
- Add the products for which you want to set shipping in the right menu.
- Rinse and repeat to add additional shipping rules.
- You can further customize the shipping rules in the “Advanced Shipping Price Rules” modal.
- Hit “Save changes” once done.
How do I add multiple shipping methods in WooCommerce?
It’s pretty normal for many online stores to add as many shipping options as necessary. Here are the steps to add multiple shipping methods in WooCommerce using the Flat Rate Shipping Plugin For WooCommerce plugin:
- Get Flat Rate Shipping Plugin For WooCommerce and add it to your WooCommerce site.
- Navigate to DotStore Plugins → Flat Rate Shipping → Manage Rules, and select “Add New”.
- Toggle on the “Status” button.
- Add the Shipping Title (for admin view only), and Shipping Method Name (for customers’ view).
- Enter the shipping fee in the “Shipping Charge” field.
- Update the remaining details for the shipping method — availability, applicable users, qualifying purchases, coupon discounts, free shipping, cart shipping notice, etc.
- Navigate to the “Shipping Method Rules” tab and select the “+ Add Rule” button.
- Specify the type of rule, whether location-specific, product-specific, attribute-specific, user-specific, order history-based, cart-specific, or payment/checkout-specific to enforce the shipping method rule.
- Choose “Equal to” from the second dropdown menu.
- Then, specify the conditions based on the shipping rule criteria.
- You can add more shipping method rules as you need. Also, add advanced shipping rules in the “Advanced Shipping Price Rules” tab.
- Hit “Save changes” to apply the settings.
How do I set free shipping on a certain amount in WooCommerce?
Follow these steps to set free shipping on a certain amount in WooCommerce with Flat Rate Shipping Plugin For WooCommerce:
- Get Flat Rate Shipping Plugin For WooCommerce and configure it on your site.
- Go to DotStore Plugins → Flat Rate Shipping → Manage Rules.
- Click on “Add New”.
- Enable the “Status” button to make it visible on the front end.
- Update the Shipping Title and Shipping Method Name fields.
- Enter “0” in the “Shipping Charge” field.
- Tick the “Allow Free Shipping” checkbox.
- Select “Minimum Order Amount” from the “Free Shipping based on” dropdown.
- Enter the label in the “Free Shipping – Label” field.
- Add the maximum order amount to qualify for free shipping in the “Free Shipping Order – Amount” field.
- Update the remaining details for the shipping method — availability, applicable users, qualifying purchases, coupon discounts, free shipping, cart shipping notice, etc.
- Navigate to the “Shipping Method Rules” tab and select the “+ Add Rule” button.
- Specify the type of rule, whether location-specific, product-specific, attribute-specific, user-specific, order history-based, cart-specific, or checkout-specific to enforce the shipping method rule.
- Choose “Equal to” from the second dropdown menu.
- Then, specify the conditions based on the shipping rule criteria.
- You can add more shipping method rules as you need. Also, add advanced shipping rules in the “Advanced Shipping Price Rules” tab.
- Hit “Save changes” to apply the settings.
How do I restrict shipping locations in WooCommerce?
Follow these steps to restrict shipping locations in WooCommerce using the powerful Hide Shipping Method For WooCommerce plugin.
- Get Hide Shipping Method For WooCommerce and add it to your site.
- Head to WooCommerce → Hide Shipping → General settings, select “Conditional Hide shipping method Rules”, and save the setting.
- Navigate to WooCommerce → Hide Shipping → Manage rules and add a new rule.
- Turn on the “Status” option and name the shipping rule.
- Specify the shipping source and shipping method you wish to restrict shipping to.
- Select “Advance rule” if you plan to add advanced conditions to this shipping rule in a later step. Else, select “No Extra Rule”.
- Head to the “Basic Hide Shipping Rules” modal and select the criteria under the “Location Specific” section to define how the shipping rule will be applied. You can add restrictions for specific countries, cities, states, postcodes, and zones.
- Select “Equals to” in the dropdown menu in the middle. Then, enter the specific locations for which you wish to restrict shipping in the dropdown menu on the right side.
- Add more shipping restrictions if needed by clicking the “+ Add Rule” button at the top of the “Basic Hide Shipping Rules” modal.
- Save the settings once you’re done.
It’s time to restrict shipping method per product in WooCommerce!
It’s pretty common for online stores to limit shipping options. It streamlines the checkout flow, reduces cart abandonment rates, and improves conversions.
While it’s not possible to restrict shipping method per product in WooCommerce, you can easily do so using the Hide Shipping Method For WooCommerce.
Hide Shipping Method For WooCommerce lets you control shipping options on a per-product level based on specific products, product SKUs, product variants, categories, tags, etc. You can finetune the restrictions to prevent products from being shipped to specific countries, states, or postcodes, based on product quantity, weight, and other factors.
Get started with the Hide Shipping Method For WooCommerce plugin’s free or premium version today!
Hide Shipping for WooCommerce
Hide all other shipping methods when free shipping and/or local pickup are available in two minutes or less.
14-day, no-questions-asked money-back guarantee.
