All fix guides
WarningContent

How to Fix Duplicate Meta Descriptions

Duplicate meta descriptions mean two or more of your pages ship the identical <meta name="description"> text. It's a warning-level content issue: it won't block indexing, but it wastes your best shot at winning the click in search results and signals thin templating to Google. The fix is to give each meaningful page its own description that reflects that page's specific content.

What this means

A meta description is the roughly 155-character snippet in your page's HTML head that search engines often show under the blue title link:

<meta name="description" content="Your summary of the page.">

This audit flagged duplicate meta descriptions, meaning the crawler found the same description string on two or more URLs. It usually traces to one of a few causes: a CMS or theme applies one site-wide default to every page, a template hard-codes a single description across a whole section (all products, all blog posts), pagination pages (?page=2, ?page=3) inherit page 1's description, or someone pasted the same text while filling SEO fields in bulk.

Duplicate descriptions are not the same as missing ones, and they don't stop a page from being indexed. They just mean multiple pages describe themselves identically, which is almost never accurate. A shared description across true duplicate URLs that correctly canonicalize to one page is far less of a problem than two genuinely different pages sharing the same snippet.

Why it matters

Meta descriptions are not a direct ranking factor. Their value is the click. When your snippet is unique and matches what the searcher typed, Google is more likely to display it instead of auto-generating one, and users are more likely to click. A description reused across ten pages can be relevant to one of them at most, so the other nine get a mismatched, boilerplate snippet that depresses click-through.

Duplication at scale is also a quality signal. When large parts of a site carry byte-for-byte identical descriptions, it reads as thin, templated output. Paired with duplicate titles or thin body content, it feeds the impression of a low-effort site, which is what search quality systems are built to demote.

For AI answer engines the angle shifts. ChatGPT, Perplexity, and Google's AI Overviews lean on the actual page content and structured data more than the meta description, so a duplicate description won't directly break AI visibility. But the description is one of the first signals a crawler reads about what a page is about. Unique, accurate descriptions help these systems tell near-identical pages apart (product variants, location pages, paginated archives) and pick the right one to cite. Identical descriptions blur that line and make your pages look interchangeable.

How to fix it

  1. 1

    Confirm which pages actually collide

    Identify the exact set of URLs sharing a description. Your audit report lists them; you can also re-crawl the site or use Google Search Console's Page indexing report and URL Inspection tool. Separate two cases: genuinely different pages that happen to share text, which you fix, versus duplicate URLs that correctly canonicalize to one page, which are fine because the shared snippet is expected. Fix the real collisions first.

  2. 2

    Write a unique, specific description for each page

    Aim for roughly 140 to 160 characters so it doesn't truncate in results. Lead with what's specific to that page: the product name, the exact topic, the location, the model number, not a generic brand tagline. Include the primary keyword naturally, since search engines bold matching terms in the snippet. Write for a human deciding whether to click. One clear sentence plus a reason to click beats a keyword list.

  3. 3

    Kill the site-wide default causing it

    Most mass duplication comes from a single default applied everywhere. In WordPress, check whether Yoast or Rank Math has a template that outputs the same text for a whole content type. In Shopify, a theme often hard-codes one description in the <head> for all products or collections. Replace the static default with a dynamic template that pulls page-specific fields (title, excerpt, product description) so each page renders differently, then override your important pages by hand.

  4. 4

    Handle pagination and filtered URLs correctly

    Paginated archives (/blog/page/2/) and faceted filter URLs commonly inherit page 1's description. The cleanest fixes: add the page number to the description template (Yoast's %%page%% variable renders "page 2 of 4"), point these variants at a canonical, or leave the description off paginated pages and let the engine generate one. Note that %%page%% doesn't reliably apply to homepage or shop-page pagination. Don't hand-write unique descriptions for every filter combination; canonicalize or template instead.

  5. 5

    Prioritize by traffic, then batch the rest

    You rarely need to hand-write descriptions for every URL. Fix your money pages first (homepage, top landing pages, high-intent product and service pages) with bespoke copy. For long-tail pages, a good dynamic template (unique product or post title plus a short pulled snippet) is enough to make each one distinct. Use a bulk editor (Yoast's Bulk editor, a CSV export/import, or a metafield-driven template) to clear the remainder efficiently.

  6. 6

    Re-crawl and verify uniqueness

    After editing, view the page source or use the URL Inspection tool and confirm the rendered <meta name="description"> is what you intended and differs from its former twins. Re-run the audit to confirm the duplicate count dropped. Google may still generate its own snippet for some queries, which is normal and not a failure; your job is to give it a strong, unique option to use.

Example

<!-- PROBLEM: both pages ship the same site-wide default -->
<!-- /running-shoes -->
<meta name="description" content="Acme Store — great prices on quality gear. Shop now with free shipping.">
<!-- /yoga-mats -->
<meta name="description" content="Acme Store — great prices on quality gear. Shop now with free shipping.">

<!-- FIX: each description reflects its own page -->
<!-- /running-shoes -->
<meta name="description" content="Lightweight running shoes with responsive cushioning for road and trail. Free shipping over $50 and 30-day returns.">
<!-- /yoga-mats -->
<meta name="description" content="Non-slip 6mm yoga mats in 8 colors, tested for grip and cushioning. Free shipping over $50 and 30-day returns.">

Two genuinely different pages should carry two different descriptions: the problem (identical) vs. the fix (unique and page-specific).

Platform-specific steps

WordPress (Yoast / Rank Math)

Open a page's editor and scroll to the Yoast or Rank Math SEO box to set a custom Meta description per page. For mass edits, use Yoast's Bulk editor (SEO > Tools > Bulk editor) or Rank Math's bulk editing to spot and rewrite duplicates in one grid. To stop new duplicates, go to the plugin's Content types / templates settings and replace any static default with a dynamic template using variables such as the post excerpt, and add %%page%% to the template for paginated archives.

Shopify

Edit each product, collection, page, or blog post, open Search engine listing, and click Edit to write a unique Meta description. Site-wide duplication usually comes from the theme: check theme.liquid's <head> for a hard-coded description and replace it with dynamic Liquid (for example output the product or collection description, with a sensible fallback). For scale, drive descriptions from metafields or a bulk CSV/app so each item renders its own.

Wix

Open the SEO settings for each page (Pages menu > the page's SEO panel, or the SEO Dashboard) and edit the Description field so each page differs. For dynamic collection pages, open the SEO tab of the dynamic page and build the description from field variables (for example the item title plus a short field) so every generated page produces a unique snippet instead of one shared string.

Squarespace

For a page, open Pages > page Settings > SEO and set the SEO Description. For blog posts and products, open the item's Settings > SEO tab. Squarespace can fall back to a site-wide description, a common source of duplicates, so override it per page. If you leave descriptions blank, Squarespace pulls from page content, which is fine; the fix is only needed where you've set one identical description across many items.

Raw HTML / Next.js / static sites

Make sure each page outputs its own description tag instead of a shared layout constant. In plain HTML, edit the per-page <meta name="description"> directly. In the Next.js App Router, export per-page metadata (the description field in the metadata object, or generateMetadata) driven by that route's data, and remove any single hard-coded description in the root layout that would apply everywhere.

Free tool
Check this with the Meta Tag Checker

Frequently asked

Do duplicate meta descriptions hurt my Google rankings?

Not directly. Meta descriptions aren't a ranking factor, so duplicates won't drop your position by themselves. The damage is indirect: reused descriptions produce mismatched, boilerplate snippets that lower click-through, and site-wide duplication is a thin-content quality signal. Fixing them improves clicks and overall site quality more than any single ranking position.

Will Google just ignore my meta description and write its own?

Often, yes. Google rewrites the displayed snippet for a large share of queries, especially when your description doesn't match the search intent. That's a reason to write good, unique descriptions, not a reason to skip them. A strong, page-specific description gives Google a better option to show and raises the odds it uses yours instead of an auto-generated one.

How many characters should a meta description be?

Aim for about 140 to 160 characters. Google truncates snippets by pixel width, roughly 155 to 160 characters on desktop and less on mobile, so anything longer risks being cut off mid-sentence with an ellipsis. Front-load the most important, page-specific information so the key message survives even if the tail gets trimmed.

Is it okay for paginated pages to share the same meta description?

It's a low-priority case. Pages like /blog/page/2/ sharing page 1's description won't materially hurt you. The clean options are to append the page number via a template variable (Yoast's %%page%%), canonicalize the paginated set, or omit descriptions from page 2 onward. Don't spend time hand-writing unique descriptions for every pagination or filter variant.

Should every single page have a unique meta description?

Every page that can earn search clicks should. In practice, prioritize your homepage, top landing pages, and key product or service pages with hand-written copy. For long-tail and archive pages, a dynamic template that pulls each page's title and a snippet of its content is enough to make them distinct without manual work. Uniqueness matters most where users actually see the snippet.

Does your site have this issue?

Run a free, AI-powered audit and we’ll flag this and 150+ other checks in about a minute. No signup.

No signup needed. Results in under 60 seconds.

Related fixes