Skip to content

Products, pages & blog posts — SEO Grid usage

The grid is the main SEO Grid UI: rows = Shopify resources, columns = SEO fields and locale variants.

Product grid with title, description, and handle

Product rows with page title, meta description, URL handle, and a Save button on each row.

From the app home or header breadcrumb, open:

Content typeWhat you edit
ProductsProduct SEO title, description, handle
PagesOnline store page SEO fields
Blog postsArticle SEO fields
Custom metaobjectsRenderable metaobject entries — see Custom metaobjects

One type per grid view — switch types from the content type picker or breadcrumb.

Pages grid with title, description, and handle

The same spreadsheet layout for online store pages — page name, status, SEO fields, and Save.

Blog posts grid with title, description, and handle

Blog articles in one grid, including the blog name, status, and SEO fields.
Recording: Pages grid with three locales and Row info Body, Save, confirm in Admin Search engine listing, then Blog posts grid and Save one article.

Typical columns (varies by locale selection):

ColumnMaps to Shopify
Resource nameProduct / page / article title (read-only context)
StatusProduct lifecycle or page/article publish state (read-only)
Meta titleSEO title
Meta descriptionSEO description
URL handleHandle / slug

On products, pages, and blog posts, use the Status dropdown beside the search box to filter which rows load. Default is All statuses (same as before — draft and published items both appear).

Content typeFilter options
ProductsAll · Active · Draft · Archived · Unlisted
Pages / blog postsAll · Published · Draft

The filter runs server-side through Shopify’s Admin API (accurate pagination and counts). Changing status reloads the grid and resets pagination.

You can combine status with search — for example, find draft products whose title contains “snowboard”, or products tagged wax, or both (?q=snow&tag=wax).

Use the Tag field beside Status to filter by an exact Shopify product tag. This is separate from the search box — ?q= still matches title and SEO page title only; ?tag= matches tags only. Combine with status and search when needed.

URL parameter: ?tag=your-tag (exact tag name; use quotes in API terms if the tag contains spaces). Omit tag for no tag filter.

Custom metaobjects show a Status column (Published / Draft from Shopify) but no status filter — Shopify’s metaobject list API does not support filtering by publish state.

URL parameter for agents and bookmarks: ?status=draft, ?status=published, ?status=archived, or ?status=unlisted (products only for archived / unlisted). Omit status or use status=all for no filter.


  • Click Save on one row at a time, or use Save All (N) to save every highlighted row on this page in one confirmed batch.
  • Only changed fields for that row are sent to Shopify.
  • Edited SEO cells show an amber highlight until saved — see Save All & unsaved rows.
  • Wait for the row success indicator (or Save All batch) before navigating away.
  • Other rows are not affected.

Save All saves dirty rows on the current page only (≤25) — not the full catalog. Row info columns are never written.

When you change a URL handle and Save succeeds, old storefront links keep working. How Shopify records that depends on which locale column you edited.

When you change the primary-locale URL handle, SEO Grid asks Shopify to create an explicit redirect from the old path to the new one (same as editing the handle in Shopify Admin).

  • Applies to products, pages, and blog posts.
  • SEO Grid does not show a redirect toggle; redirects are created automatically on handle change.
  • After Save, the new redirect appears in Shopify Admin → Content → Menu → URL redirects (default-locale paths such as /products/old-handle/products/new-handle, /pages/old/pages/new, or /blogs/news/old-post/blogs/news/new-post).

When you change the URL handle in a secondary locale column only (primary handle unchanged), Shopify updates the translation. Old locale-prefixed storefront URLs still redirect to the new translated handle — the same behaviour as Translate & Adapt.

  • Applies to products, pages, and blog posts (for example /zh-hant/products/old-handle, /zh-hant/pages/contact, or /zh-hant/blogs/news/old-post).

  • Custom metaobjects use a single primary-locale handle only — see Custom metaobjects.

  • SEO Grid saves translated handles via Shopify’s translation API; no separate redirect toggle.

  • These changes usually do not add a new row in Content → Menu → URL redirects — Shopify resolves them through locale routing, not the store-wide redirect list.

  • If a locale column shows the same handle as primary, that locale is using the primary handle — sharing the slug is fine. You can translate the handle separately in a secondary column; after Save, that locale gets its own slug. Changing the primary handle updates any secondary column that has not been translated separately.

To review, edit, or remove primary-locale redirects:

Shopify Admin → Content → Menu → URL redirects

Saved product row with updated SEO fields

After Save, only that product row shows a success state. Other rows stay as they were.

After a successful save:

  1. Open the same resource in Shopify Admin.
  2. Confirm meta title, description, and handle match your grid edits.
  3. Shopify Admin may need a few refreshes before changes appear — normal Shopify backend caching.

Power users and browser agents can open optional context fields per row. See Row info and AI agents.


Use CSV or JSON in the grid header to export the current page, edit SEO in a spreadsheet or with AI, and import changes back. Import updates grid inputs only — then Save All or Save each row to Shopify. See Grid transfer and Save All.