Meta Description: Why Google Rewrites It and How to Fix It
You write a careful meta description, search for your page, and Google shows something else: a sentence from the middle of your article, half a list, or text from your footer.
You are not alone. In a 2020 study of 20,000 keywords, Ahrefs found Google showed a different snippet from the page's meta description about 63% of the time. Other studies put it closer to 70%. A meta description is a suggestion, and Google treats it like one.
That does not make it pointless. When Google does use your description, it is the main thing a searcher reads before deciding to click. This guide covers how long a meta description should be, why Google rewrites it, when a rewrite is actually fine, and how to write one it is more likely to keep.
It is the second part of my SEO checklist series. When I audited a new 22 page blog before launch, the descriptions were the second problem on the list after the page titles: many were far too short, like a login page described as "Log in to your account." in 23 characters. The full audit is in the SEO audit checklist.
The short answers
- What is a meta description? A short summary of the page in your HTML. Google may show it under your title in search results.
- How long should it be? About 120 to 160 characters. Put the most important part in the first 120, because phones show less.
- Does it affect ranking? Not directly. It affects whether people click.
- Why does Google change it? Usually because another part of your page answers the exact search better. Also when the description is missing, duplicated, stuffed with keywords or does not match the page.
- Can I stop it? No. You can make a rewrite less likely, and you can limit snippets, but you cannot force Google to use your text.
What a meta description is
It is one line in the <head> of your page:
<meta name="description" content="How long a meta description should be, why Google rewrites it, and how to write one it keeps. With examples and a free checker script.">
Visitors never see it on the page itself. It appears in three places:
- Search results, as the snippet under your title, when Google decides to use it.
- Link previews, in some apps and chat tools, when the page has no
og:description. - Tools that summarise pages, which often read it as the page's own short description of itself.
Does a meta description affect SEO?
Not as a ranking factor. Google has said for years that it does not use the meta description to decide where a page ranks. Changing it will not move you from position 8 to position 3.
What it does affect is the click. The snippet is your one chance to tell a searcher why your page is the right one, and Google puts words that match the search in bold, which draws the eye. More clicks from the same position is the whole point.
The meta keywords tag is a different thing. Google ignores it completely.
How long should a meta description be?
Google does not set a limit. Its documentation says a description can be any length, and the snippet is cut off as needed, usually to fit the device width.
Like titles, the cut is by width, not by characters. Tools estimate the space at about 920 pixels on desktop and about 680 pixels on mobile. In practice:
| Length | What usually happens |
|---|---|
| Under 70 characters | Shown, but says little, and is more likely to be replaced |
| 70 to 120 | Fine for simple pages; fits on most phones |
| 120 to 160 | Uses the space well on desktop |
| Over 160 | Often ends in ..., especially on mobile |
Two rules follow:
- Say the important thing in the first 120 characters. Mobile shows less, and most searches happen on phones.
- Do not pad to reach 160. A clear 110 character description beats a padded 158 character one.
Sometimes Google shows longer snippets, up to two or three lines, when it builds them from page text. You cannot rely on that space for your own description.
Why Google rewrites your meta description
Google's documentation says it builds snippets mainly from the content of the page, and uses the meta description when it describes the page better than the other text does. So the question Google asks is not "did the author write a description?" but "is it the best summary for this search?"
1. The search asks something your description does not answer
This is the main reason, and it is often not a problem. Your page about meta descriptions might rank for "meta description length", "meta description examples" and "does meta description affect SEO". One description cannot answer all three, so Google picks the paragraph that answers each one.
A long, detailed page that ranks for many different searches will be rewritten more often. That is a sign the page is useful, not a mistake.
2. Something is wrong with the description itself
These are the cases worth fixing:
| Problem | Example | Fix |
|---|---|---|
| Missing or empty | No tag at all | Write one for every page that matters |
| Too short or vague | Welcome to our website! |
Say what the page actually offers |
| Duplicated | The same text on every product page | Make each one specific to its page |
| Keyword stuffing | Buy shoes online. Best shoes. Cheap shoes. |
Write one natural sentence |
| Sales pitch | Best prices! Click here now! |
Describe, don't shout |
| Does not match the page | The description promises a free trial; the page has none | Describe what is really there |
3. Something is wrong technically
Google may not be able to read the description you think you wrote:
- Two description tags. A theme and an SEO plugin can each add one. Keep exactly one.
- A broken quote. A double quote inside
content="..."ends the attribute early, so everything after it is lost. Use single quotes in the text, or write". - Set by JavaScript. If the description only appears after a script runs, put it in the HTML the server sends instead.
- An old version. If you changed it recently, Google may not have crawled the page since. See the section on updates below.
When a rewrite is fine, and when it is not
Do not try to stop every rewrite. Check whether it costs you clicks.
In Google Search Console, open Performance, turn on CTR and Average position, and look at the Pages tab. Then search for the queries that bring each page its traffic:
- If Google's snippet answers the search well and the click-through rate is reasonable for the position, leave it.
- If the snippet is a cut-off sentence, a menu, a cookie notice or a list of links, fix the page text and the description.
- If the page has a high number of impressions and a low CTR, rewrite the description, wait a few weeks, and compare.
How to write a meta description Google will keep
A simple pattern works for most pages:
What the page is + what the reader gets + one specific detail
The specific detail is what makes people click: a number, a price, a time, a place, a size range, a "no signup". Google's own guidance suggests the same thing: include facts a searcher wants to know, not general praise.
Here are before and after examples for different kinds of page. The numbers are character counts:
| Page | Before | After |
|---|---|---|
| Blog post | Learn about sourdough. (22) | How to bake sourdough at home: feed the starter, mix, proof overnight and bake. Timings for a home oven and fixes for a flat loaf. (130) |
| Product | Buy shoes online. Best shoes. Cheap shoes. Shoes for men, women and kids. (73) | Lightweight road running shoes for men with a cushioned sole and breathable mesh. Sizes 6 to 12, free returns within 30 days. (125) |
| Local business | Welcome to our website! (23) | Family and emergency dentist in Pune, open 9 am to 8 pm, Monday to Saturday. Same-day appointments for tooth pain. Call or book online. (135) |
| Online tool | Tool (4) | Free word counter: paste your text to count words, characters, sentences and reading time. No signup, works in your browser. (124) |
| Category page | Shoes (5) | Shop women's shoes: sneakers, sandals, heels and boots in sizes 3 to 9. New arrivals weekly and free delivery over Rs 999. (122) |
| Login page | Log in to your account. (23) | Log in to Blog Wish to save articles, follow topics and get a weekly email of the stories you missed. (101) |
Then check it against this list:
- Unique. No two pages share a description.
- Accurate. Everything it promises is on the page.
- Specific. At least one concrete detail.
- Natural. Reads like a sentence a person wrote, with the main topic in it once.
- Active. Starts with or uses a verb that says what the reader can do: learn, compare, buy, book, download.
- Front-loaded. The key point is in the first 120 characters.
- Free of double quotes, or with them escaped.
Preview it before you publish. A SERP preview tool shows your title and description at real Google widths, so you can see where each one gets cut on desktop and on a phone.
Sites with hundreds of pages
Writing every description by hand does not scale for a shop or a large blog. Google's guidance allows generating descriptions from page data, as long as each one is specific to its page. Build them from real fields, not a template with one word changed:
// A product description built from the product's own data, kept near 120 to 160 characters
const describeProduct = (p) => {
const parts = [
`${p.name}: ${p.summary}`,
`Sizes ${p.sizes[0]} to ${p.sizes.at(-1)}`,
p.freeReturns ? 'free returns within 30 days' : null,
].filter(Boolean)
let text = ''
for (const part of parts) {
const next = text ? `${text}. ${part}` : part
if (text && next.length > 160) break
text = next
}
return text.endsWith('.') ? text : `${text}.`
}
If you cannot write good descriptions for every page, write them for the pages that matter most first: the home page, top categories and the pages with the most impressions in Search Console. A missing description is better than one copied onto a thousand pages.
How to set the meta description
Plain HTML
<head>
<title>Free Word Counter - Count Words and Characters Online</title>
<meta name="description" content="Free word counter: paste your text to count words, characters, sentences and reading time. No signup, works in your browser.">
</head>
WordPress
In Yoast SEO or Rank Math, edit the post and fill in the "Meta description" field in the plugin's panel. Both have a default pattern for posts that do not set one; make sure it is not the same sentence on every page.
Shopify
Open the product, collection or page, scroll to the search engine listing section, edit it, and fill in the description. Without one, Shopify builds it from the start of the product description, which is often a list of features or shipping notes.
Next.js (App Router)
Set description in the metadata object, or return it from generateMetadata for dynamic pages:
// app/blog/[slug]/page.js
export const generateMetadata = async ({ params }) => {
const { slug } = await params
const article = await getArticle(slug)
return {
title: article.title,
description: article.excerpt,
openGraph: { description: article.excerpt },
}
}
Unlike the title, the description has no template, so every page that does not set one inherits the root layout's description. That is how one sentence ends up on every page of a site. Set it per page, and give the layout a description only for pages you are happy to share it.
Controlling snippets
You cannot make Google use your description, but you can limit what it shows:
| Control | What it does |
|---|---|
<meta name="robots" content="max-snippet:160"> |
Limits the text snippet to 160 characters |
data-nosnippet on an element |
Keeps that part of the page out of snippets, such as a cookie notice or a sidebar |
<meta name="robots" content="nosnippet"> |
Shows no text snippet at all |
Use these carefully. nosnippet usually hurts clicks, because a result with no description looks empty. data-nosnippet on boilerplate text is the most useful of the three: it stops Google from quoting your footer.
Check every meta description on your site
This script works on any site with a sitemap. It needs Node.js 18 or later, fetches pages one at a time, and lists descriptions that are missing, short, long, duplicated or present twice on a page:
// check-descriptions.mjs
// Usage: node check-descriptions.mjs https://example.com
const site = process.argv[2]
const sitemap = await (await fetch(`${site}/sitemap.xml`)).text()
const urls = [...sitemap.matchAll(/<loc>(.*?)<\/loc>/g)].map((m) => m[1])
const decode = (text) =>
text
.replace(/&/g, '&')
.replace(/"/g, '"')
.replace(/'|'/g, "'")
.replace(/</g, '<')
.replace(/>/g, '>')
const tagPattern = /<meta[^>]+name=["']description["'][^>]*>/gi
const contentOf = (tag) => tag.match(/content=(["'])([\s\S]*?)\1/i)?.[2] ?? ''
const seen = new Map()
for (const url of urls) {
const html = await (await fetch(url)).text()
const tags = html.match(tagPattern) ?? []
const description = tags[0] ? decode(contentOf(tags[0]).trim()) : ''
const length = description.length
const problems = []
if (!description) problems.push('missing')
else if (length < 70) problems.push('short')
else if (length > 160) problems.push('long')
if (tags.length > 1) problems.push(`${tags.length} description tags`)
if (description && seen.has(description)) problems.push(`same as ${seen.get(description)}`)
seen.set(description, url)
if (problems.length) console.log(`${length}\t${problems.join(', ')}\t${url}`)
}
It is the same approach as the title checker in part 1, so you can run both and fix titles and descriptions together.
How long until Google shows the new description?
Google has to crawl the page again first. Busy pages are crawled often; quiet pages can wait days or weeks. To speed it up, confirm the new description is in the page source, clear any cache, then use URL Inspection in Search Console and click Request indexing. Even then, Google may still choose page text for some searches, for the reasons above.
Questions people ask
What happens if a meta description is over 155 characters?
Nothing breaks. Google cuts it with ... where it runs out of space, which on a phone is often well before 155. Make sure the first 120 characters make sense on their own.
Do meta descriptions still matter? Yes, for clicks. They are not a ranking factor, and Google rewrites many of them, but the pages where Google uses yours are often your most important ones: the home page, product pages and short pages that match a search closely.
What does a good meta description look like? One or two plain sentences that say what the page is, what the reader gets and one specific detail, in about 120 to 160 characters. See the examples above.
Where does the meta description go?
In the <head> of the page, as <meta name="description" content="...">. Most site builders and SEO plugins have a field for it.
Should I put keywords in the meta description? Include the main topic once, naturally. Words that match the search appear in bold. Repeating keywords does not help ranking and makes a rewrite more likely.
Is it better to leave the meta description empty? For a few unimportant pages, an empty description is better than a copied one. For pages that matter, write one.
What is the difference between a meta description and a snippet? The meta description is what you write. The snippet is what Google shows. Sometimes they are the same; often the snippet comes from your page text instead.
Does Google use the meta keywords tag? No. Google ignores it.
Next in the checklist
This is part 2 of the SEO checklist. Part 1 covers page titles, and the full list is in the SEO audit checklist. Next comes canonical tags, the one setting that can quietly tell Google your whole site is a single page.
If you are rewriting descriptions across a site, keep the before and after list somewhere you can tick off as you go. txtnode opens a notepad at any URL you type, without an account, and Files keeps notes in folders when you sign in.


