nosnippet and max-snippet:0: pages with no search snippet
A robots directive that stops search engines showing any description under the result. squirrel reads the robots meta on every page.
What nosnippet does
nosnippet tells a search engine not to show any text snippet for the page. The result becomes a title and a URL with nothing underneath it, which gives a reader far less to act on than a competing result that shows a summary. max-snippet:0 does the same thing by setting the allowed length to zero.
max-snippet with a positive number is different and harmless: it caps the snippet length rather than removing it. There are pages where suppressing the snippet is the right call, such as a login page or licensed content a publisher may not excerpt, but on an ordinary page it is nearly always an accident.
What squirrel checks
The rule runs on every crawled page against the parsed robots meta value. It splits the value on commas and whitespace and lowercases it. It emits one check named nosnippet:
- Passing with the message
No snippet restrictions foundwhen there is no robots meta at all, or when it has neither directive. - Warning with the message
Page has nosnippet directive - prevents SERP snippetsorPage has max-snippet:0 directive - prevents SERP snippets, with the whole robots value and the expectationRemove to allow search snippets. - At info status with the message
Snippet length limited: <token>when amax-snippet:token is present that was not recognised as zero. That branch matches on the prefix alone, somax-snippet:-1,max-snippet:abcand a baremax-snippet:all land here rather than being reported as malformed.
nosnippet has to be its own directive to match; it is not found as a substring of something else. The zero test matches only the exact form max-snippet:0, so a value with a space around the colon is not recognised as zero and falls through to the informational branch. When both directives are present, the message names nosnippet.
This rule reads the robots meta element only. An X-Robots-Tag response header carrying the same directive is not checked here.
How to fix it
Remove the directive:
<meta name="robots" content="index, follow" />Where the intent was to cap the snippet rather than remove it, a positive number does that:
<meta name="robots" content="max-snippet:160" />The common false positive is a page where suppression is deliberate, such as a paywalled article or a members-only page. The finding is still accurate about the effect.
| Rule ID | core/nosnippet |
| Category | Core SEO |
| Scope | Per-page |
| Severity | warning |
| Weight | 7/10 |
Enable / disable
Disable this rule
[rules]
disable = ["core/nosnippet"]Disable all Core SEO rules
[rules]
disable = ["core/*"]Enable only this rule
[rules]
enable = ["core/nosnippet"]enable replaces the default ["*"], so this is the only rule selected. Leave disable out: a rule that matches any disable pattern is skipped even when enable names it. Only an enabled setting under a rule’s own [rule_options] table overrides both lists.
Related rules
- core/robots-meta: the indexing directives in the same tag.
- ax/noai-signals: the same directives read for their effect on AI answer engines.
- core/meta-description: the text the snippet would otherwise use.
- crawl/robots-meta-conflict: robots directives that contradict each other.
Core SEO findings ship in every audit next to the performance, security and agent experience rules. See Fix SEO issues with AI for how an agent works through a report.
References
- Robots meta tag, data-nosnippet, and X-Robots-Tag specifications, Google Search Central
- Control your snippets in search results, Google Search Central
Check your site
Run squirrel audit https://example.com and open the Core SEO section of the report. Each restricted page shows the robots value it declared. Signed-out local audits need no account and cost nothing. Signed-in audits spend credits.