Google won’t email you “your page is too thin.” It silently lowers processing priority for thin pages:
- Crawl frequency drops → URL not re-crawled for months
- Ranking weight discounted → even if indexed, never reaches top 50
- Pattern-wide judgment → all URLs matching the pattern (e.g.,
/articles/auto-generated-*) get deprioritized - Eventually deindexed → removed from Indexed after a few months
No Search Console notification at any step. The fix isn’t “add words” — it’s substantively raise information density or actively clean up.
Symptoms
- Pages under 100-300 words have < 30% indexing rate
- Indexed thin pages get demoted over time (rank drops, traffic drops)
- Crawl Stats shows declining monthly hits on these URL paths
- Many same-pattern URLs in Search Console “Crawled - currently not indexed”
Quick verdict
Google doesn’t need to flag thin pages explicitly. It just deprioritizes them — fewer crawls, lower ranking, eventually deindexing. The fix is to merge, expand, or remove.
Common causes
1. SEO-generated pages with no content depth
Most common. You see a keyword has volume, write an article — but it’s all definition restatement + platitudes:
"What is X"
"Benefits of X"
"How to use X"
"X considerations"
Each section 50 words of definition rephrase, zero unique information.
2. AI-generated pages with no unique angle
AI generates 50 articles at once, each 800 words, but all in the same style / same structure / no human fact-check / no firsthand experience. Helpful Content System specifically detects this pattern.
3. Programmatic SEO output where pages are near-identical
/best-X-for-{city}/ → 1000 cities = 1000 pages
/{verb}-{noun}-prompts/ → 100×100 combos = 10000 pages
Each page only the variable differs; the other text is 90% the same. Google flags “template thin.”
4. Auto-generated category / tag / archive pages
/tag/seo has 1-3 articles, the template is just an H1 + card list.
5. Content is only citations / quotes from elsewhere
Reposts, roundups, “30 quotes about X” — no original commentary.
6. Content-empty pages
Signup success pages, thank-you pages, empty search results, out-of-stock product pages — all return 200 but the body is nearly empty.
Shortest path to fix
Step 1: Inventory all pages under 500 words
// scripts/find-thin-pages.mjs
import fg from "fast-glob";
import fs from "node:fs";
import matter from "gray-matter";
const thin = [];
for (const f of fg.sync("src/content/**/*.{md,mdx}")) {
const { content } = matter(fs.readFileSync(f, "utf8"));
const text = content.replace(/```[\s\S]+?```/g, "").replace(/!\[.*?\]\(.+?\)/g, "");
const words = text.split(/\s+/).filter(Boolean).length;
if (words < 500) thin.push({ file: f, words });
}
thin.sort((a, b) => a.words - b.words);
console.log(thin.map(x => `${x.words}\t${x.file}`).join("\n"));
Output sorted by word count ascending — thinnest first.
Step 2: For each thin page, decide: expand, merge, or remove
Ask 3 questions per thin page:
- Does the corresponding query actually have searches? (Keyword Planner check)
- Do I have unique information I can add? (Firsthand experience, screenshots, data)
- Is there an adjacent sibling page that could merge?
Decision:
- 1 yes + 2 yes → expand
- 1 yes + 3 yes → merge
- 1 no → remove
Step 3: Expand — add concrete content
Template:
1. Add 1 original screenshot
2. Add 1 numerical comparison table
3. Add 1 real code / command snippet
4. Add 1 FAQ section (at least 3 questions)
5. Add 1 first-person experience ("We tried Y in March 2026 and got Z")
Each addition = one tier up in information density. Target 800-1500 words with rich formatting.
Step 4: Merge — combine 3-5 into one in-depth article
# Old URL list
echo "/articles/seo-tip-1
/articles/seo-tip-2
/articles/seo-tip-3" > to-merge.txt
# Merge into /articles/seo-complete-guide
# 301 all old URLs to the new one
// firebase.json
{
"hosting": {
"redirects": [
{ "source": "/articles/seo-tip-1", "destination": "/articles/seo-complete-guide", "type": 301 },
{ "source": "/articles/seo-tip-2", "destination": "/articles/seo-complete-guide", "type": 301 }
]
}
}
The new article fuses the essence of the 3 old ones plus new angles and data.
Step 5: Remove — noindex or 410
Thin pages with no future use:
<!-- Stay accessible but not indexed -->
<meta name="robots" content="noindex,follow" />
Or full delete:
res.status(410).send("This page has been permanently removed.");
410 tells Google “this page never returns” more clearly than 404, and removes from index faster.
Step 6: Remove processed URLs from the sitemap
// scripts/clean-sitemap.mjs
import fs from "node:fs";
const sitemap = fs.readFileSync("public/sitemap.xml", "utf8");
const toRemove = fs.readFileSync("noindex-list.txt", "utf8").trim().split("\n");
let cleaned = sitemap;
for (const url of toRemove) {
const re = new RegExp(`<url>\\s*<loc>${url}</loc>[\\s\\S]*?</url>`, "g");
cleaned = cleaned.replace(re, "");
}
fs.writeFileSync("public/sitemap.xml", cleaned);
When this is not on you
A small number of thin pages (contact, privacy, about) are fine. Google knows not every page should be 2000 words. The problem is when thin pages exceed 20% of the site — the whole site suffers.
Easy to misdiagnose
- Adding filler to inflate word count: filler isn’t depth — Google can tell. Quality > word count.
- Treating noindex as a penalty: noindex is a good tool — it’s “actively choose not to index”
- Thinking merging loses authority: merge + 301 actually concentrates authority on the master
- Expecting site ranking to recover immediately after deletion: usually 4-8 weeks to see effect
Prevention
- Minimum bar before publishing: ≥ 500 words + ≥ 1 image + ≥ 2 internal links + ≥ 1 specific number
- Don’t chase keyword counts with auto-generated permutations
- AI drafts must be human fact-checked + injected with firsthand experience
- Quarterly content audit: find and process the thinnest 20%
- CI blocks thin posts: < 300 words fails the build (forces real writing)
FAQ
Q: What is “thin” exactly? A: Google doesn’t publish a word-count threshold. < 500 words is basically thin, but a 2000-word article with no unique value is also thin.
Q: Will deleting thin pages help the rest? A: Often yes — frees crawl budget, improves perceived site quality. 4-8 weeks later, good pages’ indexing rates rise.
Q: Are all auto-generated pages bad? A: No. If each programmatic page genuinely has unique data / context / user value (not template fill-in), it’s fine. Example: flight search results = unique data.
Related
Tags: #SEO #Google #Search Console #Indexing #Troubleshooting #Thin page