---
title: "Google's User-Generated Spam Update: How We Fixed Three Sites"
description: "On 26 October 2026 Google told platforms that let users create pages to keep pages meant for sharing or utility out of Search. Here is what changed, the robots.txt trap in it, and how we audited and fixed three sites, including one that lost 97% of its impressions in a day, with a free check."
canonical: "https://bklink.uk/blog/google-user-generated-spam-guidance"
publishedAt: "2026-10-27T16:24:41.923Z"
updatedAt: "2026-10-27T16:24:41.923Z"
author: "Palash Bagchi"
category: "indexing"
tags: ["google","indexing","spam","noindex"]
series: null
image: null
---

# Google's User-Generated Spam Update: How We Fixed Three Sites

On 26 October 2026 Google told platforms that let users create pages to keep pages meant for sharing or utility out of Search. Here is what changed, the robots.txt trap in it, and how we audited and fixed three sites, including one that lost 97% of its impressions in a day, with a free check.

## What Google changed on 26 October 2026

On 26 October 2026 Google updated its help page [Prevent user-generated spam on your site and platform](https://developers.google.com/search/docs/monitor-debug/prevent-abuse). The page now names "tools that let users publish shared pages, generated content, or web apps", and it adds a section called **"Only index content meant for Search"** ([Search Engine Roundtable](https://www.seroundtable.com/google-user-generated-spam-guidance-tools-42378.html)).

Its central sentence: "If your service lets users create shareable pages, generated outputs, or interactive tools, consider whether that content is meant to be found through search engines or only accessed directly by users." For pages made for sharing, collaboration or utility, Google recommends keeping them out of Search by default: a `noindex` rule in a robots meta tag or an `X-Robots-Tag` header, or a crawl block in robots.txt.

The guide also adds monitoring advice:

- Check the Page Indexing and Search performance reports for unexpected spikes in indexed pages, impressions or queries that don't match what your platform is for.
- Track how many pages your platform creates and indexes, and set alerts for spikes.
- Verify the site in Search Console so you get an email if Google takes a manual action.

## The robots.txt trap

The new section lists robots.txt as one way to keep pages out of Search. Google's own robots.txt documentation adds the catch: a URL blocked by robots.txt can still be indexed if other pages link to it, and Google never reads a `noindex` on a page it is not allowed to crawl ([Search Engine Journal](https://www.searchenginejournal.com/google-indexing-advice-shareable-pages-spam-guide/594451/)). Search Console reports those URLs as **"Indexed, though blocked by robots.txt"**, and Google's help for that status says to remove the block and rely on `noindex`.

So a page that is both blocked and marked `noindex` is only safe while nothing points at it. Every link to it from an indexable page is a way for Google to learn the URL without ever seeing the rule meant to keep it out.

## How we fixed three sites

This month we audited three sites with the same method. All three let a visitor or a script create pages; two had lost most of their Google visibility. We don't name them, but every figure below is from their own Search Console data and pages.

### Site A: a content site that lost 97% of its impressions in a day

Google impressions went from 2,168 on one day to 56 the next, and stayed around 20 a day. There was no manual action and no security issue. Pages were still indexed and still crawled, Bing traffic was flat, and the owner's other sites on Google were flat.

The pattern was templated pages at scale: about 950 blog URLs in a handful of families, many ending in a number, plus a hub page that had begun appearing for hundreds of "alternatives" queries at position 49, with thousands of impressions in a week and no clicks. Dates were not the cause: hundreds of posts had shared one `lastmod` for weeks while impressions grew.

The fix was a page-by-page decision built from 16 months of Search Console data: **keep 242** (every page that ever earned a real click), **noindex 205**, **redirect 2**, **return 410 for 501**. The statuses are served before the page cache so a cached copy cannot skip them. The sitemap lists only kept pages, links to removed pages are rewritten, and publishing in the risky families is frozen until Search Console shows recovery.

### Site B: a new comparison site Google tested, then dropped

The domain was a few days old when it published about 1,100 pages, 43% of them generated "X vs Y" comparisons. Google tested it broadly: impressions rose to about 1,100 a day, 87% of them at position 30 or worse, then fell back in two steps to a handful a day.

Unlike Site A, the comparison pages were not copies of each other (they shared only 11% of their text once names and numbers were masked). URL Inspection told the story instead: every comparison page we inspected was **"Crawled – currently not indexed"**, while most single-provider pages stayed indexed. Nothing technical was wrong. The plan: keep the few comparison pages that earned clicks, noindex the rest and take them out of the sitemap, merge thin pages, stop bulk date regeneration and publish in small batches.

### Site C: a data directory where visitors create pages

On this site any visitor's check creates a public report about a website. Nothing had dropped; the audit was preventive.

- **Near-copies.** With site names and figures masked, 298 of 997 indexed reports read 85% or more like another report. 178 were copies across press-release networks: they are now `noindex, follow`, one report per network kept. Together they had earned 459 impressions and 1 click in 90 days.
- **Thin and look-alike reports.** 181 more were held out of the index: distinct small sites that read alike because little is known about each, and reports with under 150 words of their own.
- **Repeated text.** The caveats every report repeated word for word now live once on a methodology page, and each report links there. Reports now quote the site's own description from its `llms.txt`, where one exists, so the text differs from page to page.
- **Dates.** Its daily data refresh had stamped 95% of reports with the same `dateModified`. The date now moves only when what the report shows changes, and each report shows when the site was first recorded. Across indexed reports the most common modified date now holds 18.8% of pages.
- **The robots.txt trap.** Its comparison pages were `noindex` but also blocked in robots.txt, and a change earlier the same day had removed `nofollow` from the links to them on every report. Google did not know any of them yet. The fix was to restore `nofollow` and keep the block, rather than open thousands of database-backed pages to crawling.

The sitemap went from 1,116 URLs to 771.

## The free check we used

We ran these audits with a free tool, the [Spam update check on noul](https://noul.cc/spam-update-check). It reads up to 2,000 sitemap URLs, with no sign-up, and measures ten patterns, each against a stated line:

| Check | Flagged when |
| --- | --- |
| Page families | one family is over half the sitemap, or 20+ URLs end in a number |
| Template share | median over 50% of a page's 5-word sequences appear on half its family |
| Own words | median under 150 words of a page's own |
| Near-copies | groups of 3+ pages 85%+ alike once names and numbers are masked |
| Boilerplate | any sentence of 8+ words on 90%+ of a family's pages |
| Date stamping | half the pages share one date, stamped this week |
| Indexing hygiene | a noindexed page in the sitemap, or a canonical naming another page |
| Demotion signature | a 70%+ fall in impressions in a day that stays down (needs your Search Console export) |
| Page far down | 1,000+ impressions at position 30+ and no clicks (needs the export) |
| Queries not from people | a large share of impressions from operators or machine-made queries (needs the export) |

It returns a keep, noindex, 301 or 410 decision for every page, with the rule that chose it, as CSV. Without your Search Console export it never marks a page for removal, because removing a page needs to know it never earned a click.

The tool is a starting point, not a verdict. It was wrong on Site C's country pages: masking names hid that two of them shared no sites at all, so we kept them indexed. Read the decisions before acting on them.

## What to do on your own site

1. **List every kind of page your users or scripts can create.** Decide for each whether it is meant to be found in Search. Shared views, comparisons, previews, search results and tool outputs usually are not.
2. **Use `noindex` for pages that should stay out, and let Google crawl them.** If you must block crawling too, put `nofollow` on every link to them from indexable pages, and watch for "Indexed, though blocked by robots.txt".
3. **Let a created page into the index only when it has something of its own:** data, a description, a reason to exist beyond the template.
4. **Keep dates honest.** Move `dateModified` and `lastmod` only when the content changes.
5. **Publish in small batches** and watch the Page Indexing and Search performance reports between them.
6. **Watch for the demotion signature:** a fall of 70% or more in daily impressions while pages stay indexed. That is the day to act, not a month later.

## Key Takeaways
- Google now asks services that let users create pages, outputs or tools to keep pages meant for sharing or utility out of Search by default.
- A page blocked by robots.txt can still be indexed if it is linked, and Google never reads its noindex; noindex works only on a page Google can crawl.
- Templated pages at scale preceded a 97% one-day fall in Google impressions on one site we audited, while its pages stayed indexed.
- Keep every page that ever earned a real click; noindex or remove the rest from the decision table, and cut the sitemap to the kept pages.
- Dates should move only when content changes; a refresh that re-stamps every page is not freshness.

## Frequently Asked Questions

### What did Google change on 26 October 2026?

It updated its 'Prevent user-generated spam' help page to name tools that let users publish shared pages, generated content or web apps, and added an 'Only index content meant for Search' section recommending noindex or a crawl block by default for pages meant for sharing, collaboration or utility.

### Should I block shared pages in robots.txt or use noindex?

Prefer noindex on a page Google can crawl. A URL blocked by robots.txt can still be indexed when other pages link to it, and Google cannot read a noindex on a page it may not crawl. If you must block crawling, mark links to those pages nofollow and watch Search Console for 'Indexed, though blocked by robots.txt'.

### How do I know if my site has a scaled-content problem?

Group your sitemap URLs by path pattern and measure how alike each family's pages are once names and numbers are masked, how many words each page has of its own, and whether dates are stamped in bulk. The free Spam update check on noul.cc measures these and returns a keep, noindex, 301 or 410 decision per page.

### Will noindexing pages bring a demoted site back?

Not on request. Google re-assesses a site over weeks to months; the fix removes the pattern that preceded the drop, and Search Console shows whether visibility returns.

## Sources
1. [Google Search Central - Prevent user-generated spam on your site and platform](https://developers.google.com/search/docs/monitor-debug/prevent-abuse)
2. [Search Engine Roundtable - Google Updates User-Generated Spam Guidance To Specify Tools & More](https://www.seroundtable.com/google-user-generated-spam-guidance-tools-42378.html)
3. [Search Engine Journal - Google Updates Spam Guide For Shared Pages, Generated Content & Apps](https://www.searchenginejournal.com/google-indexing-advice-shareable-pages-spam-guide/594451/)
4. [noul - Spam update check](https://noul.cc/spam-update-check)
