SEO Metadata
The tool-first editor for Shopify SEO titles and meta descriptions across products, collections, pages, articles, and blog indexes.
Metadata is a tool, not an Autopilot rule set. You can have Autopilot flag short / missing / long metadata, but ProRank deliberately keeps the actual writes interactive — bulk content edits should be reviewed before they go live.
Supported resources
Each tab in the Metadata tool corresponds to a Shopify resource type. The Blogs tab covers blog-level (index page) SEO; individual articles live under Articles.
| Resource | API field | Editable |
|---|---|---|
| Products | product.seo.title, product.seo.description | Yes |
| Collections (manual) | collection.seo.title, collection.seo.description | Yes |
| Pages | page.seo.title, page.seo.description | Yes |
| Articles | article.seo.title, article.seo.description | Yes |
| Blog indexes | blog.seo.title, blog.seo.description | Yes |
| /collections/all (automatic) | Not exposed via Admin API | No — use Theme SEO Controls for noindex/robots |
| Homepage / root | Shopify Admin → Online Store → Preferences | No — edit in Shopify Preferences, not in the app |
What this tool does NOT model
- The
/collections/allautomatic collection. Shopify creates it implicitly; the Admin API does not expose a record for it, so we cannot write its SEO fields. If it's being indexed and you want it gone, apply a noindex via Theme SEO Controls. - The homepage
/root SEO. Shopify keeps the home page title and description in Online Store → Preferences → Title and meta description, not on a resource we can edit through the Admin API. The home page tab in the Metadata tool surfaces the current values read-only so you can sanity-check them against the rest of the site, but the write happens in Shopify Preferences.
The per-row workflow
- Pick a tab (Products, Collections, Pages, Articles, Blogs).
- Filter or search to the rows you want to edit.
- Optional: click Generate AI on a row. ProRank reads the resource (title, body, key attributes) and proposes a title + meta description in the configured ranges.
- Review and edit the proposal in place. Character counters show range fit.
- Click Save on the row, or batch-save selected rows. Writes go straight to the Shopify Admin API.
AI Generate is per-row, not global. You can mix AI-generated and hand-written values in the same save, and you can re-generate as many times as you like without saving.
Character ranges
ProRank enforces (soft) ranges in both AI Generate and the audit's short/long rules. You can save out-of-range values, but the row stays flagged in the audit.
| Field | Target range | Rationale |
|---|---|---|
| SEO title | 30–60 characters | Visible in Google SERP without truncation; brand suffix friendly. |
| Meta description | 141–159 characters | Long enough for Google to render verbatim, short enough to avoid mid-sentence truncation. |
Bulk editing
The Metadata tool supports multi-row selection and a bulk save action. Bulk operations are quota-counted; see Billing & Trial. You can also bulk-Generate, which fans out per-row AI calls and shows progress; you still review before save.
Rows that error during save (e.g. transient Admin API rate-limit) stay selected with an inline error message so you can retry just the failures.
AI Generate — how the prompt is built
For each row we send the resource's title, a body summary, primary attributes (vendor, product type, tags for products; parent blog for articles), and the shop's name. The prompt asks for a title and meta description in the configured character range, in the shop's default locale. We do not send personally-identifying customer data.
Resource type: product
Title: Example Product Name
Vendor: Example Vendor
Product type: Example Type
Body summary: <first ~400 chars of body, plain text>
Shop name: Example Store
Target ranges:
- Title: 30–60 chars
- Description: 141–159 charsDetection rules the audit flags here
missing_meta_title— write a title.missing_meta_description— write a description. Many Shopify themes otherwise render a fallback from page or body content.short_meta_title— title shorter than the lower range.long_meta_title— title longer than the upper range.short_meta_description— description shorter than the lower range.long_meta_description— description longer than the upper range.missing_alt_text— covered here because alt text edits live alongside the row in some tabs; see also the Images doc.noindex_conflict— detection-only, surfaced for manual review.
Why "meta description missing" vs "meta description too long"
Many Shopify themes render a fallback description when seo.description is empty, often derived from page or body content. ProRank reads the Admin API SEO field directly, so it reports the resource as missing. Third-party crawlers read the rendered HTML and might report the same resource as too long if the fallback is lengthy. Same row, different lens.
The fix is the same either way: open the row in the Metadata tool, write a 141–159 char description, and save. Once seo.description is non-empty, both views agree.