
What "multiple meta descriptions" means
This check fires when a single page's <head> contains more than one <meta name="description"> tag. The stakes: you've handed a search engine two or more competing pitches for the same page, and you don't get to pick which one it keeps — it may take the first, the last, concatenate them, or ignore all of them and write its own.
A page is allowed exactly one description. Two is a bug, not a feature, and it usually means two systems are both trying to own the tag without knowing about each other.
A real example: two tags, one head
Here's the mess an audit flags — the theme prints one description and an SEO plugin prints another:
<head>
<title>Cast Iron Skillets | Acme Kitchen</title>
<!-- printed by the theme header.php -->
<meta name="description" content="Welcome to Acme Kitchen,
your home for quality cookware since 2004.">
...
<!-- printed by the SEO plugin -->
<meta name="description" content="Shop pre-seasoned cast iron
skillets built to last generations. Free shipping over $50.">
</head>The corrected head has exactly one, and it's the one you actually want to rank with:
<head>
<title>Cast Iron Skillets | Acme Kitchen</title>
<meta name="description" content="Shop pre-seasoned cast iron
skillets built to last generations. Free shipping over $50.">
</head>Where the duplicate comes from
| Source of the duplicate | How it sneaks in | Fix |
|---|---|---|
| Theme + SEO plugin | The theme's header.php hard-codes a description and the plugin adds its own | Remove the theme's hard-coded tag; let the plugin be the sole author |
| Two SEO plugins | Yoast and another SEO plugin both active, each emitting meta | Deactivate one; never run two meta-writing SEO plugins together |
| Hard-coded in a static template | A base layout includes a default description and the page adds a specific one | Delete the layout default; set description per page only |
| Injected by a tag manager | A GTM custom HTML tag writes a description on top of the server one | Remove the GTM meta injection; meta belongs in the page, not the tag manager |
| CMS field + component both output | A headless CMS field and a hard-coded component both render the tag | Pick one owner in code; strip the other |
The order-of-output problem
Duplicate descriptions almost always come down to output order in the head. WordPress builds the <head> by firing everything hooked to wp_head in priority order: the theme might print its tag at priority 1, the SEO plugin at priority 10. Both run, both write, and you end up with two. The same pattern shows up in framework layouts where a base template and a page component each render meta. The lesson: it's not that one tag is "wrong," it's that two authors exist. Removing the extra author — not editing its text — is the actual fix.
How to detect it on your own site
- curl and count:
curl -s https://yourpage/ | grep -c 'name="description"'. Anything above1is a duplicate. - Screaming Frog: crawl, open the Meta Description tab, and use the Meta Description → Multiple filter. Frog lists every URL carrying more than one.
- View source: open
view-source:and Ctrl-F forname="description"; the match counter tells you instantly how many are present. - GSC URL Inspection: View crawled page shows the HTML Google fetched; search it for a second description tag.
- Browser devtools: in the Console run
document.querySelectorAll('meta[name="description"]').length— a number above 1 confirms it in the rendered DOM.
How to fix it
- Decide which system should own the description — usually your SEO plugin or your framework's head manager.
- Find and remove every other emitter: hard-coded theme tags, layout defaults, tag-manager injections, second plugins.
- If a theme hard-codes it, edit the template (or use a child theme) to delete that line rather than leaving the plugin to fight it.
- Reload and re-run the
grep -ccount until it returns exactly1. - Re-crawl with Screaming Frog to confirm the "multiple" filter is empty.
Don't assume "Google just takes the first one" and move on. Behavior isn't guaranteed, it varies by crawler, and Bing or an AI crawler may resolve the conflict differently than Google does. One tag removes all doubt.
FAQ
Which description does Google use when there are two?
There's no reliable rule — Google may pick the first, the last, or ignore both and generate its own. Because the outcome is unpredictable and differs across search engines, the only safe answer is to ship a single tag.
Does having two descriptions cause a penalty?
No penalty, but it's a self-inflicted quality bug. You lose control of your snippet, which quietly costs click-through even without any ranking impact.
How do I know which tag is "winning" right now?
You can't count on it, which is the whole point. Rather than reverse-engineer crawler behavior, remove the duplicate so there's nothing to resolve.
My plugin and theme both add one — which do I keep?
Keep the SEO plugin's tag; it gives you per-page control and previews. Remove the theme's hard-coded description by editing the template or child theme.
Is this related to multiple title tags?
Same class of bug, different element — duplicate emitters in the head. If you've got two descriptions, check for two titles too: Multiple Title Tags.
Related: Head Contains Invalid Elements, WordPress SEO Setup Checklist, and Title Tags and Meta Descriptions: The Complete Guide.
Claude Vincent is a technical SEO consultant focused on crawlability, rendering, and AI-search visibility. He writes the field guides and case studies at SEO ProCheck, with a bias toward the durable, unglamorous work that decides whether search engines and AI answer engines can actually read and cite a site.
About SEO ProCheck
Technical SEO consulting and GEO strategy with 20 years of enterprise experience. Case studies, resources, and tools for search and AI visibility.
Work With Me
Technical SEO audits, GEO strategy, site migrations, and international SEO. Hourly consulting for teams who need hands-on support, not just reports.







