---
title: "How to make pages, collections or products wholesale-only"
description: "Process Wholesale's Lock Content Redirect block sends visitors without access away from any page, collection or product template it is added to, by default to the login page. It needs the Enterprise or Professional plan."
type: how-to
plans: [Enterprise, Professional]
keywords:
  [
    Lock Content Redirect,
    wholesale only products,
    hide products from retail customers,
    restrict page access,
    members only page,
    B2B only collection,
    password protect wholesale page,
    lock content,
  ]
questions:
  - "How do I make a page, collection or product wholesale-only on Shopify?"
  - "Can I hide specific products from retail customers?"
  - "Who can open a page with the Lock Content Redirect block?"
  - "Why are approved wholesale customers being redirected?"
  - "Why does the Lock Content Redirect block not redirect in the theme editor?"
  - "Can I lock pages for customers with a VIP tag instead of B2B?"
last_verified: 2026-11-11
order: 8
---

# How to make pages, collections or products wholesale-only

Process Wholesale makes pages, collections and products wholesale-only with the **Lock Content Redirect** block, an app block you add to a page, collection or product template in the Shopify theme editor. Every storefront page that uses that template sends visitors without access to another address, by default the account login page `/account/login`. By default only logged-in customers with the exact tag `B2B` are let in, and you can switch to your own customer tags instead. Lock Content Redirect needs the Enterprise or Professional plan.

**At a glance**

- **Plan:** Enterprise or Professional
- **Where:** Shopify theme editor > a page, collection or product template > **Add block** > **Apps** > **Lock Content Redirect**
- **Locks:** Every page that uses the template the block is in
- **Allowed in by default:** Logged-in customers with a tag exactly `B2B` (any capitalization)
- **Redirect to by default:** `/account/login`
- **Called in the app:** **Lock content** on the Dashboard

## Before you start

- Your store must be on the Enterprise or Professional plan. On other plans **Lock Content Redirect** is not listed under **Apps** in the theme editor.
- Your theme must be an Online Store 2.0 theme. See [Process Wholesale theme blocks and app embeds](theme-blocks-overview.md).
- Decide which template to lock. Lock Content Redirect locks **every** page using the template it is in. If you add it to your default product template, every product using that template is locked. To lock only some products, pages or collections, create a separate template for them (for example a product template named `wholesale`), add the block to that template only, and assign that template to the wholesale-only items in Shopify admin.

## Steps to lock a template

1. In Shopify admin, go to **Online Store > Themes** and select **Customize** on your live theme.
2. In the template selector, choose the page, collection or product template to lock, for example your `wholesale` product template.
3. In a section of that template, select **Add block**, open the **Apps** tab and select **Lock Content Redirect**.
4. Set **Redirect URL**: where visitors without access are sent. Keep `/account/login`, or enter another address such as `/pages/wholesale-application`.
5. Set **Tag access mode**, and **Customer tags** if the mode needs them (see "Who is allowed in").
6. Select **Save**.
7. Test on the live storefront in a private browser window: open a page that uses the template while logged out, then again while logged in as a wholesale customer.

Video walkthrough: [How to hide specific products & pages from retail customers](https://vimeo.com/944940074) (5 minutes) shows how to set up the Lock Content Redirect block.

> **Important:** Never leave **Redirect URL** empty. With an empty Redirect URL, a visitor without access is sent back to the same page, over and over. Also make sure the Redirect URL does not point to a page that uses a locked template, or the visitor is redirected again from that page.

## Lock Content Redirect settings

| Setting             | Default                                          | What it does                                                                                                  |
| ------------------- | ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------- |
| **Redirect URL**    | `/account/login`                                 | The address visitors without access are sent to. A path on your store, such as `/pages/apply`, or a full URL. |
| **Tag access mode** | **Default: Hide content from non B2B customers** | Chooses who is allowed in. Options below.                                                                     |
| **Customer tags**   | Empty                                            | One or more customer tags separated by commas, for example `VIP, Bulk, Pro`. Needed for the two tag modes.    |

## Who is allowed in

Lock Content Redirect compares the customer's tags with a list. When **Customer tags** is empty, the list is the single tag `B2B`. When **Customer tags** is filled in, the list is those tags. Tags match exactly, ignoring capitalization and spaces around the commas.

| Tag access mode                                  | Allowed in                                             | Redirected                              |
| ------------------------------------------------ | ------------------------------------------------------ | --------------------------------------- |
| **Default: Hide content from non B2B customers** | Logged-in customers with a matching tag                | Guests and everyone else                |
| **Show only for customers with specified tags**  | Logged-in customers with a matching tag                | Guests and everyone else                |
| **Hide from customers with specified tags**      | Guests, and logged-in customers without a matching tag | Logged-in customers with a matching tag |

**Examples**

| Mode                                        | Customer tags field | Visitor                                     | Result                                        |
| ------------------------------------------- | ------------------- | ------------------------------------------- | --------------------------------------------- |
| Default                                     | Empty               | Guest                                       | Redirected                                    |
| Default                                     | Empty               | Customer tagged `B2B`                       | Allowed                                       |
| Default                                     | Empty               | Customer tagged `b2b`                       | Allowed                                       |
| Default                                     | Empty               | Pending customer tagged `B2B_Registeration` | Redirected                                    |
| Default                                     | Empty               | Customer tagged `b2b-gold`                  | Redirected                                    |
| Show only for customers with specified tags | `VIP, Bulk`         | Customer tagged `vip`                       | Allowed                                       |
| Show only for customers with specified tags | `VIP, Bulk`         | Customer tagged `B2B`                       | Redirected                                    |
| Hide from customers with specified tags     | `Retail`            | Guest                                       | Allowed                                       |
| Hide from customers with specified tags     | `Retail`            | Customer tagged `Retail`                    | Redirected                                    |
| Hide from customers with specified tags     | Empty               | Customer tagged `B2B`                       | Redirected, because an empty list means `B2B` |
| Hide from customers with specified tags     | Empty               | Guest                                       | Allowed                                       |

> **Note:** In the default mode, Lock Content Redirect lets in only the exact tag `B2B`. This differs from the [Product Wholesale block](product-page-wholesale-prices.md) and [Hide price](hide-prices.md), which accept any tag containing `b2b`. Pending customers tagged `B2B_Registeration` are redirected until you approve them.

> **Note:** If you fill in **Customer tags** while the mode is **Default: Hide content from non B2B customers**, the block works exactly like **Show only for customers with specified tags**. `B2B` then counts only if it is in your list.

## What visitors see

- **Visitors with access** see the page as usual. The block itself shows nothing.
- **Visitors without access** are sent to the Redirect URL as the page opens. With the default Redirect URL they land on the account login page.
- **In the theme editor** the block never redirects, so you can keep editing a locked template. Test on the live storefront.

## What Lock Content Redirect does not do

- **The redirect happens in the visitor's browser.** The page starts to load, and the browser is sent to the Redirect URL when it reaches the block.
- **It acts only on pages that use the locked template.** A locked product still appears on collection pages and in search results unless those pages are locked too. Search results cannot be locked, because the block can only be added to page, collection and product templates.
- **It does not change prices or buttons on other pages.** To hide prices from retail customers everywhere, use [Hide price](hide-prices.md) (Professional).

## Limits and things to know

- **Templates:** page, collection and product templates, including alternate templates such as `page.wholesale`. Not the home page, search, cart, blog or account templates.
- **Plan:** Enterprise or Professional. The in-app FAQ calls it an Enterprise block; Professional includes it too.
- **Dashboard card:** The **Lock content** card in **App Status** on the Process Wholesale Dashboard shows **ON** when the block is found in any page, collection or product template of your published theme. Its **Enable** link opens the theme editor, where you choose the template.
- **Exact tag match:** In the default mode, tags such as `b2b-gold` or `B2Bnetterms` do not count unless the customer also has `B2B`.

## Troubleshooting

| Symptom                                                | Likely cause                                                                                                                                                                               | Fix                                                                                                                                          |
| ------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------- |
| Approved wholesale customers are redirected            | **Customer tags** is filled in and does not include `B2B`, the customer lacks the exact tag `B2B`, or the mode is **Hide from customers with specified tags** with **Customer tags** empty | Clear **Customer tags** or add `B2B` to it. In the "Hide from" mode, enter the tags to keep out. Check the customer's tags in Shopify admin. |
| The page reloads over and over                         | **Redirect URL** is empty, or points to a page that uses a locked template                                                                                                                 | Enter a Redirect URL that uses an unlocked template, such as `/account/login`.                                                               |
| No redirect in the theme editor                        | The block does not redirect in the theme editor                                                                                                                                            | Test on the live storefront in a private window.                                                                                             |
| Every product is locked, not only wholesale ones       | The block is on the template all products use                                                                                                                                              | Move the block to a separate template assigned only to the wholesale-only products.                                                          |
| **Lock Content Redirect** is not under **Apps**        | The store is not on Enterprise or Professional, or the template is not a page, collection or product template                                                                              | Check the plan under **Plan** and the template type.                                                                                         |
| Retail customers still see the product in a collection | The collection page is not locked                                                                                                                                                          | Lock the collection's template too, or remove the product from public collections.                                                           |

## Frequently asked questions

### Can I hide specific products from retail customers?

Yes. Create a separate product template, add the Lock Content Redirect block to it, and assign that template only to the wholesale-only products. Visitors without access who open those product pages are sent to the Redirect URL.

### Who can open a page with the Lock Content Redirect block?

In the default mode, only logged-in customers with the exact tag `B2B`, in any capitalization. With **Customer tags** filled in, the customers with one of those tags, or in the "Hide from" mode, everyone except them.

### Why are approved wholesale customers being redirected?

Most often **Customer tags** is filled in without `B2B`, which makes the block ignore the `B2B` tag. Clear the field or add `B2B` to it.

### Why does the Lock Content Redirect block not redirect in the theme editor?

The block skips the redirect in the theme editor so you can keep editing the template. It redirects on the live storefront.

### Can I lock pages for customers with a VIP tag instead of B2B?

Yes. Choose **Show only for customers with specified tags** and enter `VIP` in **Customer tags**. Only logged-in customers tagged `VIP` can open the page.

## Related articles

- [How to hide prices from customers who are not wholesale](hide-prices.md)
- [Process Wholesale theme blocks and app embeds](theme-blocks-overview.md)
- [Theme block settings reference](../reference/theme-block-settings-reference.md)
- [Wholesale customers and customer tags explained](../customers/wholesale-customers-and-tags.md)
- [Process Wholesale blocks missing from the theme editor](../troubleshooting/theme-blocks-missing.md)
