Back to blog
guides10 min read

Shopify Meta Descriptions and Title Tags: Fix the Store-Wide Duplicates First

Your theme titled every page you never touched, with one recipe. Where each Shopify meta description and title comes from, and which pages to fix first.

Aditi ChaturvediSeptember 25, 2026
Shopify titles and metas: fix duplicates first, in 4 steps: Homepage; Top 20 collections by clicks; Top 20% of products by clicks; Everything else.
TL;DR

Shopify fills in a title and meta description for every page you never touched, and it fills them all in with the same recipe. That recipe is where the duplicates come from. Fix them in this order:

  1. Homepage: Online Store > Preferences. One title, one description, the most-clicked page on the store.
  2. Top 20 collections by clicks: Hand-write both fields in the Search engine listing section. Collections carry the head terms.
  3. Top 20% of products by clicks: Hand-write the titles. Write a description only where the product copy does not already say what a buyer searches for.
  4. Everything else: Leave the fields blank and fix the pattern once in theme.liquid: shorten the brand suffix, keep the page number, stop apps from templating boilerplate.

"shopify meta description" gets 110 US searches a month, up 29% year on year, and "shopify homepage meta description" gets another 110 (DataForSEO, US, September 2026).

Every ranking page on this query explains how to type into the Search engine listing box. None explains what the theme types for you when you don't, or why that produces hundreds of duplicates. This one does, then gives you the fix order. Try CrawlRaven free: 1 site, no credit card →

The short answer: your theme wrote most of your titles, and it wrote them all the same way

Crawl any Shopify store past a few hundred products and the same report comes back: hundreds of duplicate titles, hundreds of duplicate descriptions, a long tail of truncated ones. The owner didn't write any of them. One block in theme.liquid did, with the same recipe on every page.

I've spent 15 years in SaaS SEO, and the ecommerce mode we built into CrawlRaven means I now read a lot of Shopify crawls. The duplicate-title finding is on nearly every one, and it gets fixed in the wrong order: alphabetically, starting with pages nobody clicks.

Every title tag and meta description on a Shopify store comes from one of two places. A field you typed into, or a fallback the theme computes when that field is blank. Fix the fallback pattern once, then hand-write only the pages that get clicks.

Key Takeaways

  • →Two sources, nothing else: A typed field (Search engine listing, or Online Store > Preferences for the homepage) or the theme fallback. Dawn's fallback is the object title, a tag filter, a page number, then the shop name.
  • →Blank description means product copy: Shopify's CSV reference says a blank SEO description uses the product Description. A blank field on a page with no body text ships no description tag at all.
  • →The limits are Shopify's, not Google's: Shopify caps titles at 70 characters and descriptions at 320, recommending 60 and 160. Google publishes no limit and truncates to the device width, about 600 pixels for a desktop title.
  • →Duplicates come from URLs, not from you: Collection-path URLs, variant URLs, tag filters, pagination and app templates each repeat one title across several addresses.
  • →Fix by clicks, not by alphabet: Homepage, top 20 collections, top 20% of products by Search Console clicks, then one edit to theme.liquid for the rest.

Where each Shopify title tag and meta description is set

Shopify has no central meta screen. The fields live on the object they describe, so store-wide problems get fixed one page at a time unless you change the pattern. There are two places to look.

Homepage: Online Store > Preferences

  1. Open Preferences. From your Shopify admin, go to Online Store > Preferences.
  2. Find the SEO block. In the "Social sharing image and SEO" section, enter the homepage title and meta description.
  3. Save. The change reaches Google on its next crawl, not on save.

A blank field hurts most here, and searchers know it: "shopify homepage meta description" gets 110 US searches a month, up 250% year on year, as many as the generic "shopify meta description" query (DataForSEO, US, September 2026).

Products, collections, pages and posts: the Search engine listing section

  1. Open the object. The product, collection, page or blog post in the admin.
  2. Scroll to "Search engine listing" and click "Edit website SEO".
  3. Fill three fields. Page title (up to 70 characters), Description (up to 320 characters), and the URL handle. Leave the handle alone on a live page unless you want a redirect.
  4. Save.

What the theme emits when the field is blank

Shopify's help centre is explicit that the title tag lives in exactly one theme file, theme.liquid, and is output by {{ page_title }}. Here is the whole block from Dawn, Shopify's reference theme (v16.0.0, August 2026):

<title>
  {{ page_title }}
  {%- if current_tags %} &ndash; tagged "{{ current_tags | join: ', ' }}"{% endif -%}
  {%- if current_page != 1 %} &ndash; Page {{ current_page }}{% endif -%}
  {%- unless page_title contains shop.name %} &ndash; {{ shop.name }}{% endunless -%}
</title>

{% if page_description %}
  <meta name="description" content="{{ page_description | escape }}">
{% endif %}

Read line by line, that block is the entire fallback system:

  • {{ page_title }} is the SEO title if you set one, otherwise the object's own title (Shopify's CSV reference: a blank SEO title uses the product Title).
  • "– tagged "blue"" is appended on a collection or blog filtered by tag.
  • "– Page 2" is appended on every paginated page after the first. Dawn's demo store renders Products – Page 2 – theme-dawn-demo (checked September 2026).
  • "– Shop Name" is appended unless the title already contains it. On a homepage with a blank Preferences title, the whole tag is just the shop name.
  • The description tag is conditional. Dawn prints it only when page_description has a value. For products a blank field falls back to the product Description, HTML stripped. A page with no field and no body text ships no tag.
Fallback map

Where each Shopify title and meta description comes from when the field is blank

Page typeField you can editTitle when blankDescription when blank
HomepageOnline Store > PreferencesThe shop name on its ownNo meta description tag at all
ProductSearch engine listing on the productProduct TitleProduct Description, tags stripped
CollectionSearch engine listing on the collectionCollection titleCollection description, or no tag if it has none
Page or blog postSearch engine listing on the page or postPage or post titlePage or post content excerpt, or no tag
Then the theme appends, in this order (Dawn theme.liquid)
– tagged "blue"
Collection or blog filtered by tag
– Page 2
Any paginated page after the first
– Shop Name
Title does not already contain the shop name
Every title on the store is built by one block in layout/theme.liquid, so a change to that block changes every page at once. The fields override only the part before the suffixes.

So a 900-product store where nobody touched a field still has 900 distinct titles and 900 descriptions made of product copy. That isn't where the duplicates come from. They come from the URLs the platform creates around each product.

Why a Shopify store ends up with hundreds of duplicate or truncated titles

The theme titles one product one way. The platform then serves that product at several addresses, and the crawler reports each one. Here is where the rows in your report come from:

  • Collection-path URLs. /collections/mens/products/tee and /products/tee both render with the same title and description. Shopify canonicalises the collection path to /products/tee (checked on a live store, September 2026), so Google usually consolidates them, but every crawler lists the pair as duplicate content.
  • Variant URLs. ?variant=123 carries the parent's title and description and canonicalises to the product URL. Eight variants, nine rows, one title.
  • Pagination without the suffix. Dawn adds "– Page 2". Themes that dropped that line ship every page of a collection with page 1's title. Allbirds' men's collection does this today (checked September 2026).
  • Tag-filtered collections. Every tag combination is a URL titled "Collection – tagged "x"".
  • App templates. An app that writes "{product} | Buy {type} Online | {shop}" into every SEO title makes 900 titles that differ by one phrase. Google's title-link documentation calls that boilerplate.
  • The brand suffix. "– Northwind Supply Co." adds 25 characters to every page. A 50-character product name becomes 75 and truncates everywhere.
  • Shared supplier copy. The description fallback reads product copy, so 40 products pasted from one manufacturer sheet produce 40 identical descriptions.

That last one is what store owners meet first. In a December 2021 r/shopify thread, one owner wrote: "SEMRush saying 40 pages having same meta description under one category", and asked whether adding a keyword to each title would clear it. It would clear the report, not change a click.

Character and pixel limits: what Shopify enforces and what Google does

Two different things get called "the limit". Shopify's admin enforces a hard cap on what you can type. Google enforces nothing and simply cuts what doesn't fit.

FieldShopify admin capShopify recommendsGoogle's documentationWhat actually cuts it
Title tag70 characters60 or fewerNo limit; truncated to fit the device widthAbout 600 pixels on one desktop line; two shorter lines on mobile
Meta description320 characters160No limit; truncated as neededRoughly two lines on desktop (about 150 to 160 characters); a third line on mobile

Shopify caps the title at 70 characters and the description at 320, and recommends 60 and 160. Google's title-link page says there is no limit on a title element's length and that the title link is "truncated in Google Search results as needed, typically to fit the device width". The snippet page says the same of meta descriptions.

The device width is a pixel budget, not a character count. Our SERP preview measures it: about 600 pixels for one desktop title line, and wide capitals overflow sooner than narrow lowercase. Measure the string that ships, brand suffix included.

Why Google rewrites Shopify titles and descriptions anyway

Google's documentation lists the sources for a title link: the title element, the visible title, headings, og:title, anchor text and WebSite structured data. The title element is one candidate, and on Shopify it loses in predictable ways:

  • Boilerplate. Google names "long text that varies by only a single piece of information" as a reason to rewrite. That is every app-templated title.
  • Micro-boilerplate. When several pages share a title that omits the distinguishing detail, Google inserts the detail from prominent page text. Paginated collections without "Page 2" are the textbook case.
  • Half-empty titles. A title that is only the shop name (the blank-homepage fallback) gets rebuilt from headings.

Descriptions are weaker still. Google's snippet documentation says snippets are "primarily created from the page content itself", with the meta description used only when it describes the page better. A description that is the product copy adds nothing.

Opinion· Aditi's take: write descriptions where the copy is thin, not everywhere
The pages where a hand-written description wins are the ones whose body text doesn't answer the query: collections with two lines of copy, the homepage, a product whose description is a spec sheet. On a product with 300 words of good copy, Google picks the matching sentence anyway. Spend the hour on the collections.

Bulk editing Shopify meta descriptions: CSV, the bulk editor, or an app

Three routes, in rising order of risk:

  • CSV export and import. Products > Export gives you a file with "SEO title" and "SEO description" columns. Fill them, re-import with overwrite. Keep URL handle, Title, Option1 name and Option1 value in the file: Shopify's CSV reference warns that a file without the option columns creates a default variant and deletes the existing ones.
  • The bulk editor. Select products, click Bulk edit, then Columns to add properties. It suits a screen of products at a time and shows the values before they save. Check Columns on your own store for the SEO fields; the property list isn't documented.
  • An SEO app. Shopify SEO apps either write a template into the same SEO fields through the Admin API (the seo.title and seo.description fields on Product and Collection), or override the theme's output with their own snippet. The first leaves values behind when you uninstall; the second leaves Liquid behind.

Whichever route you take, a template is a floor, not a finish. Google treats a title that "varies by only a single piece of information" as boilerplate. Template the long tail; hand-write the head.

The triage order: homepage, top 20 collections, top 20% of products, then the rest

Google's snippet guidance says it: if you can't write every description, "at the very least, create a description for the critical URLs like your home page and popular pages". Popular means clicks, so rank the list by clicks before anyone starts typing.

Triage order

Fix titles in the order Google already clicks them

1
Homepage1 page
Where: Online Store > Preferences
Method: Hand-write both fields
2
Top collections by clicksAbout 20 pages
Where: Search engine listing on each collection
Method: Hand-write both fields
3
Top products by clicksTop 20% of the catalog
Where: Search engine listing, or a CSV import
Method: Hand-write titles; description only where copy is thin
4
Everything elseThe remaining 80%
Where: theme.liquid title block
Method: Fix the fallback pattern once, leave the fields blank
Rank by the clicks each page already gets in Search Console, not alphabetically. Google's own snippet guidance says to prioritise the home page and popular pages when you cannot do every URL.

Step 1: Pull the duplicate list ranked by clicks

A crawler export is alphabetical, which is how the "About" page gets rewritten before the best-selling collection. You need each duplicate or truncated title next to the clicks the page already earns, then you work from the top.

  • One page at a time: our free meta tag checker reads what a URL actually ships, and the meta tags generator drafts a replacement you can paste into the Search engine listing box.
  • The whole store: CrawlRaven joins Search Console, GA4 and a 200-point crawl into one ranked plan. Its ecommerce mode lists every duplicate and truncated title across the store, ranked by the Search Console clicks the page already gets, so the twenty rows at the top are the twenty that matter.
  • Cost: the free plan covers 1 site with no credit card. Lifetime licences launched at $49 for 3 sites. Lifetime pricing steps up as licenses sell, so check the pricing page for the current batch. See pricing.

If you want the wider store review first, the Shopify SEO audit walks the whole crawl and the Shopify SEO checklist is the tick-list version.

Step 2: Fix the homepage title and description

One page, two fields, under Online Store > Preferences. Write the title as what the store is, not the store's name: "Northwind: heavyweight organic basics made in Portugal" beats "Northwind Supply Co.", which Google treats as half-empty.

Step 3: Hand-write the top 20 collections

Collections carry the head terms, and their body copy is usually two lines, so this is where a written description does real work. Twenty collections is a morning. For each one:

  • Title: the category term buyers use, a qualifier, then a short brand. "Men's Organic Cotton T-Shirts | Northwind", not "T-Shirts – Northwind Supply Co.".
  • Description: what is in the collection, how many styles, price range, shipping. Google's snippet page explicitly encourages bringing the scattered facts together.

Step 4: Hand-write the top 20% of products

Sort products by Search Console clicks. The top 20% carry most of the product traffic and are the ones worth titling by hand. The other 80% get a CSV template, or nothing, and the theme fallback does its job.

Search listing mock

One product page, before and after the fields are filled in

Before: theme fallback
Northwind Supply Co.northwind-example.com › collections › mens › products › heavyweight organic cotton crew tee

Heavyweight Organic Cotton Crew Tee in Black – Northwind Supply Co.

Heavyweight Organic Cotton Crew Tee Style: NW-CT-001 Color: Black Material: 100% organic cotton Fit: relaxed Care: machine wash cold Made in Portugal

Product title plus the shop name suffix, then the product copy with its tags stripped. 67 characters of title, so the brand is cut on desktop.
After: hand-written
Northwind Supply Co.northwind-example.com › products › heavyweight organic cotton crew tee

Heavyweight Organic Cotton Tee, 220gsm | Northwind

A 220gsm organic cotton tee that holds its shape after 50 washes. Relaxed fit, sizes XS to 3XL, made in Portugal. Free US shipping over $60.

The promise first, the brand last and short. Description states weight, sizes, origin and shipping, the details a buyer searches for.
Illustrative store. Google decides the final title link and snippet; the fields only set the strongest candidate.

The mock above is one product page twice. The fallback title runs 67 characters with the suffix, so the brand is cut on desktop. The hand-written title runs 50, promise first (220gsm, organic), brand last, and the description states weight, sizes, origin and shipping.

Step 5: Fix the pattern in theme.liquid for everything else

The remaining pages keep blank fields, so their titles come from the theme block. Change the block and you change all of them at once. Three edits are safe and worth making:

  • Shorten the suffix. Replace {{ shop.name }} with a short brand string if your shop name is long. A 25-character suffix on every page is the most common cause of store-wide truncation.
  • Keep the page number. If your theme dropped the current_page line, restore it. It is the difference between page 2 being a duplicate and being a distinct page.
  • Remove app leftovers. If an uninstalled app left a snippet that prints a second title or description, delete it. Two description tags on one page is a guess for Google.

Test on a duplicated theme first and re-check with the meta tag checker before publishing. One line, store-wide reach, in both directions.

Shopify meta description not showing: what to check

Google shows different text from what I entered. Right-click the page, View Page Source, and find the title and description tags. If they match what you typed, the difference is Google's choice. Shopify's help centre gives exactly that test and points you to the URL Inspection tool to request a recrawl.

The listing says "Opening soon" or shows the password page. Google indexed the store before launch. In a September 2025 r/shopify thread with this exact problem, the reply was: "Yes it can take a minute. By 'a minute' I mean potentially a few days." Request indexing and wait.

There is no description tag in the source at all. The field is blank and so is the fallback: a homepage with a blank Preferences description, or a collection with no body text, ships without one. Fill the field.

  • Changed last week, still old in Google: Shopify's help centre says recrawls take "several days to a few weeks". Use URL Inspection to nudge it.

Shopify meta description and title tag FAQs

Where things are set

How do I edit the meta description for a Shopify page? Open the product, collection, page or post, scroll to Search engine listing, click Edit website SEO, and fill the Page title (up to 70 characters) and Description (up to 320). The homepage's fields are under Online Store > Preferences.

What does Shopify use when the SEO title is blank? The object's own title, then Dawn appends a tag filter, a page number after page one, and the shop name unless the title already contains it. A blank SEO description on a product falls back to the product Description with the HTML stripped.

Limits and rewrites

How long should a Shopify title tag and meta description be? Shopify caps them at 70 and 320 characters and recommends 60 and 160. Google publishes no limit and truncates to the device width, about 600 pixels for a desktop title line. Measure in pixels, suffix included.

Troubleshooting

Why is my Shopify meta description not showing? The field and the fallback are both blank, Google hasn't recrawled yet, Google preferred page text, or it indexed the password page. Check View Page Source first; if the tag is there, the rest is time or Google's choice.

Which pages do I fix first? Homepage, top 20 collections, top 20% of products by Search Console clicks, then one theme edit for the remaining 80%. This is the ecommerce half of the split in SaaS SEO vs ecommerce SEO: on a store, you fix templates, not pages.

Sources

Frequently asked questions

How do I edit the meta description for a Shopify page?

Open the product, collection, page or blog post in your Shopify admin, scroll to the Search engine listing preview section and click Edit website SEO. Enter the page title (up to 70 characters) and the description (up to 320 characters), then save. The homepage is the exception: its fields live under Online Store > Preferences.

Where is the Shopify homepage title tag set?

Under Online Store > Preferences, in the Social sharing image and SEO section. Enter a homepage title and meta description there and save. If the title is left blank, the theme falls back to the shop name on its own, and if the description is blank, Dawn emits no meta description tag for the homepage at all.

What does Shopify use as the title tag when the SEO title is blank?

The object's own title: the product Title, the collection title, or the page or post title. Shopify's product CSV reference states this for products, and Dawn's theme.liquid then appends a tag filter, a page number after page one, and the shop name unless the title already contains it.

What does Shopify use as the meta description when the field is blank?

For products, the product Description with its HTML stripped; Shopify's CSV reference says so directly. Dawn only prints the meta description tag when page_description has a value, so a homepage, collection or page with a blank field and no body text ships with no description tag at all.

Why does my Shopify store have hundreds of duplicate title tags?

Because the platform creates several URLs around every product and the theme titles them identically. Collection-path URLs (/collections/x/products/y) and variant URLs (?variant=ID) repeat the product's title, tag-filtered and paginated collection pages multiply it, and SEO apps that template every title produce what Google calls boilerplate. Shopify canonicalises the first two, but crawlers still report them.

How long should a Shopify title tag and meta description be?

Shopify's admin caps the title at 70 characters and the description at 320, and recommends 60 and 160. Google publishes no limit for either and truncates to fit the device, which in practice is about 600 pixels on one desktop title line and roughly two lines of snippet. Measure in pixels with a SERP preview, brand suffix included.

How do I bulk edit meta descriptions in Shopify?

Export products as a CSV, fill the SEO title and SEO description columns, and import the file back with overwrite enabled. Keep the URL handle, Title, Option1 name and Option1 value columns intact, because Shopify's CSV reference warns that a file missing the option columns deletes existing variants. The bulk editor and SEO apps are the alternatives.

Why is Google showing a different title than the one I set in Shopify?

Google generates title links from several sources, including the title element, the visible H1, og:title and anchor text, and rewrites titles it judges half-empty, boilerplate, inaccurate or keyword-stuffed. Shopify's help centre says the same: check View Page Source, and if the tags match what you entered, the difference is Google's choice.

Why is my Shopify meta description not showing on Google?

Four common causes: the field and the fallback are both blank, so the theme prints no tag; Google has not recrawled yet, which can take days to weeks; Google chose page text over your description, which its snippet documentation says it does when page content fits the query better; or Google indexed the password page before launch.

Which Shopify pages should I fix first?

The ones Google already clicks. Google's snippet guidance says to prioritise the home page and popular pages when you cannot write every description. In practice that is the homepage, the top 20 collections and the top 20% of products by Search Console clicks, then a one-time fix to the theme pattern for the remaining 80%.

Aditi Chaturvedi
About the Author

Aditi Chaturvedi

15+ years of growing SaaS websites through SEO | Author, 200-Point Audit Checklist

Aditi has spent 15+ years helping SaaS companies scale organic traffic through technical SEO and content strategy. She is the author of the CrawlRaven 200-Point Audit checklist used by agencies and in-house teams to systematically improve search performance.

shopify meta descriptionshopify title tagshopify seo titleshopify search engine listingshopify meta description not showingshopify bulk edit meta descriptionshopify homepage title tagshopify seotitle tagmeta description

Reader runs or manages a Shopify store, has a crawl report full of duplicate and truncated titles, and wants to know which of the hundreds of rows to fix first.

Every duplicate title on your store, ranked by the clicks it already gets

Ecommerce mode reads the Shopify patterns for you

CrawlRaven joins Search Console, GA4 and a 200-point crawl into one ranked plan. On a Shopify store it lists every duplicate and truncated title with the clicks each page earns, so you hand-write the twenty that matter and template the rest. Free plan for 1 site, no credit card required.

CrawlRaven connects Google Search Console and GA4, runs 200+ technical SEO checks, and joins all three into one prioritized fix list, so you know what is broken, what it is costing you, and what to fix first.

✓ No credit card required·200+ checks·GSC + GA4 + full-site crawl
Free plan — no credit card

Stop exporting. Start shipping.

Connect Search Console, import your Ahrefs or Semrush lists, and get one ranked plan. Start free with one site, or grab a limited lifetime deal from $39, only 5 licenses left.

3
Data sources joined
200+
Point audit checks
1
Ranked plan out