The data layer, grouped by intent.
Six clusters of metaobjects and shop-level metafields. Three are designed and specified — Documents, Relationships, Specs — and three others span Compatibility (uses existing native types), AI (the policy pair), and Shop singletons (admin-editable copy and references). Anything not in this section is either a Shopify primitive (product, variant, collection) or a content type implied by a specific page — see § 04 for the implied set.
product_document
Files attached to products — datasheets, manuals, drawings, certifications, SDS. Replaces the per-product PDF page-scrape that gave every product 46 attachments. The 51 unique documents in the catalog become explicit, reusable metaobject entries.
product_relationship
Editorial parent-curated links between products — required accessories, replacement parts, frequently-bought-together, upgrade paths. Replaces the empty related_products array on every current product and the prose-only relationship descriptions.
fits_products (no metaobject)
Variant-granular compatibility, declared by the child (the part) rather than the parent. The "tube replacement" knows which reach variants it fits; the PDP queries this in reverse to show fitting parts. Uses native variant_reference — no new metaobject type needed.
product_spec_group · product_spec_row
Structured specification data. Group is the category (Performance, Electrical, etc.); row is the value, with US/metric units, comparable/filterable flags, and variant-override support. Same data feeds PDP spec table, comparison view, collection filters, printable spec sheet, JSON-LD, and the Find Your Fit rules engine.
ai_policy · ai_crawler_policy
Admin-editable AI metadata. Single-entry ai_policy renders the meta tags in head on every page; multi-entry ai_crawler_policy drives the robots.txt template. Each crawler is one entry that the merchant can enable / disable without code.
shop.theme.* (no metaobject)
One-off admin-editable copy and references that don't justify a metaobject. Hero headline, featured product reference, contact info, brand tagline. Shopify shop metafields with theme namespace, accessed via Liquid theme settings or direct metafield reads.
Coverage matrix.
Rows are data sources. Columns are the fourteen pages in the IA. A check means the data source materially drives content on that page. The matrix reads diagonally as expected: PDP and Collection are the heaviest consumers; FAQ and Distributors barely touch the existing metaobjects (they need their own — see § 04).
| Data source | A | D | E | F | G | H | I | J | K | L | M | N | O | P |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DOCUMENTS · product_document | ||||||||||||||
| product.theme.documents | ✓ | · | ✓ | ✓ | ||||||||||
| variant.theme.documents | ✓ | |||||||||||||
| shop.theme.shop_documents | · | ✓ | ✓ | |||||||||||
| RELATIONSHIPS · product_relationship | ||||||||||||||
| product.theme.related_products | ✓ | ✓ | ||||||||||||
| COMPATIBILITY · fits_products | ||||||||||||||
| product.theme.fits_products | ✓ | ✓ | ✓ | |||||||||||
| SPECIFICATIONS · product_spec_group / row | ||||||||||||||
| product.theme.specs | ✓ | ✓ | ✓ | ✓ | ✓ | · | ✓ | |||||||
| variant.theme.specs | ✓ | ✓ | ✓ | ✓ | ||||||||||
| product_spec_group (structure) | ✓ | ✓ | ✓ | |||||||||||
| AI · ai_policy / ai_crawler_policy | ||||||||||||||
| shop.theme.ai_policy (meta tags) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| shop.theme.ai_crawler_policies (robots.txt) | Site-wide · /robots.txt template + /llms.txt Worker | |||||||||||||
| SHOP SINGLETONS · shop.theme.* | ||||||||||||||
| shop.theme.featured_product | ✓ | |||||||||||||
| shop.theme.hero_* (copy) | ✓ | |||||||||||||
| shop.theme.contact_* (phone, emails, hours) | · | ✓ | ||||||||||||
| shop.theme.warranty_* (intro, terms) | ✓ | |||||||||||||
| shop.theme.about_* (hero, stats) | ✓ | |||||||||||||
| IMPLIED · NEW METAOBJECTS (see § 04) | ||||||||||||||
| ◯ product_video | ✓ | · | · | ✓ | ||||||||||
| ◯ distributor | ✓ | |||||||||||||
| ◯ faq_item / glossary_term | ✓ | |||||||||||||
| ◯ company_milestone | ✓ | |||||||||||||
| ◯ finder_intent_path / finder_step | ✓ | |||||||||||||
| ◯ learn_category / learn_article | ✓ | ✓ | · | |||||||||||
✓ primary data source for this page · · secondary or partial use
Per-page data maps.
Each page shown as a stacked schematic of its sections with numbered callouts, and a binding table listing every UI element with its data source. Use this as the implementation reference when building the Liquid templates — the table tells you the exact metafield path and any filter / sort logic the renderer needs.
Homepage — featured product, three intent paths, bestsellers grid
Three things above the fold (brand statement, featured product, intent paths) plus a bestseller grid below. Featured product is driven by a single shop metafield reference; bestsellers are dynamic from Shopify's BEST_SELLING sort.
Product detail page — sticky sidebar, six anchored sections
The PDP is the heaviest consumer of the data layer. Every cluster except AI has primary feeds here. The variant picker triggers re-rendering of Specs and Parts & accessories without a page reload — both read variant-level metafields client-side after the picker change event.
Collection page — spec-driven filter rail + product cards
The filter rail introspects spec rows flagged filterable=true across all products in the collection. No hardcoded facets per collection template.
Compare tool — 2-4 products side-by-side
Pure derivation from spec data. The URL /products/compare?items=... encodes product handles and optional variant SKUs. No backing data store — the comparison is computed from the participating products' spec rows.
Find Your Fit — intent entry
The intent paths and step questions are the bulk of the configuration. v1 can ship the entry screen as hardcoded section blocks; v2 should move them to a finder_intent_path metaobject so the merchant can adjust without code (see § 04).
Learn hub — editorial categories + recent
Replaces the 18-lesson nav. Built primarily on Shopify Blog (articles + tags + author) with a thin metaobject layer for category curation and a featured article reference at the shop level.
Application guide article — editorial template
Native Shopify Article with article-level metafields for the editorial framing (standfirst, reviewer credit) and a related-products list. Same template handles Coolant 101 lessons and longer-form white papers.
FAQ + Glossary — two views, one template
The most metaobject-needed page on the list. Both faq_item and glossary_term are net new in § 04. v1 could ship with structured content in a single Shopify page — but it won't be search-indexable as discrete units, won't deduplicate across product pages, and won't emit JSON-LD FAQPage / DefinedTerm schemas cleanly.
Find parts by model — variant-aware results
Pure expression of the fits_products data layer. The customer types a SKU or model, the system resolves it to a specific variant, then queries products whose theme.fits_products metafield contains that variant.
Install & troubleshooting — support hub
Aggregates documents and videos across the catalog, filtered by document_type and audience. Each guide auto-links to the parts it references via metafield cross-references.
Warranty & returns — register, claim, terms
Mostly editorial copy from shop metafields, plus the existing native warranty registration form section (PR #35 — already shipped). Terms are rendered from a single shop metafield so updates don't require a code change.
About / Made in USA — editorial brand page
Editorial layout with a hero photograph, brand story prose, by-the-numbers grid, and a milestone timeline. Two new metaobjects implied: company_stat and company_milestone.
Distributors — 68 partners, 42 countries
Largely a single new metaobject (distributor) driving the map, the search, and the list. The "become a distributor" path is form-based; the portal sign-in is Phase 4.
Contact — phone-first, form-second
Almost entirely shop metafields. The form is the same Shopify Contact-form backbone used for warranty registration and the distributor application, with tag-based routing.
Metaobjects the IA implies beyond v1.
Working through the page maps surfaced six additional metaobject types the design needs that aren't covered by the three already specified. Each card lists the type, the page(s) that consume it, why it's worth creating versus hardcoding, and a verdict on whether to ship it in v1 or defer. The combined effect of deferring all six is a v1 with a small number of hardcoded sections and limited admin editability — acceptable trade for getting the data layer out, then adding admin power in v2.
product_video
The AI Search pipeline already structures videos with clean fields (title, platform, video_id, watch_url, embed_url, thumbnail_url). Five videos per major product, mostly install and demo content. Without a metaobject, videos stay as third-party iframe embeds in product descriptions — unsearchable, unfilterable, no JSON-LD VideoObject emission.
faq_item · glossary_term
The FAQ + Glossary page can't realistically be a single rich-text page if the search needs to find individual entries, if items need to cross-link from product PDPs, or if JSON-LD FAQPage / DefinedTerm schemas should emit cleanly. The current site has duplicate FAQ pages partly because there was no structured single source of truth.
distributor
68 distributors across 42 countries. The list is the source of truth for the map, the searchable list, and downstream regional routing on contact forms. Without a metaobject, the distributor list lives in a spreadsheet, the map is hand-maintained, and updates require code changes.
company_stat · company_milestone
"By the numbers" rows (32 years, ~140k skimmers shipped, 42 countries) and the timeline of milestones (1994 founding through 2026 redesign). Could be hardcoded as Liquid section blocks, but every catalog has the same need — and once specified, the same metaobjects work for any merchant. Theme-Store-friendly.
finder_intent_path · finder_step
The Find Your Fit configuration. v1 can ship with hardcoded paths and questions baked into Liquid templates because the recommendation rules don't change often. v2 should expose the question tree as metaobjects so the merchant can A/B test entry points without a code change.
learn_category
The three Learn hub categories (Coolant 101, Application Guides, Glossary & FAQ) with their descriptions and item counts. Shopify Blogs are categorized by tag; learn_category would be the merchandising layer on top — a category landing image, an editorial description, optional ordering of articles within.
Ship-in-Phase-1 set: the three specified metaobjects (product_document, product_relationship, ai_policy + ai_crawler_policy), the two spec metaobjects (product_spec_group, product_spec_row), plus three from above: product_video, faq_item, glossary_term, and distributor. That's nine metaobject types total — a reasonable v1 ceiling. Phase 2 adds the four deferred types.