Table of Contents
This is a complete ‘disable WooCommerce shipping for certain products’ guide. Learn how to customize shipping options on a per-product level. The best part? It takes less than 10 minutes from start to finish.

I’ve seen several variants of the above question:
- How do I disable shipping for certain products in WooCommerce?
- How do I turn off shipping on a specific product in WooCommerce?
- How can I hide WooCommerce shipping methods for certain products?
They all mean the same, and that’s what I’ll cover in this detailed tutorial. Here, I’ll show you how to disable all or specific shipping methods for certain products in your WooCommerce store using the powerful Hide Shipping Method For WooCommerce plugin.
And as a bonus, I’ll also walk you through the steps to use WooCommerce’s default features to hide paid shipping methods on the checkout page when free shipping is available and applicable.
Note: Hide Shipping Method For WooCommerce is our own best-selling plugin. Since 2019, more than 11,854 people have used it to add custom conditions to their WooCommerce store’s shipping settings, and have rated it 4.8 out of 5 Stars. Check out the demo or get the plugin’s free or premium version.
Ready? Let’s dive in.
When to disable WooCommerce shipping for certain products
There are tons of situations where it makes sense to disable shipping for certain products in WooCommerce, such as:
- Stores that sell digital products. Think: software, ebooks, self-paced courses, or music downloads.
- Stores that offer virtual services. Think: online consultations, live cohort courses, or memberships.
- Products that are only available for local pickup because of their nature or size. Think: bulky furniture or fragile items that may require special handling and can’t be shipped.
- Perishable items that may take a long time to be delivered and are at risk of being damaged or spoiled during transit. Think: fresh produce, flowers, baked goods, etc.
- Products with limitations on where they can be shipped in order to be compliant with relevant laws and regulations. Think: ammunition, alcohol, or tobacco products.
In these scenarios, removing some shipping options simplifies the checkout process. It also avoids confusing customers with irrelevant choices during checkout and ensures compliance with relevant laws and regulations.
Default method: How to hide paid shipping methods when free shipping is available
Since WooCommerce 9.9, store admins can now hide all paid shipping methods in situations where a customer’s cart qualifies for free shipping.
This doesn’t disable shipping for certain products in WooCommerce per se. However, when enabled, this setting ensures that if an order qualifies for free shipping, only the free shipping method is displayed. All other paid shipping methods: flat rate, table rate, express, etc., are hidden.
This setting doesn’t remove or delete your paid shipping methods. They will still be active, but WooCommerce won’t show them to customers on the checkout page if free shipping applies to their carts. It’s a conditional display rule that keeps checkout clean and customer-friendly.
For instance, if enabled in a fashion store that offers 3 different shipping options: free shipping on all domestic orders above a minimum cart amount of $75, a flat rate of $8 for smaller orders, and an express option at $20.
- If a customer’s cart total is $50, they’ll see both flat rate ($8) and express ($20) on the checkout page.
- If their cart total is $80, WooCommerce will only display free shipping. The other methods won’t appear at all.
Tutorial: How to hide paid shipping methods when free shipping is available with the default method
Here are step-by-step instructions to enable the default setting that hides flat rates, table rates, and other paid shipping methods when free shipping is available in a WooCommerce store:
- Log in to your WordPress site’s panel, and go to WooCommerce → Settings → Shipping → Shipping Settings.
- In the “Calculations” section, check the box next to the “Hide shipping rates when free shipping is available” option.
- Scroll down and press “Save changes”.
And that’s all. Now, whenever free shipping applies to a customer’s cart, WooCommerce will automatically hide all other applicable paid shipping methods.
Limitations of WooCommerce’s default feature to hide shipping methods when free shipping is available
❌ It only works when free shipping is enabled
This setting only kicks in if you’ve created a “free shipping” method within a shipping zone. If you are trying to hide certain methods for products that shouldn’t be shipped, or if you want more nuanced control (like disabling free shipping for bulky products), this option won’t help.
For example, in a store that sells both t-shirts and oversized furniture, if a customer adds both items to their shopping cart:
- If the order qualifies for free shipping, WooCommerce will show only the free shipping method, even though the furniture shouldn’t ship for free.
- There’s no way to exclude specific products from free shipping using this built-in rule.
❌ There’s no product-level or category-level control
The default setting to hide paid shipping methods when free shipping is available doesn’t have product filters. You can’t configure it to hide free shipping for certain products or SKUs, but allow it for everything else. It’s all-or-nothing: when free shipping applies, all other methods disappear.
This becomes problematic for stores with mixed inventory. For instance, digital products that don’t require shipping and physical products that do. You’ll have to use conditional logic via a plugin or custom code to handle those scenarios.
❌ It doesn’t support advanced conditions
Many businesses want to disable shipping methods based on various parameters: cart subtotal, shipping class, customer role, destination state or country, etc.
The default option doesn’t support any of this. It’s purely based on whether free shipping is available in the customer’s shopping cart. If you want granular control, for instance, to disable flat rate via a specific shipping carrier when hazardous goods are purchased, you’ll need a plugin or custom code function.
Introducing the best WooCommerce disable shipping for certain products plugin

WooCommerce doesn’t natively support hiding shipping methods at the product level. While you can assign general shipping classes or categories to products, this might not cover most scenarios where you need to hide shipping methods for specific products based on unique attributes or conditions.
Luckily, we can control shipping methods for individual products by using the aptly named Hide Shipping Method For WooCommerce plugin.
With Hide Shipping Method For WooCommerce, you can, well, hide the shipping method for specific products based on several criteria. This plugin identifies the products in customers’ carts and applies the appropriate shipping rules based on the conditions you set, so you can hide shipping method(s):
- For individual products.
- For variable products.
- Based on the number of products in a customer’s cart.
- Based on the product SKUs.
- For products in specific categories.
- For products with specific tags.
And unlike WooCommerce’s default all-or-nothing setting, this plugin lets you apply rules per product, per category, or even per SKU, so you can define rule-based shipping logic that adapts to your business’s needs. This means that you can make free shipping available for smaller items while restricting it for oversized or products that are expensive to ship.
Equally importantly, instead of relying solely on free shipping triggers, you can use Hide Shipping Method For WooCommerce to customize conditions around subtotal, weight, or location. For example, as requested by the store admin in the image below, you can use it to allow free shipping only for orders above $75, excluding hazardous products (which isn’t possible with WooCommerce’s default feature).

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.

How to disable the WooCommerce shipping method for certain products
In this section, I’ll show you how to use the Hide Shipping Method For WooCommerce plugin to:
- Hide other shipping methods when free shipping is available in WooCommerce.
- Disable shipping methods for certain products in WooCommerce.
- Disable shipping methods in WooCommerce based on multiple advanced conditions. For instance, to disable the shipping of a specific product to some states.
The best part? The entire process is fairly straightforward and takes less than ten minutes to complete, even if you’re not tech-savvy. Follow these steps to disable or turn off shipping for a specific product using the popular Hide Shipping Method For WooCommerce plugin.

1. Add Hide Shipping Method For WooCommerce to your site
- Get the free or premium version of the Hide Shipping Method For WooCommerce plugin.
- Download, install, and activate it on your site.
- Navigate to WooCommerce → Hide Shipping → License, and enter the product key to complete the plugin activation process (premium version only).
2. Create a new WooCommerce disable shipping for certain products rule
- Head to WooCommerce → Hide Shipping → General settings.
- Select “Conditional Hide shipping method Rules”.
- Scroll down and save the settings.
- Navigate to WooCommerce → Hide Shipping → Manage rules.
- Click on “Add New”.
3. Add per-product conditions to the shipping rule
- Toggle on the “Status” option to enable the rule.
- Enter a name in the “Hide Shipping Rule Name” field.
- Add the appropriate shipping source and method in the “select Shipping Source” and “select shipping method” fields.
- If you wish to add advanced conditions to the shipping rules, select “Advance rule”. If not, select “No Extra Rule”.
- Scroll to the “Basic Hide Shipping Rules” module.
- Select “Product Specific” from the first drop-down.
- Choose the specific rule you wish to add to control how the shipping methods are displayed to customers and update the details. The plugin identifies the specific rules to apply based on the cart’s contents — simple products, product variants, products that belong to specific categories, products with specific tags, a specified product quantity, or product SKUs.
- Scroll down and save your settings. From now on, Hide Shipping Method For WooCommerce will automatically disable paid shipping methods for certain products in WooCommerce.
3.1: Advanced WooCommerce disable shipping for certain products rules
Note: This section is optional. Here, I’ll show you how to further fine-tune the shipping rules with advanced conditions to disable shipping for certain products in WooCommerce.
- From the same rule in the WooCommerce → Hide Shipping → Manage rules section.
- Locate the “Apply Shipping Rules match between Basic Hide Shipping and Advanced Hide Shipping” module. Select “AND” if you wish to combine the basic rule you set earlier with the advanced rules you’re about to set. If you wish to apply the advanced rules instead of the basic rules, select “OR”.
- Go to the “Advanced Hide Shipping Rules” module.
- Specify if you want to hide shipping methods if the shipping rule matches with one or all the advanced rules you set.
- Then, start adding parameters for the advanced shipping rules. You can finetune the rules to add minimum and maximum values for product quantity, product weight, product subtotal, category quantity, category weight, category subtotal, total cart quantity, total cart weight, or total cart subtotal.
- Scroll to the bottom of the page and save your settings.
4. How to hide other shipping methods when “Free Shipping” is available in WooCommerce
Follow these steps if you wish to offer free shipping and hide all other shipping methods in your WooCommerce site. If not, skip this section.
- Head to WooCommerce → Hide Shipping → General settings within your site’s admin.
- Select the “Hide all other shipping method and when “Free Shipping” is available on the cart page” option.
- Scroll to the bottom of the page and save the settings.
That’s about it! Now, head to your site’s front end and test out the new shipping methods. Feel free to tweak the settings further if necessary.
FAQs about how to disable shipping for certain products in WooCommerce
Here are some common questions about how to disable shipping for certain products in WooCommerce.
How do I disable shipping for certain products in WooCommerce?
The best way to disable shipping for certain products in WooCommerce is by using Hide Shipping Method For WooCommerce plugin. Follow these steps:
- Get the Hide Shipping Method For WooCommerce plugin.
- Go to WooCommerce → Hide Shipping → License, and type in the license key to complete the activation process.
- Next, head to WooCommerce → Hide Shipping → General settings → Manage rules, and select “Add New”.
- Toggle on the status option and name the specific shipping rule.
- Choose the appropriate shipping source or enter the shipping values in the “Select Shipping Source” field.
- As you wish to disable all methods for a specific product, enter all appropriate shipping methods in the “Select shipping method” field.
- Select “No Extra Rule” in the “Apply Extra Rule” field.
- Go to the “Basic Hide Shipping Rules” module and select the appropriate product parameter under “Product specific”. Then, select “Equal to” and specify the products for which you wish to disable shipping.
- Scroll to the bottom of the page to save your settings to disable shipping for certain products in WooCommerce.
How do I exclude certain products from free shipping in WooCommerce?
The Hide Shipping Method For WooCommerce plugin makes it super easy to exclude certain products from free shipping in WooCommerce. Follow these steps to disable free shipping for certain products in WooCommerce:
- Add the Hide Shipping Method For WooCommerce plugin to your site.
- Head to WooCommerce → Hide Shipping → License and add the license key to activate the plugin.
- Navigate to WooCommerce → Hide Shipping → General settings → Manage rules, and click on “Add New”.
- Toggle on the status option and enter a name for the specific shipping rule.
- Specify the appropriate shipping source or add shipping values in the “Select Shipping Source” section.
- As you wish to exclude certain products from free shipping, enter the free shipping method in the “Select shipping method” field.
- Click on “No Extra Rule” in the “Apply Extra Rule” field.
- Locate the “Basic Hide Shipping Rules” module and choose the relevant product parameter from the “Product specific” dropdown. Select “Equal to” from the dropdown next to it. Then specify the products for which you wish to exclude from free shipping.
- Then, scroll down and save your settings to disable free shipping for certain products in WooCommerce.
How to enable free shipping for certain products in WooCommerce?
Follow these steps to enable free shipping for certain products in WooCommerce.
- First, you need to set up shipping zones. Navigate to WooCommerce → Settings → Shipping → Shipping Zones. Here, you’ll define shipping zones based on geographical regions. For example, you might have a zone for “Domestic” and another for “International.” Click on the “Add zone” button.
- Update details for the shipping zone. First, mame the shipping zone. Then define regions to be included in your shipping zone in the “Zone regions” field.
- Click on the “Add Shipping Method” button. Then, choose “Free Shipping” in the popup module and select “Continue”.
- Name the shipping method. Note that customers will see this on the front end during checkout.
- Select “A Valid Free Shipping Coupon” from the “Free Shipping Requires” dropdown menu to define which orders qualify for free shipping.
- To make sure that free shipping is only applied for specific products, you’ll need to create a coupon. Navigate to Marketing → Coupons and select “Add coupon”. Then, add in the following details to configure the coupon:
- Add a relevant code like “FREESHIPPING” in the “Coupon code” field.
- Locate the “Coupon data” module on the same page, and select the “General” tab.
- Select “Fixed cart discount” from the “Discount type” dropdown.
- Enter “0” in the coupon amount field.
- Tick the “Allow free shipping” checkbox.
- Go to the “Usage restriction” tab within the “Coupon data” module. Specify the products for which the coupon will be valid. You can choose specific products or product categories.
- Add in any other parameters, as you wish.
- Hit “Publish”.
How do I restrict shipping by state in WooCommerce?
Follow these steps to restrict shipping by state in your WooCommerce site using the powerful Hide Shipping Method For WooCommerce plugin.
- Get Hide Shipping Method For WooCommerce, and add the plugin to your website.
- Head to your site’s admin and go to WooCommerce → Hide Shipping → License. Once there, type in the license key to complete the plugin activation protocol.
- Then head to WooCommerce → Hide Shipping → General settings → Manage rules, and click on “Add New”.
- First, enable the “Status” box. Then name the specific shipping rule.
- Choose the appropriate shipping source in the “Select Shipping Source” field.
- Enter the shipping methods you wish to hide in the “Select shipping method” field.
- If you wish to fine-tune the parameters of the shipping restriction, click on “Advance Rule” in the “Apply Extra Rule” field. If not, click on “No Extra Rule”.
- Go to the “Basic Hide Shipping Rules” module and choose “State” from the first dropdown menu. Then select “Equal to” from the menu next to it. Finally, specify the state you wish to add the shipping restrictions.
- Optional: If you selected “Advance rule” in step 7, go to the “Advanced Hide Shipping Rules” module and update the shipping rules.
- Scroll down and save the settings.
How do I disable shipping methods in WooCommerce?
The best way to disable shipping methods in WooCommerce without removing them from your site is by using the popular Hide Shipping Methods for WooCommerce plugin. Follow these steps:
- Download the Hide Shipping Method For WooCommerce plugin, and add it to your site.
- From your WordPress admin, navigate to WooCommerce → Hide Shipping → License and enter in the license key to complete the activation process.
- Go to WooCommerce → Hide Shipping → General settings and select the “Hide all shipping methods” checkbox.
- Click on the “Save settings” option.
How do I turn off shipping in WooCommerce?
If you don’t want to offer shipping at all (for example, in a store that only sells digital products or services), you can disable shipping sitewide. Here are the steps to disable shipping for the entire store in WooCommerce:
- In your WordPress site’s admin panel, navigate to WooCommerce → Settings → General.
- Scroll down until you find the “General Options” section.
- Under the “Shipping Location(s)” option, select “Disable shipping & shipping calculations”.
- Press “Save changes” at the bottom of the page.
That’s it. Customers will no longer see shipping fields on the checkout page. The shipping options disappear, and WooCommerce won’t attempt to calculate shipping rates.
How do I disable shipping to a different address in WooCommerce?
By default, WooCommerce lets customers enter a billing address and optionally ship to a different address. This works okay for physical items, but it can create a lot of confusion if your store doesn’t require it.
For example, stores that sell digital products, services, or items that are only available for in-store pickup. This feature is also handy to prevent fraud by ensuring the order ships only to the cardholder’s billing address. However, you can disable the “Ship to a different address” option globally if needed.
Follow these steps to enable WooCommerce’s built-in setting to stop customers from entering a separate shipping address:
- Access your site’s admin panel, and navigate to WooCommerce → Settings → Shipping → Shipping Settings.
- Under “Shipping destination”, select “Force shipping to the customer billing address”.
- Press “Save changes”.
That’s it. From now on, WooCommerce will automatically use the billing address as the shipping address, and the “Ship to a different address?” checkbox won’t appear on the checkout page.
That’s how to disable shipping for certain products in WooCommerce!
WooCommerce’s default settings to hide flat rates, table rates, and other paid shipping methods when free shipping is available in a WooCommerce store are pretty limited. Not to mention, it doesn’t enable you to customize conditions for turning off or disabling shipping for certain products in WooCommerce. So you’ll need to use a plugin like Hide Shipping Method For WooCommerce.
Get started with the Hide Shipping Method For WooCommerce plugin’s free or premium version and customize your store’s shipping settings on a per-product level 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.
