Meta descriptions and snippet controls
How a meta description becomes the text under a search result, how long to make it, and what nosnippet and max-image-preview change.
A meta description is a short summary of a page, in a <meta> tag in its head. Visitors don’t see it on the page. Google sometimes shows it as the snippet, the text under the title in a search result, and apps that build link previews often use it when a page has no og:description.
Robots rules can also limit what results show: whether there’s a text snippet at all, how long it can be, and how large an image preview may be.
What SignalDNS checks
We read the first <meta name="description"> in the head of the HTML the server sends to Android Chrome, before any JavaScript runs, up to the first 2 MiB.
For the limits, we read the robots rules Google follows: the robots and googlebot meta tags, and the X-Robots-Tag header, unprefixed or prefixed with googlebot:. Rules for other crawlers, such as bingbot, don’t count here.
There are three checks: whether there’s a description, whether the page limits its snippet, and whether it allows image previews. The audit’s search preview shows the description as results would draw it, and you can edit it there; nothing you type is sent anywhere.
What a meta description looks like
<head>
<title>How to make a sourdough starter | Example Bakery</title>
<meta name="description" content="Make a sourdough starter from flour and water in about a week, then keep it alive. Each step, with photos of what to look for at each stage.">
</head>
- It’s 140 characters: one or two sentences about this page, not the whole site.
- It uses the same words as the title, so the topic is clear. See when the title and description agree.
- Google’s guide asks for a unique description on every page, and suggests including details such as the author and date for an article, or the price for a product. A list of keywords is less likely to be shown.
There’s no meta description
The page has no <meta name="description">, or one with nothing in it. SignalDNS marks this as needing attention.
Google’s snippet guide says snippets are created mainly from the page’s content, and that Google sometimes uses the meta description instead when it describes the page more accurately. It may show different snippets for different searches. Without a description, Google writes the snippet from the page’s text, and link previews lose their usual fallback when there’s no og:description (see the preview description).
It doesn’t affect ranking. Google’s 2009 post on meta tags says it sometimes uses the description for snippets, but not in ranking.
When there is a description, we report its length without judging it. Results usually show about 160 characters, so over 160 we note that the end may be cut. Google says there’s no limit on how long a description can be, and truncates the snippet as needed, typically to fit the device width. Either way, Google decides whether to use it.
How to fix it: add one description per page, inside <head>. One or two sentences, about 150 characters, saying what someone will find on the page:
<meta name="description" content="Make a sourdough starter from flour and water in about a week, then keep it alive.">
Site builders have a field for it, usually in the page’s SEO settings; see the guides below. Put it in the HTML the server sends, not in a script.
The page limits its snippet
Three robots rules change the text under the title:
nosnippetasks Google to show no text snippet or video preview for the page, in any of its results: web search, Images, Discover, AI Overviews, and AI Mode. It also keeps the content from being used as direct input for AI Overviews and AI Mode. A static image thumbnail may still show.max-snippet:[number]caps the text snippet at that many characters, in the same kinds of results, and limits how much of the content AI Overviews and AI Mode may use. It doesn’t affect image or video previews.max-snippet:0is the same asnosnippet, andmax-snippet:-1means no limit.data-nosnippetis an HTML attribute, not a robots rule. On aspan,div, orsection, it keeps that text out of snippets while the rest of the page can still be used. Any value counts, even"false", and the element must be closed properly.
When rules conflict, Google applies the more restrictive one, so nosnippet wins over max-snippet:50.
SignalDNS marks nosnippet or max-snippet:0 as needing attention, since results then show the title with no description, and names where the rule was set. A max-snippet from 1 to 159 needs attention too, since it cuts the text short of the roughly 160 characters results can show. max-snippet:-1, a value of 160 or more, or no rule is OK. We don’t look for data-nosnippet.
How to fix it: remove nosnippet if you want a description in results, or allow any length:
<meta name="robots" content="max-snippet:-1">
If you only want to hide part of the page, such as a legal notice, use data-nosnippet on that part instead:
<div data-nosnippet>Offer valid in Springfield only.</div>
If the rule is in the X-Robots-Tag header, change it where the server sets it. In nginx and Apache:
# nginx
add_header X-Robots-Tag "max-snippet:-1";
# Apache
Header set X-Robots-Tag "max-snippet:-1"
These rules often sit next to noindex; see noindex.
The page hides image previews
max-image-preview sets the largest image preview Google may show for the page:
none: no image preview.standard: a default-size preview. This is also what Google may show when the rule isn’t set.large: a larger preview, up to the width of the viewport.
It applies to web search, Google Images, Discover, and Assistant. Google’s Discover guide recommends large images, at least 1200 px wide, enabled by max-image-preview:large.
SignalDNS marks max-image-preview:none as needing attention. large is OK. standard, or no rule, is noted but not counted, since it’s Google’s default.
How to fix it: remove max-image-preview:none, or allow large previews:
<meta name="robots" content="max-image-preview:large">
WordPress has added max-image-preview:large by default since version 5.7, unless the site is set to discourage search engines.
Setting it up in your CMS or framework
- Shopify: adding keywords for SEO, for the meta description of products, collections, pages, and blog posts; the home page’s is under online store preferences
- Squarespace: adding SEO descriptions
- Wix: adding SEO title tags and meta descriptions
- Webflow University: title tags and meta descriptions
- Next.js:
generateMetadata, withdescription, androbots.googleBotformax-snippetandmax-image-preview - WordPress: the robots API and
max-image-preview - nginx:
add_headerand Apache:mod_headers, for theX-Robots-Tagheader
What we can’t tell from outside
We can’t see whether Google uses your description or writes its own, which can change with each search. We read one page, so we can’t tell whether its description repeats other pages’. We don’t judge whether it’s well written. A description or robots rule added by JavaScript isn’t seen, and we don’t look for data-nosnippet. Other search engines may treat these rules differently.
Sources
- Google: Control your snippets in search results
- Google: Robots meta tag, data-nosnippet, and X-Robots-Tag specifications
- Google: Meta tags and attributes that Google supports
- Google Search Central Blog: Google does not use the keywords meta tag in web ranking (2009), on descriptions and ranking
- Google: Get on Discover, on large images
- MDN: the meta name attribute
Last reviewed .