
Product Shell Bundle for Magento 2 — Fast Headless Product Data
Product Shell Bundle makes headless product pages render instantly. A single GraphQL query returns all the slowly-changing "shell" data for a product — name, slug, gallery, attributes, options, variants, category membership, reviews and SEO — in one shot, so your Astro storefront can pre-warm…
Headless is only fast if the product page doesn't wait on Magento
The promise of a headless storefront is instant pages — but a product page needs a lot of data, and if the front end fetches all of it from Magento's GraphQL on every visit, you've just moved the slowness somewhere new. The trick the fastest headless stores use is to separate what changes rarely from what changes constantly: cache the product's stable "shell" and only fetch price and stock live. Product Shell Bundle gives you exactly that split, in one query.
What you'll use it for
- Make PDPs feel instant — serve the product page from cached shell data and hydrate price and stock live.
- Pre-warm at build or on demand — pull a bundle of products in one request to populate your cache ahead of traffic.
- Cut GraphQL round-trips — replace a dozen small queries per page with one, lightening load on Magento.
- Keep accuracy — because price and stock stay live, fast pages never show a stale figure that loses trust at checkout.
How it works
Comprehensive — and safe by default
It returns the full product shell, and only ever for products you actually sell. One productShellBundle query brings back galleries, attributes, configurable options and variants, custom options, category membership, reviews with ratings, and SEO fields — everything a product page needs except the two things that must be live. And both the bulk query and the single-SKU productShellSingle return only enabled products: a disabled or hidden product is never exposed through this public endpoint, so pre-warming your cache can't leak something that isn't meant to be live.
Specifications
| Queries | productShellBundle (many) and productShellSingle (by SKU) |
|---|---|
| Shell data | Name, slug, gallery, attributes, options, variants, custom options, category membership, reviews and ratings, SEO |
| Left live | Price and stock — fetched separately as server-island queries |
| Design | Slow-changing data in one shot, built for front-end caching / pre-warming |
| Safety | Enabled-only; disabled or hidden products never exposed |
| Delivery & licence | Composer install, per-domain licence key, updates via Composer |
Works with
Part of the AgenticEcom suite for Headless & Astro:
The sibling to the CMS Sync Bundle and Global Data Bundle; keep caches fresh with Astro ISR. Included in the Enterprise bundle and the Astro frontend licences.
Frequently asked questions
Why split product data into a "shell" and live data?
Most of a product page — images, attributes, descriptions, reviews, SEO — changes rarely, so it can be cached and served instantly. Price and stock change often, so they're fetched live. Splitting them gives you fast pages that are still accurate.
What's in the shell bundle?
Name, slug, gallery, attributes, configurable options and variants, custom options, category membership, reviews with ratings, and SEO fields — everything except price and stock.
Can I warm a whole category at once?
Yes. The bundle query returns many products in one request, so you can pre-warm a category's product pages ahead of traffic, and fetch a single product by SKU when you need just one.
Could it expose a disabled product?
No. Both the bulk and single-SKU queries return only enabled products, so a disabled or hidden product is never served through this public endpoint.
Which Magento and PHP versions are supported?
Magento Open Source 2.4.9 and later 2.4.x, verified on PHP 8.4 and 8.5.

