nosnippet, max-snippet and data-nosnippet: control what Google quotes
·8 min read
Google's snippet controls set how much of a page it may quote. The nosnippet rule removes the text snippet and video preview everywhere Google shows the page, including Discover, AI Overviews and AI Mode, while max-snippet caps the quote at a number of characters. The data-nosnippet attribute hides one passage, and max-image-preview and max-video-preview limit thumbnails and video clips. Set the page-level rules in a robots meta tag or an X-Robots-Tag header, keep the page crawlable, and expect Google to apply the most restrictive rule it finds.
Most sites need one of these on every page, and it's the one people forget. max-image-preview:large is what lets Google show a big image for your page in Discover. The others fix narrow problems, like a licensed paragraph or a price that changes hourly, so put them on the page or passage that has the problem and nowhere else.
Snippet controls at a glance
Each directive limits a different part of the result. Google's robots meta tag documentation names AI Overviews and AI Mode only for nosnippet and max-snippet, and its AI features guide adds data-nosnippet to the list of controls.
| Directive | Regular results | Featured snippets | Discover | AI Overviews and AI Mode |
|---|---|---|---|---|
nosnippet |
No text snippet or video preview, a static thumbnail may remain | Blocked | No text snippet | Content not used as a direct input |
max-snippet:120 |
Text capped at 120 characters | Less likely, never guaranteed | Text capped | Less content used as a direct input |
max-snippet:0 |
Same as nosnippet |
Blocked | Same as nosnippet |
Same as nosnippet |
max-snippet:-1 |
Google picks the length | Eligible | Google picks the length | No cap |
data-nosnippet |
Marked text left out | Marked text left out | Google doesn't say | Listed as a control for AI features |
max-image-preview |
Caps thumbnail size | Google doesn't say | large allows big cards |
Not named |
max-video-preview |
Caps preview length in seconds | Google doesn't say | Applies | Not named |
If what you want is out of AI Overviews and AI Mode with your regular snippets intact, none of these is the tool. Search Console's Search generative AI setting does that per property, and how to turn off AI Overviews walks through it.
What nosnippet does and what it costs
nosnippet tells Google to show no text snippet and no video preview for the page in any kind of result. Google's robots meta tag documentation lists web search, Google Images, Discover, AI Overviews and AI Mode, and says the rule will also "prevent the content from being used as a direct input" for AI Overviews and AI Mode. A static thumbnail may still appear when Google thinks it helps.
<meta name="robots" content="nosnippet">X-Robots-Tag: nosnippetUse the header for files without an HTML head, such as PDFs. It is the only place a PDF can carry the rule.
The cost is the text under your title. The page keeps its ranking eligibility but shows up as a title and URL with nothing to persuade the searcher, and it can't win a featured snippet. Reserve nosnippet for pages where any excerpt does harm, such as an article whose syndication contract forbids quotes. When only part of the page is the problem, data-nosnippet on that part costs far less.
max-snippet: cap the length instead of removing it
max-snippet:[number] sets the most characters Google may use as a text snippet. Two values are special. max-snippet:0 is the same as nosnippet. max-snippet:-1 lets Google choose the length, which is also what it does when the rule is missing.
<meta name="robots" content="max-snippet:120">X-Robots-Tag: max-snippet:120The cap applies to web search, Images, Discover, AI Overviews and AI Mode, and Google says it also limits how much of the content those two AI features may use as a direct input. It doesn't touch image or video previews. Google ignores the rule when the value isn't a number, so max-snippet:none does nothing.
A low cap is also the documented way to discourage featured snippets while keeping a normal snippet. Google's featured snippets guide says the shorter the cap, the less likely the page appears as one, publishes no minimum length and promises nothing. If you need a guarantee, it tells you to use nosnippet.
Two exceptions catch people out. The cap doesn't apply where you have granted Google content another way, through in-page structured data or a license agreement. And robots meta limits don't affect structured data used for rich results, apart from article.description and the description values of other creative works. Your recipe can still appear in the recipe carousel with max-snippet:50 on the page.
data-nosnippet: hide one passage
data-nosnippet keeps the marked text out of snippets and leaves the rest of the page quotable. Google honors it on span, div and section elements only. It is a boolean attribute, so Google ignores any value you give it, and data-nosnippet="false" still hides the text.
<p>The Model 4 ships in two sizes.
<span data-nosnippet>Today's price is $1,249, updated hourly.</span>
</p>
<section data-nosnippet>
<h2>Reader comments</h2>
<p>...</p>
</section>On a p, li, td or custom element, the attribute does nothing. Wrap the passage in one of the three supported tags instead.
The HTML has to be valid with every tag closed. Google's own example shows an unclosed div data-nosnippet hiding all the content after it, so one template bug can blank out a whole page's snippets.
JavaScript adds a second trap. Google renders most pages but doesn't guarantee it, so it may read data-nosnippet before or after rendering. Don't add or remove the attribute on existing elements with a script. Include it when the element is first inserted into the DOM. Our post on JavaScript SEO explains why rendered and raw HTML can disagree.
If a page has both nosnippet and data-nosnippet, nosnippet wins and Google shows no snippet at all. Structured data inside a data-nosnippet element stays usable for search results.
max-image-preview and max-video-preview
max-image-preview sets the largest image preview Google may show for the page, and max-video-preview sets the longest video preview in seconds. Both apply to web search, Google Images and Discover.
max-image-preview takes three values. none means no image preview, standard allows a default-size one, and large allows one up to the width of the viewport. Without the rule, Google may show a default-size preview.
large matters most in Discover. Google's Discover guide recommends images at least 1200 px wide and says large images are enabled by max-image-preview:large or by AMP. WordPress has added max-image-preview:large to every page of a public site since version 5.7, through its wp_robots filter, so check that your SEO plugin hasn't replaced it.
max-video-preview:0 allows at most a static image, sized by your max-image-preview setting. max-video-preview:-1 sets no limit. Like max-snippet, Google ignores it without a number.
<meta name="robots" content="max-image-preview:large, max-video-preview:-1">X-Robots-Tag: max-image-preview:largenone and standard cost you visual space in Discover and image results. Use them for photos you license for your own site only. If you want small thumbnails for an AMP article, set standard or none, because Google otherwise treats AMP as permission for large images.
How Google combines robots directives
When rules conflict, Google applies the more restrictive one. A page with max-snippet:50 and nosnippet gets nosnippet. Rules can sit in one comma-separated tag, several meta tags or several headers, and Google adds up the restrictions from all of them.
That means a crawler-specific tag can add a limit but never lift one. In this pair, Googlebot still sees nosnippet.
<meta name="robots" content="nosnippet">
<meta name="googlebot" content="max-snippet:-1">Google reads two crawler names in the robots meta tag, googlebot for all text results and googlebot-news for news results, and ignores other values. To limit Google alone, use the googlebot name. Google-Extended isn't one of the names. It works only in robots.txt, as our Google-Extended guide explains.
<meta name="googlebot" content="nosnippet">In a header, put the crawler name before the rules. Rules without a name apply to every crawler, and the header name, crawler name and values are all case-insensitive.
X-Robots-Tag: googlebot: nosnippet
X-Robots-Tag: max-image-preview:largeNone of this works on a page Google can't fetch. Meta tags and headers are read during crawling, so if robots.txt disallows the URL, Google never sees them. It's the same trap that catches noindex, covered in noindex vs robots.txt. After any change, wait for a recrawl, and use Search Console's URL Inspection to see the HTML Googlebot actually received.
Snippet controls in Bing
Bing supports the same page-level directives, in a robots meta tag or an X-Robots-Tag header. Its April 2020 announcement added max-snippet, max-image-preview and max-video-preview with the same values as Google, kept nosnippet, and said Bing treats them as directives, not hints.
Bing added data-nosnippet on October 15, 2025. Bing says marked text stays indexed and available for ranking but is left out of its snippets and AI-generated answers, including Copilot. Bing allows the attribute on any element. Stick to span, div and section so one tag works for both engines.
Bing also uses two rules Google now ignores. Per its September 2023 post, noarchive keeps a page out of Bing Chat answers, now Copilot, and nocache limits those answers to the URL, title and snippet. Neither one removes the page from Bing's search results. Address Bing alone with <meta name="bingbot">.
Check the robots directives on any page
Our Indexing & Canonical Checker fetches a URL and reads every robots meta tag, crawler-specific tags such as googlebot and bingbot, and the X-Robots-Tag header, including values scoped to one crawler. It combines them the way Google does, keeping the lowest max-snippet and the smallest image preview. For Google and Bing separately, it reports whether the page is indexable, whether its snippet is allowed, capped at a number of characters or blocked, and the image preview size. A table lists each directive, where it came from and which crawler it applies to.
It flags nosnippet and max-snippet:0, a max-snippet under 160 characters, a missing max-image-preview:large, data-nosnippet that hides over half the main text or sits on tags Google ignores, values such as noai that no major engine documents, and Bing's noarchive and nocache. The same run checks the status code, whether robots.txt lets Googlebot fetch the page, and the canonical. It costs 8 credits. It reads the HTML as served without running JavaScript, so a tag a script adds won't appear.