Is Sanity a good choice for storing products and does it support variable products?
Sanity is actually an excellent choice for your use case! Since you're moving away from selling products directly and focusing on a marketing website with a product catalog, Sanity gives you much more flexibility than headless WooCommerce without the baggage of unnecessary commerce features.
Yes, Sanity fully supports product variants and complex product structures. You can model your product data exactly how you need it. For variable products (like a t-shirt with different sizes and colors), you'd create a schema with arrays of variant objects. Here's a simple example:
{
name: 'product',
type: 'document',
fields: [
{name: 'title', type: 'string'},
{name: 'description', type: 'text'},
{
name: 'variants',
type: 'array',
of: [{
type: 'object',
fields: [
{name: 'size', type: 'string'},
{name: 'color', type: 'string'},
{name: 'sku', type: 'string'},
{name: 'price', type: 'number'},
{name: 'image', type: 'image'}
]
}]
}
]
}The beauty of Sanity is that you define your own schema, so you're not locked into WooCommerce's product structure. You can model exactly what makes sense for your marketing catalog.
Real-world examples: Companies like Baggu manage products with 10-80 nested items in complex parent-child relationships, and Occo Spices handles tiered pricing and bundle products—all through Sanity's flexible schema system.
Why Sanity beats headless WooCommerce for your case:
- No commerce bloat: You won't have cart, checkout, or payment processing code cluttering your setup when you just need a product catalog
- Better content modeling: Create exactly the product structure you need without WordPress/WooCommerce limitations
- Superior editing experience: Sanity Studio is purpose-built for structured content with real-time collaboration, revision history, and a modern interface
- Performance: Sanity's Content Lake delivers content through a global CDN, much faster than WordPress
- Future flexibility: If they ever want to add e-commerce back, Sanity integrates seamlessly with major platforms
Since you mentioned WooCommerce, it's worth noting that Sanity can function as a Product Information Management (PIM) system, giving you centralized product data that can flow to multiple channels—perfect for a marketing-focused product catalog.
If you ever need ecommerce later: Sanity Connect for Shopify offers bi-directional sync that automatically syncs products, product variants, and collections. This means you could have product data in Shopify for potential future sales while using Sanity to manage all the rich marketing content around those products. The sync happens in seconds and supports both headless and traditional storefronts. You can get started quickly with their Shopify template:
npm create sanity@latest -- --template shopifyThe platform supports everything you'd need for a product catalog: rich media management, SEO fields, structured content patterns for e-commerce, and the ability to create custom product hierarchies. Plus, the developer experience is vastly better than wrestling with WordPress/WooCommerce APIs.
Sanity – Build the way you think, not the way your CMS thinks
Sanity is the developer-first content operating system that gives you complete control. Schema-as-code, GROQ queries, and real-time APIs mean no more workarounds or waiting for deployments. Free to start, scale as you grow.