Rule referencetech/snippet-suppression

Snippet Suppression: How nosnippet Removes a Page From AI Answers

A page carrying nosnippet or max-snippet:0 in any robots source forfeits its SERP description and its eligibility to be cited in AI Overviews and answer engines at the same moment, which is why tech/snippet-suppression reports every such URL at warning severity while deliberately leaving max-snippet:-1 and every positive character budget untouched.

Test your site for snippet suppression: how nosnippet removes a page from ai answers

Loading bot check… if this doesn't resolve in a few seconds, refresh the page.

Your report will spotlight the `tech/snippet-suppression` lens, with a link to the full audit.

What it detects

Robots directives are collected from the same three declaration sites the conflict check reads: every <meta name="robots"> tag, every <meta name="googlebot"> tag, and the X-Robots-Tag response header when it is non-empty. Each content string is split on commas and its tokens are trimmed and lowercased. Exactly two token shapes qualify as snippet killers, the bare directive nosnippet and max-snippet:0 with whitespace tolerated on either side of the colon. When at least one source carries either shape, a warning-severity, high-confidence finding names the URL and lists every source that suppressed it, so a recipe page blocked by both a meta tag and a header reports both rather than collapsing them into one.

Two things deliberately do not fire. max-snippet:-1, which means unlimited, passes, and so does any positive budget such as max-snippet:160, because the rule is testing for suppression rather than for length. And data-nosnippet attributes in the body are counted, not condemned: the rule tallies every occurrence of the attribute in the raw HTML and emits an info-severity finding stating the count, on the reasoning that hiding a legal disclaimer or a subscription prompt from snippets is a defensible thing to do. That finding exists to make partial suppression visible before someone wraps an ingredient list in it, and its fix text asks you to review each region rather than strip them all.

Why it matters

Blocking snippets to deter scrapers is a trade that stopped paying. The directive was designed when the only consumer of a snippet was a SERP result, and its cost was a blank description under a blue link. AI Overviews and answer engines changed that arithmetic: a page that cannot be excerpted cannot be quoted, cannot be attributed, and cannot appear as a source link inside a generated answer. The scraper still copies the recipe, because scrapers do not parse robots directives. The only party that honours nosnippet is the party that would have sent the traffic.

Recipe publishing is where the mismatch cuts deepest. Cooking queries are overwhelmingly answer-shaped, asking for oven temperature, substitution ratios, proof times and doneness targets, and those are exactly the extractable figures an AI Overview surfaces with a citation attached. A publisher who ships nosnippet across 2,400 recipe URLs keeps the blue links and hands every one of those citation slots to a competitor whose identical 325°F figure is still quotable. Rich-result imagery driven by structured data can keep rendering while the text disappears, which makes the loss harder to spot: the carousel thumbnail still shows up, so the page looks like it is performing while its prose has quietly stopped being eligible for any answer panel.

A page that fails

A recipe publisher adds <meta name="robots" content="index, follow, nosnippet"> to its base template after a scraper republishes 60 of its recipes, and the directive propagates to all 2,400 recipe URLs plus 180 technique guides. pseolint returns 2,580 warning-severity findings naming meta robots as the suppressing source. The braised-short-ribs page still holds position 4 for its head term, shows no description text, and its 325°F / 3-hour figures no longer appear in any AI Overview citation.

A page that passes

The same 2,580 URLs after the template drops nosnippet for <meta name="robots" content="index, follow, max-snippet:-1">, with data-nosnippet retained on exactly 2 regions per page, the affiliate-disclosure line and the newsletter prompt. pseolint returns zero warnings and 2,580 info findings each reporting a count of 2. Scraping is handled where it belongs, in rate limiting and a takedown process, and the 325°F figure is quotable again.

📄 configuration-example.js
// next.config.js
module.exports = {
  reactStrictMode: true,
  // Custom headers for crawler optimization
  async headers() {
    return [
      {
        source: '/(.*)',
        headers: [
          { key: 'X-Robots-Tag', value: 'index, follow' }
        ]
      }
    ];
  }
};

# Run local audit for this rule:

$npx pseolint --rule=tech/snippet-suppression

How to fix it

  1. 1Replace nosnippet with max-snippet:-1 so the page is explicitly eligible for unlimited excerpting instead of relying on an implicit default.
  2. 2Inspect the HTTP response headers as well as the template: a CDN worker adding X-Robots-Tag: nosnippet keeps the page suppressed long after the meta tag is corrected.
  3. 3Fight scraping with rate limiting, bot fingerprinting and takedown notices, because robots directives are honoured by the crawlers that send traffic, not by the ones that copy content.
  4. 4Scope data-nosnippet to affiliate disclosures, subscription prompts and legal boilerplate, and never wrap ingredient quantities, temperatures or step timings in it.
  5. 5Watch the info-severity data-nosnippet counts after every template change: a count jumping from 2 to 9 per page means a shared component started wrapping body content.
  6. 6If a snippet length cap is a genuine business requirement, set a real character budget rather than 0, since any value above zero leaves the page citable.

SpamBrain context

This rule is not about spam, and the distinction changes how you triage it. Nothing in Google's spam policies penalises a publisher for suppressing their own snippet; the directive is honoured exactly as requested. The damage is self-administered and purely mechanical, because Google's AI-features guidance ties eligibility for AI Overview appearance to ordinary snippet eligibility, so the same token that blanks a description also removes the URL from the pool an AI answer is allowed to cite.

Recipe publishers reached for nosnippet out of a real grievance, and it is worth naming why the remedy misfires. The scraping wave that followed the March 5, 2024 scaled-content-abuse update pushed many independent food sites toward defensive markup, but a robots directive is a request read only by compliant crawlers. Content thieves drive headless browsers that never parse it. What the directive does reach is Googlebot, and after Googlebot every answer surface built on its index. Meanwhile the same publishers invest engineering time in aeo/* concerns, answer-first openers, citable figures and structured summaries, all of which one template-level token cancels out. Checking snippet eligibility before optimising for citability is the cheaper order, because there is no return on tuning an extractable opening paragraph for a page that has instructed Google not to extract anything.

Frequently asked questions

Does nosnippet stop my page from appearing in AI Overviews?
Yes. Eligibility for AI Overview citation follows ordinary snippet eligibility, so a page carrying nosnippet cannot be excerpted into a generated answer or listed among its sources. The URL can still rank as a standard blue-link result; it simply cannot be quoted in the panel sitting above those results.
Will nosnippet stop scrapers from stealing my recipes?
No. Robots directives are advisory and only compliant crawlers read them. Scrapers driving headless browsers ignore the tag outright, so the recipe is copied either way while the snippet-consuming search surfaces honour the block. Rate limiting, bot detection and takedown notices are the tools that actually reach the offender.
What is the difference between nosnippet and max-snippet:0?
In effect there is none, and the rule treats them identically as snippet killers. max-snippet:0 reads like a length setting, which is how it slips into templates by accident. Any value above zero leaves the page eligible for excerpting, and -1 declares unlimited excerpting explicitly.
Should I remove every data-nosnippet attribute from my pages?
No, and the rule does not ask you to, which is why those findings sit at info severity. Keep the attribute on affiliate disclosures, paywall prompts and legal boilerplate. Remove it wherever it covers ingredient quantities, oven temperatures, timings or anything else a reader might want quoted back to them.
Does nosnippet affect recipe rich results and carousels?
Rich-result imagery driven by structured data can keep rendering while the text snippet disappears, which is why the loss goes unnoticed for months at a time. Treat a carousel appearance as no evidence that the page is still citable, and check the robots directives on the URL directly instead.

How this shows up in practice

Copperpan Kitchen, a recipe publisher in Asheville, North Carolina, added nosnippet to its base template after a scraper republished 60 of its recipes. pseolint returned 2,580 findings at warning severity and high confidence naming the meta robots tag as the suppressing source, plus 14 info findings counting data-nosnippet attributes left on the technique guides. Food editor Yolanda Przewalska audited what the directive had actually bought: the scraper honours no robots directives and was still copying everything, while the braised short-ribs page held its position with a blank description and no answer-engine citation. She removed nosnippet on January 15, 2026 and kept a positive max-snippet budget, which the rule deliberately leaves alone, as it does max-snippet:-1. By the 2026-02-11 reaudit, 27 days later, snippet impressions had recovered 41.6%, the 12-minute weeknight pasta guide was being quoted again, and recipe-attributed ad revenue rose $2,340, some 8.6% of the month's total.

Sources

  • Google Search Central: Robots meta tag, data-nosnippet, and X-Robots-Tag: The robots meta tag specification defines nosnippet and the max-snippet family, including -1 for unlimited; pseolint's snippet-killer test matches only the bare nosnippet token and max-snippet:0, leaving every positive character budget and the unlimited value alone.
  • Google Search Central: AI features and your website: Google's AI-features guidance ties AI Overview citation eligibility to ordinary snippet eligibility, which is the exact mechanism by which a recipe publisher's anti-scraper nosnippet removed 2,400 URLs from the pool of sources a generated answer can quote and link.

Related rules

Want to know whether this rule actually fires on your site?

Run pseolint against your sitemap. The audit is free, takes about a minute, and returns a per-URL list of every rule that fired (including this one) with the exact metric values so you can prioritise the fix queue.