Skip to main content

Collection page

Everything here is optional. The theme works without any of it.

Where content appears

The collection page is one section, Main collection, made of blocks. Blocks render in two fixed zones:

  • Above the products — Collection hero, Shop by category. Marked (above) in the block list.
  • Below the products — Benefit cards, SEO content, FAQ items, Related collections.

Dragging a block cannot move it between zones. Order within each zone is respected.

Blocks of the same type placed next to each other are grouped: four Benefit cards form one row, three FAQ items sit under one heading. Put a different block between them and you start a second group with its own heading.

Two sources for content below the grid

Everything under the product grid — benefit cards, SEO text, FAQs, related collections — can come from two places.

Blocks, added in the theme editor, show on every collection. Set them once and every collection page has them.

Metafields, filled in per collection, override the blocks on that collection only.

The rule is one line: a collection with its own entries uses them; every other collection falls back to the blocks.

What that means in practice

SituationWhat renders
Blocks set, collection has no metafieldThe blocks
Blocks set, collection has metafield entriesThe metafield entries — blocks ignored on that page
No blocks, collection has metafield entriesThe metafield entries
No blocks, no metafield entriesNothing at all — no empty heading
Section listed in custom.hide_sectionsNothing, whatever the blocks or metafields say

Where to start

Set the blocks up first. Every collection then has reasonable content immediately, and the page never looks unfinished.

Add metafields later, only for the collections that genuinely need different content. A store with forty collections might give five of them bespoke FAQs and let the other thirty-five use the blocks.

Headings are not per-collection

Group headings — "Frequently asked questions", "Why shop this collection" — are section settings, so they're the same everywhere. Use the [collection] token to vary them.

Hiding a section on one collection

Blocks show on every collection, and a metafield can only replace their content — never remove the section. If a particular collection shouldn't have benefit cards or an FAQ at all, use the opt-out metafield.

Set it up once

Settings → Custom data → Metafield definitions → Collections → Add definition

  • Name: Hide sections
  • Namespace and key: custom.hide_sections
  • Type: Single line text, tick List of values
  • Under Validation, tick Limit to preset choices and add these five, one per line:
categories
benefits
seo
faq
related
Use preset choices

Without them the field is free text, and a misspelling does nothing at all — no error, no warning, the section just keeps showing. Preset choices turn it into a pick list.

Then per collection

Products → Collections → open a collection → MetafieldsHide sections → pick what to hide.

ValueHides
categoriesShop by category, above the grid
benefitsThe benefit card row
seoSEO content blocks
faqThe FAQ section
relatedRelated collections

Leave the field empty and everything shows as normal. This is per collection — hiding FAQs on one collection has no effect on any other.

Turning a section off everywhere

You don't need the metafield for that. Delete the blocks in the theme editor and leave the matching metafields unset. With no content from either source the section renders nothing — no heading, no empty space.

The order things are decided

  1. Section listed in custom.hide_sections → nothing renders
  2. Collection has its own metafield entries → those render
  3. Blocks exist in the theme editor → those render
  4. Neither → nothing renders

Headings that name the collection

Any heading below the product grid accepts [collection], replaced with the name of the collection being viewed.

Type About [collection] once and you get "About Massage Oils" on one page, "About Bath Salts" on another. [Collection] and [COLLECTION] work too.

SEO content

The SEO content block shows the same copy on every collection by default. To vary it:

  1. Settings → Custom data → Collections → Add definition
  2. Name it About, namespace and key custom.about, type Rich text, save
  3. Products → Collections, open a collection, scroll to Metafields, write its text

Collections with a value show it. Collections without one fall back to the block's copy. A block with neither renders nothing at all — no stray heading over an empty space.

For a second SEO block, repeat with another key such as custom.how_to_choose, then enter that key in the block's Per-collection metafield field.

Each block also takes an image with a left, right or text-only layout.

FAQs

FAQs are set up once and then reused. The setup has three parts, and they live in three different places in the admin — which is the part that catches people out.

WhereWhat it holdsHow many
Settings → Custom data → MetaobjectsThe shape: one question, one answerOne definition, ever
Content → Metaobjects → FAQThe questions themselvesOne entry per question
Products → Collections → MetafieldsWhich questions this collection showsA list — pick as many as you like

1. Define the shape

Settings → Custom data → Metaobjects → Add definition

  • Name: FAQ
  • Add field QuestionSingle line text
  • Add field AnswerRich text
  • Save

Check the keys read question and answer. Shopify shows them in small text under each field name.

Question goes first for a reason: Shopify labels each entry by its first field, so the picker on each collection shows the question itself rather than an unhelpful identifier.

Two fields, not two pairs

This describes one question. Adding Question and Answer twice does not give you two FAQs — it gives you one broken FAQ with four boxes to fill in.

2. Write the questions

Content → Metaobjects → FAQ → Add entry

One entry per question. Write as many as you want; they aren't attached to any collection yet.

3. Add the slot on collections

Settings → Custom data → Metafield definitions → Collections → Add definition

  • Name: FAQs
  • Namespace and key: custom.faqs
  • Select type → Metaobject → choose FAQ
  • Switch the One / List control to "List of entries" before saving
This is the step that goes wrong

If you leave it on One, the picker on each collection will only let you select a single entry — the button reads "Change" instead of "Add", and only one FAQ ever shows.

Shopify will not let you switch a saved definition from One to List. You have to delete it and recreate it. Your written questions survive; they live in Content → Metaobjects, not in the definition.

4. Assign them

Products → Collections → open a collection → scroll to MetafieldsFAQs

Tick the entries you want. They render as accordions in the order they appear in the list — drag to reorder.

Reusing questions

An entry can be used on as many collections as you like. "How do I store essential oils?" written once can appear on Single Oils, Massage Oils and Diffuser Oils. Edit it in one place and every collection updates.

If something looks wrong

What you seeCause
Only one FAQ, picker says "Change"The collection metafield is set to One, not List. Delete and recreate it
Entries listed by something unhelpfulThe first field in the metaobject definition is used as the label. Drag the Question or Heading field to the top
Answers show {"type":"root","children":...The theme is out of date — update to 1.0.0 or later
Nothing at allNo entries selected on that collection, and no FAQ item blocks in the editor
Raw Liquid like {{ collection.metafields... }}A FAQ item block has a dynamic source connected. Open the block and disconnect it, or delete the block

Falling back to blocks

Collections with no entries fall back to the FAQ item blocks in the theme editor. That's the simple route if you want the same questions everywhere and no metafield setup — add one block per question.

Don't connect those block fields to a dynamic source. The theme reads metafields itself; the editor's dynamic source picker is a separate mechanism and mixing the two produces raw Liquid on the page.

Structured data

FAQs output FAQPage schema. If you also place a separate FAQ section on the collection page, turn off Include FAQ structured data in the section settings so the page doesn't emit it twice.

Benefit cards

The four cards below the product grid. By default they come from Benefit card blocks in the theme editor, which means the same four cards on every collection.

To vary them per collection, use metaobjects — the same three-part setup as FAQs.

Quick win first

Headings accept [collection]. Setting a card heading to Benefits of [collection] reads correctly on every page with no metafield setup at all. The body text stays the same, so this is cosmetic — but it's five seconds of work.

1. Define the shape

Settings → Custom data → Metaobjects → Add definition

  • Name: Benefit
  • Heading — Single line text
  • Icon — Single line text
  • Text — Multi-line text
  • Link label — Single line text
  • Link url — URL

The keys must read heading, icon, text, link_label, link_url. Shopify generates them from the field names, so those exact names work — check the grey text under each field.

Add Heading first

Shopify labels each entry by whichever field comes first. Put Icon first and your entries appear in the picker as "leaf", "truck", "heart" — with no way to tell which card is which. Heading first gives you "Made for Daily Rituals".

Already created it the other way round? Drag Heading above Icon in the definition and save. The entries update straight away.

Five fields, one set

This describes one card, not the row of four. Adding the fields five times does not give you five cards.

2. Write the cards

Content → Metaobjects → Benefit → Add entry

For Icon, type one of these names, or leave it blank for no icon:

leaf · flower · water · heart · shield-check · award · star · gift · truck · return · support · help · smile · zap · yoga · clock

A name that isn't on the list simply renders no icon — there's no error to tell you it was a typo.

What to write in each field

One entry is one card. A row of four cards means four entries.

FieldWhat it isExample
IconAn icon name from the list aboveleaf
HeadingThree or four wordsMade for Daily Rituals
Text15–30 wordsSmall moments — a diffuser at your desk, a few drops before bed. Built into the day rather than saved for occasions.
Link labelDescribes where the link goesExplore daily rituals
Link urlAny page in your store/collections/diffuser-oils

Link url can be left blank — the link simply won't render.

Keep the text lengths similar

Cards in a row size to the tallest one. A card with 60 words leaves visible gaps under the other three.

Twelve cards you can copy

Adapt the wording; the shapes are what matter.

IconHeadingTextLink label
leafAbout This RangeWhat the collection is and who it suits, in one sentence.Read the guide
waterHow to UseDiffuse a few drops neat, or dilute with a carrier oil before applying to skin.View usage guide
heartMade for Daily RitualsSmall moments — a diffuser at your desk, a few drops before bed. Built into the day rather than saved for occasions.Explore daily rituals
awardChosen for QualitySourced from growers we trust and checked for consistency, so the one you reorder smells like the one you loved.See our standards
starCustomer FavouritesThe products people come back for, ranked by what actually sells.Shop bestsellers
giftEasy to GiftSuits almost anyone, which makes it a safe choice when you don't know someone's taste.Browse gift sets
truckFast, Careful DeliveryOrders leave within one working day, packed to protect glass in transit.Delivery information
returnSimple ReturnsNot what you expected? Send it back within 30 days, opened or not.Read the returns policy
supportHelp ChoosingNot sure where to start? Tell us what you're after and we'll suggest two or three worth trying.Get in touch
helpCommon QuestionsShelf life, storage, care — the questions we're asked most, answered plainly.View FAQ
smileBeginner FriendlyNo experience needed. Start with one, and go from there.Start here
clockLong-LastingA little at a time means a bottle lasts months of regular use.Usage and storage
Check the claims against your own policy

Several of these promise dispatch times, return windows and sourcing checks. Change or remove anything that doesn't match what you actually do.

If you sell cosmetics or wellness products, wording is regulated in most markets. Describing a scent is fine; implying it treats a condition is not.

Reuse across collections

Entries are not tied to a collection. A generic card like Simple Returns can appear on every collection while existing once — edit it in one place and all of them update.

Write collection-specific cards only where the content genuinely differs.

3. Add the slot on collections

Settings → Custom data → Metafield definitions → Collections → Add definition

  • Name: Benefits, key custom.benefits
  • Type: Metaobject → Benefit
  • Tick "List of entries" before saving
Same trap as the FAQ setup

Leave it on One and each collection can only hold a single card. Shopify cannot convert a saved definition from One to List — it has to be deleted and recreated.

4. Assign

Products → Collections → open a collection → MetafieldsBenefits → select the entries, and drag to order them.

Collections with entries show their own cards. Collections without any fall back to the Benefit card blocks. A collection with no entries and no blocks shows nothing — no empty heading.

Appearance

Under Main collection → Below the grid:

  • Benefit card icon position — above the text or beside it
  • Benefit card icon size — 16 to 48px
  • Dividing lines between benefit cards — vertical rules on desktop. Off below 990px, where two columns are too narrow for them

Three sources:

SourceBehaviourSetup
AutomaticUses the other collections this collection's products belong toNone
Per-collection metafieldcustom.related_collections, type List of collectionsPer collection
MenuA fixed link list, identical everywhereOne menu

Automatic falls back to the menu when it finds nothing, so set a menu even when using Automatic.

Star ratings

Theme settings → Product cards → Review app — choose Judge.me, Loox, Yotpo, Stamped or Okendo.

Your review app's embed must also be enabled under Theme settings → App embeds. The theme places the rating slot; the app fills it.

Products with no reviews show nothing rather than empty stars.

Product badges

Sale and Sold out appear automatically. Sale shows the discount percentage.

  • Bestseller, New, Limited — tag the product bestseller, new or limited
  • New also appears automatically for recent products; set the window in Theme settings
  • Low stock is off until you set a threshold in Theme settings

Two badges show at most, in this order: Sold out, Sale, Bestseller, New, Low stock, Limited.

Filters

Filters come from Shopify's free Search & Discovery app. The theme renders whatever you configure there — it does not define filters itself. Without the app installed, the collection page shows no sidebar at all and the product grid takes the full width.

Install Search & Discovery, then go to Search & Discovery → Filters → Add filter.

The order you set there is the order the sidebar renders. Drag to rearrange.

Where each filter's data lives

FilterSourceWhat you need to do
AvailabilityInventoryNothing
PriceProduct priceNothing
Product typeThe Product type fieldFill it in per product
Vendor / BrandThe Vendor fieldFill it in per product
Anything elseA product metafield or variant optionDefine it, then fill it in

Product type and Vendor

Both live on the product page, in the Product organization card.

  • Product type — type a value such as Massage Oil. Whatever you enter becomes a filter option with a product count beside it.
  • Vendor — the brand name.

Use consistent spelling. Massage Oil and massage oil become two separate filter options.

Custom filters with metafields

For something Shopify has no field for — benefits, scent, skin type, size — use a product metafield.

Settings → Custom data → Products → Add definition

  • Name it, for example Benefits
  • Namespace and key: custom.benefits
  • Type: Single line text
  • Tick List of values if a product can have more than one
Only some metafield types can be filtered

Single line text, list of single line text, boolean, and number are filterable. Rich text and multi-line text are not — pick one of those and the metafield never appears in Search & Discovery.

Then fill it in per product, and add it as a filter in Search & Discovery.

Variant options as filters

If a product is sold in several versions of something — Scent, Size, Colour — make it a variant option rather than a metafield. Variant options are filterable automatically, and they let the customer buy the specific one.

Use a metafield instead when the attribute describes the whole product and isn't a choice at checkout. A single-scent oil has a scent; it doesn't come in scents.

Why a filter might not appear

SymptomCause
No sidebar at allSearch & Discovery not installed, or no filters added
A filter is missingNo products have a value for it — empty filters are hidden
A metafield isn't offeredIts type isn't filterable. Rich text and multi-line text can't be used
Duplicate options like "Floral" and "floral"Inconsistent capitalisation in the product data
Counts look wrongFilter counts reflect the current filter combination, not the whole collection

Under Main collection → Filters in the theme editor:

  • Filter groups open by default — groups beyond this number start collapsed. Every group open makes a long list hard to scan.
  • Price filter — slider only, or slider plus number fields. Slider only is cleaner; the number fields make it easier to type an exact bound, and they remain available to screen readers either way.
  • Keep filters visible while scrolling — sticky sidebar on desktop.

Filter groups showing more than five options get a Show more control automatically. The hidden options stay in the page, so nothing is lost.

On mobile the sidebar becomes a bottom sheet, opened from the Filter button in the toolbar. It has its own result count that updates as filters are applied.