Metafields & metaobjects
The companion page on custom fields and the definition basics. Open
A metaobject is a content type you design yourself — a designer profile, a size guide, an FAQ, a store location, an ingredient entry. Unlike a metafield (which adds one field to an existing thing like a product), a metaobject is standalone and reusable. This page covers how to shape one, fill it with entries, publish those entries as real web pages with their own SEO, and render them on your storefront.
For metafields — typed fields on products, customers, and other built-in resources — see Metafields & metaobjects.
Every metaobject has two distinct parts, managed in two different places:
| Part | What it is | Where |
|---|---|---|
| Definition | The shape — a type key plus a list of typed fields and the capabilities you turn on | Settings → Custom data → Metaobjects |
| Entries | The actual records that fill that shape, one per item | Content → Metaobjects |
You define the designer type once (with fields like Name, Bio, Photo),
then create one entry per designer. Right after you save a brand-new definition,
Sellerlane drops you straight into adding its first entry.
Go to Settings → Custom data, find the Metaobjects section, and click Add Definition.
Enter a Name (for example Designer). The Type key auto-fills
(designer). The Type cannot be changed after the definition is created,
so pick it carefully. Add an optional Description to help staff.
Add Fields — pick a value type from the picker. The types are the same ones used for metafields, grouped into Most Used, Text, Number, Date and Time, Measurement, Reference, Other, and Advanced (single line text, rich text, integer, decimal, date, file, metaobject reference, product reference, URL, color, money, rating, JSON, and more).
Drag the handle on any field to reorder it — the order here is the order buyers and staff see the fields in.
Mark exactly one single-line-text field as the Display name. This is the human-readable label used to identify each entry in lists.
Turn on the capabilities you need under Metaobject options (next section), then Save.
Each field is validated exactly like a metafield value of the same type — min/max character counts and a regex (or a fixed list of preset choices) for text, min/max for numbers, allowed file types for files, earliest/latest for dates, min/max measurement for weight/volume/dimension, a rating scale, allowed URL domains, or a JSON schema. See Metafields & metaobjects for the full per-type table. Any field can also be marked Required.
The Metaobject options section turns on optional behaviours per definition. All are off by default:
When you tick Publish entries as web pages, three settings appear:
Page title — choose which of the definition’s fields supplies the browser/SEO title for each entry’s page. If you leave it unset, the page falls back to the entry’s Display name.
Meta description — choose which field supplies the meta description used for SEO and link previews.
URL handle — an optional folder name (for example designers). This is
captured for the future and is not yet used — see the URL note below.
Tick the nested Online Store toggle so the entry data can be read inside your theme (required for the page template to render anything).
Published entries are served at:
/metaobjects/<type>/<handle>For example, a designer entry with the handle jane-doe lives at
/metaobjects/designer/jane-doe. The handle comes from the entry itself — it
auto-fills from the Display name value when you create the entry and is
locked once saved.
A published entry only renders if your theme has a page template at
templates/metaobject/<type>.json (for example
templates/metaobject/designer.json). Create it in the
visual editor or in
theme code, and add sections that read the
metaobject object (see below). If no template exists for the type — or the
entry is a draft, or the definition doesn’t have web pages enabled — the URL
returns your theme’s 404 page instead.
Go to Content → Metaobjects (or click Add entry from the definition).
Pick the definition and fill each field. The Handle — the slug used in the URL — auto-fills from the Display name field; you can edit it before saving. Handles allow letters, numbers, and hyphens, and are locked after creation.
If Active-draft status is on, flip the Status switch to Active to publish (or leave it Draft to stage it).
Save. If web pages are enabled and a template exists, the entry is now live at its URL.
There are two ways to surface metaobject data, with no rebuild either way.
Inside a templates/metaobject/<type>.json template, the current entry is
available as the metaobject object. Reference its fields by key:
<h1>{{ metaobject.name }}</h1><p>{{ metaobject.bio }}</p><img src="{{ metaobject.photo | image_url: width: 600 }}" alt="">metaobject.system.url, metaobject.handle, metaobject.type,
metaobject.seo_title, and metaobject.seo_description are also available.
Loop over every entry of a type from any template:
{% for designer in metaobjects.designer.values %} <a href="{{ designer.system.url }}"> <h3>{{ designer.name }}</h3> </a>{% endfor %}Inspect the live shape from any template with {{ metaobjects | json }}.
To attach a metaobject entry to a product (or any resource), add a Metaobject reference metafield on that resource pointing at the definition. Then render it in Liquid:
{% assign designer = product.metafields.custom.designer.value %}<p>By {{ designer.name }}</p>You can also bind a compatible section or block setting to a metaobject value in the visual editor with no code — see Dynamic sources.
designer type with name, bio, and photo,
linked from each product via a metaobject-reference metafield, plus a public
profile page per designer.size_guide type holding a measurement table, referenced
from products and shown in a tab or popover.faq type with question and answer fields, looped on a support
page.location type with address, hours, and a map link,
rendered as a “find us” directory.ingredient type with name,
description, and origin, cross-linked from product pages.templates/metaobject/<type>.json template for
the type./metaobjects/<type>/<handle> for now.Metafields & metaobjects
The companion page on custom fields and the definition basics. Open
Themes & editor
Build the metaobject/<type> template that renders each entry.
Open
Dynamic sources
Bind theme settings to metaobject values with no code. Open
SEO
How titles, descriptions, and canonical URLs help discovery. Open