Spam update check
Find the pages a spam update reads as scaled content.
One site we diagnosed lost 97% of its Google impressions in a day while Google kept crawling and indexing it. Hundreds of its pages came off a few templates. This check measures that pattern on your site and tells you, page by page, what to keep.
Measured
Ten checks, each a number we compute, each with the line it crosses.
| Check | How | Flagged when |
|---|---|---|
| Page families | Sitemap URLs grouped by path pattern; URLs ending in a number counted | one family is over half the sitemap, or 20+ URLs end in a number |
| Template share | 5-word sequences found on half the family or more | median over 50% |
| Own words | words not in any sequence seen on another page | median under 150 |
| Near-copies | names, numbers and the page's own address words masked, then compared | groups of 3+ pages 85%+ alike |
| Boilerplate | sentences of 8+ words counted across a family | any on 90%+ of its pages |
| Date stamping | dateModified, article:modified_time, sitemap lastmod | half the pages share one date, stamped this week |
| Indexing hygiene | robots meta, X-Robots-Tag, canonicals, the sitemap | a noindexed page in the sitemap; a canonical naming another page |
| Demotion signatureyour export | daily impressions from your export | a 70%+ fall in a day that stays down |
| Page far downyour export | impressions, position and clicks per page | 1,000+ impressions at position 30+ and no clicks |
| Queries not from peopleyour export | search operators and machine-made queries | a large share of impressions |
Without your Search Console export the last three read "not measured", and no page is ever marked for removal: removing a page needs to know it never earned a click.
Judged
Counts are computed. A few calls need a reader.
Every number in the report comes from code. Where a person would have to read the pages to say what they are, noul asks a decision model to pick among named options and keeps the probability it returns. A judgement never sets a count or a date, and a failed one leaves the rules to decide alone.
How noul decides- What the site mainly does
publisher, company, directory, data reports, syndication…
- What a family holds
articles, the same page with a name swapped, comparisons, round-ups, data pages…
- One template?
whether a family's pages read as one template with a name or figure swapped
- What a near-copy group is
copies across a network, distinct things with thin data, clones, variants
- A page that gave back nothing
a stub or wall served to crawlers, or a truly thin page
- Words of its own
whether a page in a risky family says anything its template doesn't
What you get
A verdict, the evidence, and a decision for every page.
- Each page family's risk, with the numbers behind it.
- The near-copy groups, and which page in each to keep.
- Keep, noindex, 301 or 410 for every page read, with the rule that chose it, as CSV.
- What to fix after a drop, in order; what to watch so the next one shows early.
- A prompt to paste into your AI coding assistant to make the changes.
What it cannot tell
- Google's verdict. It measures patterns that came before one demotion we diagnosed; it cannot say why any other site was demoted.
- Data pages look alike by design once figures are masked: they are flagged for review, not removal.
- A page that served our reader a stub or a wall is reported as unread, never as thin.