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.

Do you want 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.
In this tutorial, 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. There are a couple of shipping-related settings that can impact available shipping options and their cost, however, those come with several limitations.
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?
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.
WooCommerce’s default features to restrict the shipping method per product
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.
- 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.
- 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.
- 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.
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 products, product variations, categories, tags, SKUs, 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, such as product SKU, category, or tag, product weight and dimensions, quantity in the cart, shipping class, location-based conditions (country, state, postcode), etc. 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.
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:
Video tutorial: How to restrict the shipping method per product in WooCommerce
Here’s a video walkthrough of the process for visual learners.
Steps to restrict the shipping method per product in WooCommerce
- 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.
- Head to WooCommerce → Hide Shipping → General settings.

- Select the “Conditional Hide shipping method Rules” button. Then, scroll down and hit “Save settings”.
- Navigate to WooCommerce → Hide Shipping → Manage rules.

- Select “Add New” and 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”.
Steps 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.
Steps 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.
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.
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.
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.
