
When WooCommerce Catalog Mode Makes Sense (And When It Costs You Sales)
Plenty of WooCommerce stores want to show their products online without selling them online. Some of them shouldn’t be taking orders at all yet, or at least not from every visitor.
Switching off the buy button is called catalog mode. It’s a good fit for wholesalers, made-to-order workshops, and any business whose real price comes out of a conversation. It’s also an easy way to lose revenue in a store that was selling fine.
This guide covers what catalog mode changes, the four kinds of business where it makes sense, what it costs you, and a checklist to run before you turn it on.
What catalog mode is (and two settings people confuse with it)
In catalog mode, your products stay public and browsable, but visitors can’t buy them on the site. Product pages, images, descriptions, categories, and search all keep working. The purchase path doesn’t.
WooCommerce core has no setting called “catalog mode.” That’s why so many store owners get confused by two settings that sound like it and do something else.
It is not “Catalog visibility”
Every WooCommerce product has a Catalog visibility control in the Publish panel of the product editor, with four options: Shop and search, Shop only, Search only, and Hidden. It controls where a product appears, not whether people can buy it. A product set to “Hidden” can still be bought by anyone with the direct link.
Where a product shows up and whether it can be bought are two separate questions. Catalog mode deals with the second one.
It is not “Coming soon” mode
Since WooCommerce 9.1, core includes a site visibility switch at WooCommerce → Settings → Site visibility. It has Coming soon and Live options, plus an “apply to store pages only” setting that puts just the shop, cart, checkout, and policy pages behind a landing page.
Coming soon mode hides your store. Catalog mode keeps the store visible and removes the transaction. If you want people to find and compare your products without ordering them, coming soon mode works against you, because it hides the catalog from the people you’re trying to reach.
Four situations where catalog mode fits
WooCommerce’s own guidance on running a catalog describes the same pattern. Catalog mode suits businesses where the sale really closes somewhere other than a checkout page.
1. Wholesale and B2B with negotiated pricing
If your price depends on volume, account terms, region, or a contract, publishing a single number hurts you. Buyers anchor on the wrong figure, and your trade pricing ends up in front of retail customers and competitors. A public catalog with prices behind an account or a quote is the honest setup.
That said, many B2B stores don’t want full catalog mode. They want prices hidden from guests and a normal checkout for approved, logged-in accounts. That calls for targeting rules, which a single on/off switch can’t give you.
2. Made-to-order, configurable, or quoted products
Think kitchens, signage, industrial equipment, custom furniture, print, and fabrication. Here the catalog works like a spec library, and the price depends on drawings, materials, and lead time. If you push these products through a cart, you get orders you’ll have to cancel, and that’s worse than getting no order.

3. Appointment-led and consultation-first products
Clinics, studios, dealerships, and high-value services often present themselves like products. For them, the product page has one job: get a qualified enquiry into your calendar. A cart adds a step neither side wants.
4. A deliberate, temporary pause
Maybe your stock ran out, a supplier let you down, it’s your seasonal shutdown, or you’re finally taking that holiday. Catalog mode lets you stop taking orders without deindexing your catalog or 404-ing pages that took years to rank. It’s the least controversial reason to use catalog mode, and stores don’t use it nearly enough. It beats an unannounced “out of stock” wall by a long way.
What catalog mode costs you
Most catalog mode articles skip this part. Removing the buy button has real downsides you can measure.
You lose eligibility for merchant listings in Google Search
This cost matters most. Google’s structured data documentation for merchant listings requires a nested Offer and says plainly that “merchant listings require a price greater than zero,” with priceCurrency required whenever a price is specified. It also sets an eligibility rule that matters even more: “Only pages where a shopper can purchase a product are eligible for merchant listing experiences.”
If you hide your prices, your product pages stop qualifying for those richer shopping results. You can choose that trade on purpose. Just make sure you know you’re making it.
There’s some good news. Product snippets have a lower bar and need only one of review, aggregateRating, or offers. If your products have real ratings, you can still earn a rich result without publishing a price.
Hiding a price visually doesn’t remove it from the page
WooCommerce outputs JSON-LD product structured data, and it includes an offers object with price and priceCurrency. If you “hide” prices with a CSS rule or a theme tweak, the number is still in your page source. Google, scrapers, and any competitor who views the source can still read it.
You can check this yourself. Open a product page, view the source, and search for application/ld+json. If the price you thought you’d hidden is in there, visitors can’t see it, but the price is still public.
Someone has to answer every quote request quickly
A cart takes orders at 2am on a Sunday. Your inbox doesn’t. Once “Add to cart” becomes “Request a quote,” your conversion rate depends on how fast someone replies. A quote form nobody answers converts at zero. That loss is easy to miss, too, because it shows up as unanswered email, not as abandoned carts in your analytics.
If no one is responsible for quote replies, with a set turnaround time, keep the cart on.
Every extra step loses you buyers
Going from one click to a form, an email exchange, and a manual payment link adds three more places to lose a buyer. For a big enough deal, that’s fine. On a low-value product, it isn’t. The ideas in our guide to boosting conversions in WooCommerce apply here in reverse. Catalog mode affects conversions just as much as it affects merchandising.
The decision: run this before you change anything
Go through the table honestly. The rows are ordered by how often they settle the question.
| If this is true… | Catalog mode? | Do this instead |
|---|---|---|
| Your price really varies per customer or per job | Yes | Catalog mode with a quote path |
| You only want to hide prices from guests, not customers | Partly | Guest-targeted price hiding, normal checkout for logged-in accounts |
| You are pausing orders temporarily | Yes | Catalog mode, scheduled if possible |
| Your site is not finished yet | No | Coming soon mode in WooCommerce settings |
| Only some products are quote-only | Partly | Per-product targeting, not a store-wide switch |
| You are unsure whether people will buy online | No | Keep the cart. You’re guessing, and the cart will tell you |
| You want to stop showing a specific product | No | Catalog visibility, or unpublish it |
Then write down your answers to three questions:
- What is the next step? If your answer is “they’ll contact us,” you’re not ready yet. Name the actual method: a form, a phone number, a booking link, or an account application.
- Who answers, and how fast? Put a name and a number of hours on it.
- How will you know it worked? Track enquiries per week, quote-to-order rate, and response time. If you can’t measure it, you can’t tell “this is working” apart from “our sales dried up.”
Setting it up: three levels of control
Level 1: what core WooCommerce already gives you
Before you install anything, know that core covers two narrow cases:
- Clear the price. WooCommerce won’t sell a product that has no price. It returns “Sorry, this product cannot be purchased because it has no price set,” and the Add to Cart button disappears. The result is crude and leaves a dead-end product page, but it works and it’s free.
- Use the External/Affiliate product type. This replaces the shipping section with a Product URL field and a Button text field. You can relabel “Add to cart” however you like and point it anywhere, such as an enquiry page, a booking system, or a distributor. If only a handful of products in an otherwise normal store are quote-only, this is often the right answer, and it costs nothing.
Core doesn’t give you a store-wide switch, scheduling, rules for different audiences, or a properly closed cart and checkout.
Level 2: a real catalog mode switch
To turn it on across the whole store, you need a plugin. The most common mistake is doing only half the job. Even WooCommerce’s own Catalog Visibility Options extension is documented as only removing “the functionality to purchase items,” and it leaves the cart and checkout pages in place. A visitor with the cart page in their browser history, or an old cart cookie, can still land on a checkout that shouldn’t exist.
When you compare catalog mode plugins, make sure the one you pick can:
- hide Add to Cart on both shop and product pages;
- hide variation selectors as well, so no dropdown is left leading nowhere;
- disable the cart, checkout, and order placement, beyond just hiding the buttons;
- let administrators keep seeing the real store while it’s on.
Catalog Mode for WooCommerce is how we handled that list. The free plugin hides Add to Cart everywhere or only on shop or product pages. It hides variations along with the purchase controls, disables cart, checkout and ordering, and lets you choose whether administrators see catalog mode too. It requires WordPress 6.5+, PHP 7.4+, and WooCommerce 10.2+. If you’d rather see it working than read about it, the live catalog mode demo store shows request-a-quote products, contact-for-price products, and a purchasable exception side by side.
Level 3: partial catalog mode
Most stores need something more precise than a store-wide on/off switch. They usually want some mix of these rules:
- Audience rules hide prices from guests and show them to approved accounts. This is the usual B2B setup.
- Geographic rules close ordering in regions you can’t ship to, so you don’t take orders you’ll have to refund.
- Schedules cover recurring windows or date ranges, so a seasonal closure doesn’t depend on someone remembering to change a setting.
- Product targeting makes the custom range quote-only and keeps normal checkout for stocked items, without running two catalogs.
The Pro version of our plugin adds these: price hiding, guest-only and country targeting, date and day/time schedules, and an exclusion list for individual products, categories, and tags with per-item overrides. Whatever tool you choose, look for this level of control. If someone has to remember to flip a store-wide switch, sooner or later they’ll forget.
What replaces the Add to Cart button
An empty gap where Add to Cart used to be leaves visitors at a dead end, and the site looks broken. Whatever you put there needs to do three jobs.
Say exactly what happens next. “Request a quote” beats “Contact us.” “Check availability” beats “Enquire.” “Get trade pricing” beats “Login for price.” Visitors should know what they’ll get and roughly when.
Carry the product context. Most quote forms fail here. An enquiry that arrives as “I’m interested in your products” just creates extra work for you. The form should fill in the product, its link, and any variation the visitor picked. Our plugin’s Pro inquiry forms do this. They can use a built-in form, or hand off to Contact Form 7, Formidable Forms, Gravity Forms, Ninja Forms, or WPForms if you already use one you trust.
Confirm receipt right away. An automatic confirmation to the customer, with a copy to you, buys you the hours you need to write a proper reply.

If your catalog uses variable products, sort out how the variations are presented before you worry about the quote form. A visitor who can’t tell which options exist won’t ask about any of them. Our guide to improving variable product attributes covers the basics, and our roundup of tips and tools for WooCommerce user experience has more general fixes.
A 20-minute QA pass before you go live
Run all of these in a private window, logged out:
- Open a simple product, a variable product, and a sale product. Are the purchase controls gone everywhere?
- Browse the shop and a category archive. Do you see a stray “Add to cart” anywhere in the product listings?
- Go to
/cart/and/checkout/directly. Are they really closed? - View the source of a product page and search for
application/ld+json. Is the price really gone? - Submit your own enquiry form. Did it arrive with the product and variation attached, and did the customer copy go out?
- Check a product on a phone. Replacement buttons are where most mobile layouts break.
- Log in as admin and confirm you can still see what you need.
- Search your site for the old price. Cached pages and search results lag behind, so clear your caches and your CDN.
A week later, check one more thing: are enquiries getting answered? That’s what tells you whether catalog mode is working for you.
Should you turn off the cart?
Catalog mode won’t grow your sales. It’s the right move when your real sales process doesn’t end at a checkout page. It’s the wrong move if you’re just nervous about selling online.
Turn the cart off on purpose if your prices really vary, if you make products to order instead of stocking them, or if you need to stop taking orders without disappearing from search. Replace it with a next step that carries the product details, and make one named person responsible for replies. If none of that fits your store, leave the cart alone. For most stores, a working cart beats any quote form.
When you’re ready to set it up, Catalog Mode for WooCommerce handles the switch, the targeting rules, and the enquiry form in one plugin.