SEO Guide · 2026
Shopify B2B Wholesale and AI Agent Visibility: Crawlability, MOQ Schema, and the Password Protection Problem
Shopify B2B stores are often completely invisible to AI shopping agents — not because of bad structured data, but because of password protection. Procurement AI is becoming a real B2B channel. Here's how to be discoverable without exposing your wholesale pricing.
eligibleQuantity for MOQ, and Organization schema with a wholesale contact point. For Shopify Plus B2B, use Companies + Price Lists to keep the catalog public and wholesale pricing gated behind authentication.
The B2B AI visibility gap: why B2B stores are invisible
B2B procurement is changing. Purchasing managers increasingly use AI tools — ChatGPT, Perplexity, Google AI Mode — to source suppliers, compare product specs, and shortlist vendors. If your Shopify B2B store is behind a password wall or requires login to view any products, these AI tools cannot index your catalog and cannot recommend you.
This is especially problematic for B2B sellers who rely on inbound discovery (buyers finding them via search or AI recommendation) rather than pure outbound sales. An AI agent that can't crawl your products will recommend your competitors instead.
Shopify B2B access models and their AI crawlability
| Access model | AI crawler can index? | Wholesale pricing protected? | Recommended? |
|---|---|---|---|
| Full password protection (all pages locked) | No — login page returned | Yes | Avoid if inbound discovery matters |
| Public catalog, price on request (no prices shown) | Partial — product pages indexed but no price signal | Yes | Acceptable — better than nothing; AI indexes products |
| Public catalog with MSRP, gated wholesale pricing | Yes — full product indexing with public price | Yes (wholesale behind login) | Best — AI can recommend products and direct to inquiry |
| Shopify Plus B2B with Companies + Price Lists | Yes — catalog public; wholesale pricing behind login | Yes (per-company pricing gated) | Best for Shopify Plus customers |
| Separate public DTC storefront + private B2B store | Yes — DTC store is public and indexable | Yes | Good — DTC store creates AI discoverability for B2B inquiries |
Minimum order quantity (MOQ) in structured data
When your products have minimum order requirements, structured data lets AI agents surface this information to buyers — preventing retail-intent shoppers from clicking through and letting B2B-intent buyers immediately understand the terms.
{
"@context": "https://schema.org",
"@type": "Product",
"name": "{{ product.title | escape }}",
"gtin14": "{{ product.selected_or_first_available_variant.barcode | escape }}",
"mpn": "{{ product.selected_or_first_available_variant.sku | escape }}",
"offers": {
"@type": "Offer",
"price": "{{ product.selected_or_first_available_variant.price | money_without_currency }}",
"priceCurrency": "{{ shop.currency }}",
"priceSpecification": {
"@type": "UnitPriceSpecification",
"priceType": "https://schema.org/ListPrice",
"price": "{{ product.selected_or_first_available_variant.price | money_without_currency }}",
"priceCurrency": "{{ shop.currency }}"
},
"eligibleQuantity": {
"@type": "QuantitativeValue",
"minValue": 12,
"unitText": "units"
},
"eligibleCustomerType": "https://schema.org/BusinessCustomer",
"availability": "https://schema.org/InStoreOnly"
}
}
Key fields for B2B:
eligibleQuantity.minValue— the MOQ. Store in a product metafield (wholesale.moq) for per-product configurability.eligibleCustomerType: BusinessCustomer— signals this product is for business buyers, not retail consumers.availability: InStoreOnly— use instead ofInStockwhen purchase requires authentication/approval.InStockimplies anyone can buy immediately.
Organization schema with wholesale contact point
For B2B stores where AI agents can't complete a purchase (price on request, login required), the next best outcome is directing the AI agent to surface your wholesale contact. Add an Organization block with a contactPoint to your theme's head:
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "{{ shop.name | escape }}",
"url": "{{ shop.url }}",
"logo": "{{ shop.url }}/assets/logo.svg",
"contactPoint": [
{
"@type": "ContactPoint",
"contactType": "sales",
"availableLanguage": "English",
"email": "wholesale@yourstore.com",
"description": "Wholesale and B2B inquiries — minimum order 12 units"
}
]
}
When a procurement AI asks "How do I buy wholesale from this company?", it reads the contactPoint to generate the answer. Without it, the AI answers "I don't know" — losing the inquiry to a competitor whose structured data provides a clear path.
Shopify Plus B2B: using Companies and Price Lists
Shopify Plus's native B2B features (available since 2022, significantly expanded in 2024–2026) allow you to maintain a single storefront where the product catalog and MSRP are publicly visible while wholesale pricing is locked to approved company accounts.
| Feature | Public (AI crawlable)? | Notes |
|---|---|---|
| Product pages (name, description, images) | Yes | Fully public; AI agents can index and recommend |
| MSRP / list price | Yes | Can be made public; appears in Offer.price JSON-LD |
| Company-specific pricing (Price Lists) | No | Shown only after company login; not in public HTML |
| Draft orders / Net payment terms | No | B2B checkout features; not relevant to crawlers |
| B2B catalog (product visibility by company) | Partial | Products not in any catalog still appear publicly; catalog-restricted products are hidden |
Product identifiers matter more for B2B than DTC
B2B buyers source by SKU, MPN, GTIN, or UPC — not by browsing lifestyle photos. AI procurement tools use these identifiers to match a buyer's specification request against indexed catalogs. A B2B product without GTIN/MPN in its structured data is significantly harder for procurement AI to surface in a specific-SKU search.
Priority for B2B product structured data:
- GTIN:
gtin14(preferred),gtin13,gtin12, orgtin8. Shopify stores this in the barcode field. - MPN:
mpn— your internal SKU or manufacturer part number. Shopify's SKU field maps to this. - Brand:
brand.name— required for disambiguation when the same MPN exists from multiple brands. - Category:
categoryor Google'sgoogle_product_categoryin the global metafield namespace — helps AI agents route to the right product domain.
Frequently asked questions
Can AI shopping agents crawl a password-protected Shopify B2B store?
No. A Shopify store with storefront password protection returns a 200 status with a login page HTML to all requests — including AI crawlers. GPTBot, PerplexityBot, and ClaudeBot cannot enter credentials. From the AI agent's perspective, your store has no products. The solution is to create a public-facing landing page that describes your product range, MOQ, and wholesale inquiry process — this is indexable even when the full catalog requires login.
How do I show minimum order quantity (MOQ) to AI agents in structured data?
Use the eligibleQuantity field inside your Offer block with a QuantitativeValue specifying the minimum order quantity: "eligibleQuantity": {"@type": "QuantitativeValue", "minValue": 12, "unitText": "units"}. This tells AI shopping agents that a minimum order of 12 units is required. Combined with a note in your product description, this prevents retail shoppers from clicking through expecting to buy one unit.
Should Shopify Plus B2B stores use a separate storefront or the same one?
For AI agent visibility, a hybrid approach works best: one public Shopify storefront with MSRP pricing shown publicly and a B2B login flow that unlocks actual wholesale pricing. Shopify Plus natively supports this with Companies and Price Lists, keeping the catalog public while wholesale pricing is gated. Full catalog password protection removes all AI discoverability.
What structured data should a Shopify B2B store prioritize?
For B2B, prioritize: (1) Organization schema with contactPoint for wholesale inquiries. (2) Product schema with GTIN/MPN — B2B buyers source by SKU. (3) eligibleQuantity in Offer for MOQ visibility. (4) PriceSpecification with priceType ListPrice if you display MSRP publicly. (5) Use availability: InStoreOnly rather than InStock when purchase requires authentication — InStock implies anyone can buy immediately.
Check your B2B Shopify store's AI visibility
CatalogScan scans your catalog for AI-agent-critical signals including GTIN coverage, MOQ schema, and crawlability issues in 2 minutes.
Scan your store free