squirrelscan
GitHub

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 found when there is no robots meta at all, or when it has neither directive.
  • Warning with the message Page has nosnippet directive - prevents SERP snippets or Page has max-snippet:0 directive - prevents SERP snippets, with the whole robots value and the expectation Remove to allow search snippets.
  • At info status with the message Snippet length limited: <token> when a max-snippet: token is present that was not recognised as zero. That branch matches on the prefix alone, so max-snippet:-1, max-snippet:abc and a bare max-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 IDcore/nosnippet
CategoryCore SEO
ScopePer-page
Severitywarning
Weight7/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.

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

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.

Type to search…

↑↓ navigate↵ openesc close