max-snippet is a robots meta directive that caps the length of the text snippet Google can show for your page. The number is a character count. max-snippet:0 makes the page ineligible for AI Overviews. max-snippet:-1 allows unlimited length. Most sites should set -1 on any page they want surfaced in AI features and richer search results.
What Google says
“To limit the information shown from your pages in Search, use nosnippet, data-nosnippet, max-snippet, or noindex controls.”
Why this matters for AI Overviews
The "snippet" is the text excerpt Google shows under your title in search results. It is also what Google's AI features use to compose AI Overviews. The shorter you tell Google the snippet can be, the less of your content is eligible to be cited, and the less context the model has to work with.
A few real values you might see in the wild:
| Value | What it means | Effect on AI Overviews |
|---|---|---|
max-snippet:0 |
No snippet | Ineligible |
max-snippet:160 |
At most 160 characters | Eligible, but Google may have less to work with |
max-snippet:-1 |
Unlimited length | Eligible, maximum surface |
| (not set) | Google chooses | Eligible, Google decides length per query |
The -1 value is unusual in syntax (you do not see "negative one" mean "no limit" in many specs). It is the specific value Google's documentation says to use when you want no cap.
Many sites have max-snippet:160 set because some 2018-era SEO checklist recommended it as a "control" to match the meta description length. That advice was based on assumptions about how the snippet would look in classic results. AI Overviews changed the calculus. The model now benefits from being allowed to read and select from a longer passage.
How to fix it
Recommended default for content pages
<meta name="robots" content="max-snippet:-1, max-image-preview:large, max-video-preview:-1">
This is the combination Google's AI optimization guide recommends for pages you want fully surfaced in AI features:
max-snippet:-1- unlimited snippet textmax-image-preview:large- large image previews allowed (see the max-image-preview entry)max-video-preview:-1- unlimited video preview length (see video and AI Overviews)
When to use a smaller value
There are a few real reasons to cap snippets:
- Sensitive content that should not be lifted out of context (medical, legal). Even then, prefer
data-nosnippeton the specific paragraphs rather than capping the whole page. - News content where you have negotiated specific limits with Google (rare).
- Pages where the snippet competing for clicks with your title is a known issue. This is mostly folklore and is hard to A/B test reliably.
For 95% of pages, leave it at -1 and let Google select.
How to apply it site-wide
In most stacks, this goes in your base layout:
Laravel Blade:
<head>
@stack('robots')
<meta name="robots" content="max-snippet:-1, max-image-preview:large, max-video-preview:-1">
</head>
Next.js (App Router):
export const metadata = {
robots: {
"max-snippet": -1,
"max-image-preview": "large",
"max-video-preview": -1,
},
}
Plain HTML / static site:
<meta name="robots" content="max-snippet:-1, max-image-preview:large, max-video-preview:-1">
Then, per-page, override if you have a specific reason on a specific URL.
Common mistakes when implementing the fix
- Setting
max-snippet:0thinking it means "Google decides." It means "no snippet." This is identical tonosnippetand removes you from AI Overviews. - Setting both
max-snippet:-1andnosnippetin the same directive. The most restrictive wins, sonosnippettakes effect. Pick one. - Forgetting that X-Robots-Tag overrides meta tags. If a header says
max-snippet:50and the meta saysmax-snippet:-1, the most restrictive applies. - Setting it in
<meta name="googlebot">instead of<meta name="robots">. Both work, but only thegooglebot-targeted one applies to Google specifically. Therobotsform is the universal version.