Skip to content

Custom metaobjects — SEO Grid metaobject grid

SEO Grid supports renderable Shopify metaobjects — entries published as online store pages with Search engine listing fields.


  1. From the type picker, choose Custom metaobjects.
  2. If your shop has one renderable definition, you go straight to that grid.
  3. If there are several, pick the definition (metaobject type) you want to edit.

Only definitions with renderable SEO enabled in Shopify appear. Non-renderable types are skipped.


In Shopify, a metaobject definition is renderable when entries can be online store pages with Search engine listing fields (page title and meta description), plus a URL handle.

That is the same kind of SEO you edit on products, pages, and blog posts. SEO Grid only lists those definitions — there is nothing to edit if a type is internal data only (no storefront page, no SEO fields).

Shopify’s Admin label is Publish entries as web pages. In the API this is the renderable capability.

  1. In Shopify Admin, go to Settings → Metafields and metaobjects.
  2. Open the metaobject definition (or create one).
  3. Under Options, turn on Storefronts access.
  4. Select Publish entries as web pages.
  5. Choose which fields map to Page title and Meta description for Search engine listing. You can also set a URL handle prefix.
  6. Save, then add entries under Content → Metaobjects.

Lookbook definition with Publish entries as web pages

In Shopify Admin, turn on Publish entries as web pages and map Page title and Meta description so this type appears in SEO Grid.

Shopify’s own guide: Building web pages with metaobjects.

To show those URLs on the storefront you also need a metaobject theme template (Online Store editor → Create metaobject template). SEO Grid does not create templates. It only edits SEO on definitions that already have renderable SEO enabled.

If the picker says No renderable metaobject types, this shop has no definition with that option on yet.

Example: Lookbook definition to translations

Section titled “Example: Lookbook definition to translations”

This recording shows the full path: create a Lookbook definition, map fields to Page title and Meta description, add an entry, open SEO Grid, enable three locales, save SEO on each locale, then confirm the translations on the Shopify entry in Translate & Adapt.

Walkthrough: create the Lookbook definition and an entry, edit SEO in three locales in the app, then confirm the translations in Translate & Adapt.

Each row is one metaobject entry:

ColumnWhat it edits
EntryDisplay name (read-only label; often the same field as page title)
Page titleMapped SEO title field for that definition
Meta descriptionMapped SEO description field
URL handleEntry handle for the storefront URL

Field keys come from each definition’s Shopify settings — the app reads them automatically.

Lookbook grid with entry, page title, description, and handle

A renderable metaobject grid (Lookbook). Each row is one entry with mapped page title, meta description, and handle.

Same as products, pages, and articles: pick up to three locales, edit SEO fields per locale, Save one row at a time. Secondary locales use Shopify translations when the definition is translatable.


Each row shows a Status badge — Published (ACTIVE) or Draft (DRAFT) from Shopify’s publishable setting on that entry.

There is no status filter on metaobject grids. Shopify’s metaobject list API does not support server-side filtering by publish state, so SEO Grid lists all entries and shows status per row only.


Custom metaobject grids support Row info — the same optional read-only context panel as products, pages, and blog posts. See Row info for the full pattern.

Unlike fixed types (vendor, tags, body), metaobject Row info is built from each definition’s field definitions. The checkbox list changes per metaobject type.

Included (text fields only, excluding SEO columns):

Shopify field typeRow info label exampleDisplay
single_line_text_fieldCustom scalar fieldsInline under the entry name
multi_line_text_fieldBody HTMLExpandable panel
rich_text_fieldContentExpandable panel

Excluded:

  • Fields mapped to Page title and Meta description (already SEO columns)
  • URL handle (already in the grid)
  • JSON, references, numbers, files, and other non-text types

If a definition has no eligible fields, the Row info button is hidden.

  1. Open Custom metaobjects and pick your definition type.
  2. Click Row info (gear) in the grid header.
  3. Enable the fields you want (e.g. Content, Body HTML on a content-type definition).
  4. Click Apply, or add field keys to the URL:
    /types/metaobjects/your_type?context=content,body_html

Fields are read-only — they help staff and browser agents confirm the correct row while editing SEO. Save never writes Row info values.

When two or three locales are selected:

  • Toggle for each lazy field (Content, Body HTML) stays in the Entry column.
  • Content for each locale appears under the SEO fields in that locale’s column — not stacked in the entry column.
  • Expanding or collapsing the toggle in the entry column shows or hides all locale panels at once.

With one locale, context stays in the entry column (same as pages and products).

Lookbook row info description under three locale columns

Lookbook Description shown per locale. If a locale has no translation, the primary text appears with a fallback note.
FieldStorageRow info display
Content (rich_text_field)Shopify rich-text JSON ASTPretty-printed JSON in a <pre> block — useful for agents that need heading/paragraph structure
Body HTML (multi_line_text_field)HTMLSanitized HTML in a scrollable panel (e.g. Gutenberg block markup)

Missing translations show the primary-locale value with “Uses primary locale — no translation”.


Primary locale only. Search matches entry display name, SEO page title, or URL handle.


After a successful save, open the entry in Shopify Admin to confirm SEO fields. Admin may need a few refreshes before changes appear — normal Shopify backend caching.

Custom metaobject entries share one URL handle across locales — the primary locale column. Shopify does not expose translated handles for metaobjects (Translate & Adapt behaves the same way).

  • Edit the handle in the primary locale column only; secondary locale handle fields show the primary value and are read-only in SEO Grid.
  • Primary handle changes create a redirect in Shopify Admin → Content → Menu → URL redirects (see Products, pages & blog posts).
  • Translated page title and meta description still save per locale column.