The “100 articles in 100 days” advice and the “one perfect 5000-word post per month” advice are both wrong for most indie sites. The right answer changes with site age and niche competition. This is the Search Console-driven framework I use to decide each month.
Background
Volume buys coverage — more pages = more chances to match long-tail queries. Quality buys ranking — better pages move up the SERP for queries you already match. Most indie sites get the order wrong: they push volume when they should fix existing pages, or polish forever when they should be expanding coverage. The data to pick correctly is sitting in Search Console; you just have to slice it the right way.
How to tell
- Indexing rate (
indexed / submitted) under 50% means quality, not volume, is your problem. - Average position in Search Console under position 30 means your pages are weak, not few.
- CTR at top-10 positions under 3% means titles and snippets, not more content.
- Pages with zero impressions after 90 days are dead weight — more like them will not help.
- High ratio of “Crawled - currently not indexed” suggests Google views your site as low-quality overall.
Quick verdict
If average position is bad (rank 50+), invest in quality. If average position is decent (rank 10-30) but you have few indexed pages, invest in volume. Most indie sites get this backwards.
Before you start
- Block 30-60 min for a real Search Console pull, not a vibes check.
- Have a “quality floor” written down before you start — words, structure, examples.
- Know your sustainable cadence — what you can hit weekly for 12 months without burnout.
Step by step
- Pull a 90-day Search Console report by page. CLI via the Search Console API, or just export and grep:
# Export Performance > Pages as CSV, then:
awk -F, 'NR>1 && $2==0 {print $1}' gsc-pages-90d.csv | wc -l
# count of pages with zero clicks
awk -F, 'NR>1 && $3==0 {print $1}' gsc-pages-90d.csv | wc -l
# count of pages with zero impressions ← these are your "dead weight"
- For pages with impressions but rank > 20, rewrite before writing new. One rewrite is usually worth three new articles. Quality-floor checklist as a YAML config you can grep against:
# .content-quality.yml
min_words: 800
required_sections:
- lead
- how_to_tell
- step_by_step
- faq
min_internal_links: 3
min_outbound_refs: 1
must_have_code_block_if:
- category: indie-dev
- category: troubleshooting
- For clusters where your top page already ranks 5-15, write 3-5 more cluster articles. This is where volume reinforces topical authority. Identify clusters by primary keyword stem:
awk -F, 'NR>1 && $4 >= 5 && $4 <= 15 {print $1, $4}' gsc-pages-90d.csv \
| sort -k2 -n | head -20
# top candidates to thicken with cluster articles
- Set a weekly publish floor and a quality floor. Bake both into a prebuild script that fails the build:
// scripts/content-floors.mjs
import yaml from 'yaml';
import { readFileSync } from 'node:fs';
const cfg = yaml.parse(readFileSync('.content-quality.yml', 'utf8'));
for (const article of newArticlesSinceLastBuild()) {
const wc = article.body.split(/\s+/).length;
if (wc < cfg.min_words) fail(article, `under ${cfg.min_words} words`);
const headings = (article.body.match(/^## /gm) || []).length;
if (headings < 4) fail(article, 'fewer than 4 H2 sections');
const internalLinks = (article.body.match(/\]\(\/[a-z]+\/articles\//g) || []).length;
if (internalLinks < cfg.min_internal_links) fail(article, 'thin internal linking');
}
- Every month, retire or merge dead-weight articles. Pages live 60+ days with zero clicks should be merged into stronger neighbors or noindexed. The merge target gets a 301:
# _redirects (Astro/Netlify-style)
/articles/dead-thin-page /articles/stronger-cluster-pillar 301
- Decide volume vs quality each month from the data, not vibes. Single-page Google Sheet or this rule of thumb:
indexing_rate < 0.5 → PAUSE volume; rewrite + dedupe
avg_position > 50 → PAUSE volume; rewrite top 10 by impressions
zero_impression_pct > 30 → PAUSE volume; audit and noindex stragglers
otherwise → GO volume in proven clusters
- Track the monthly decision in your content log. A 5-line entry per month:
- month: 2026-05
indexing_rate: 0.62
avg_position: 18
decision: volume
cluster_focus: ['firebase-hosting', 'astro-static-sites']
target_count: 18
Implementation checklist
- Quality floor is enforced by a prebuild script, not by editorial willpower.
- Dead-weight articles are reviewed monthly; merges use 301, not delete.
- Volume vs quality decision is captured in writing each month.
- Cluster expansion only happens where you already rank 5-15.
After-launch verification
- Re-check Search Console 4 weeks after a quality pass — average position for the rewritten URLs should improve by at least 5 positions.
- After a volume push in a cluster, sitewide impressions for that cluster’s keyword should rise even if individual pages do not all rank.
- Indexing rate should trend up, not down — if it drops, you pushed volume when you should have invested in quality.
Common pitfalls
- Defining “quality” as word count. A 3000-word article that answers nothing is worse than a 600-word article that answers exactly one question.
- Defining “volume” as “AI-generated, lightly edited”. Google’s helpful content system catches this pattern fast, and you cannot un-publish your way out.
- Trying to be Wirecutter on a 3-month-old domain. You do not have the authority budget for in-depth comparisons yet — start with how-tos.
- Refusing to publish until “it’s perfect”. Indie sites die from not shipping far more often than from shipping mediocre.
- Mistaking impressions on bad queries for traffic intent — sort by clicks, not impressions, when picking rewrite targets.
- Deleting old thin articles instead of merging — you lose any link equity that did exist.
FAQ
- How many articles per week is right?: Whatever you can sustain for 12 months at your quality floor. For most indie writers solo that is 2-5 per week; with AI assistance and editing it can be 5-10.
- Is AI-assisted writing low quality by default?: No, but unedited AI output is. The difference is whether a human added a real point of view, real examples, and removed generic filler. A prebuild similarity check helps detect AI-flavored drafts.
- Should I delete old thin articles?: Merge first, delete only if there is nothing to merge into. Deletion loses any link equity; merging keeps it via 301.
- How long until volume starts paying off?: On a new domain, 6-9 months minimum before topical authority compounds. Plan accordingly — do not judge the strategy at week 8.
- What is a reasonable quality floor in 2026?: 800+ words, 4+ H2 sections, real code/config block for technical topics, 3+ internal links, 1 outbound reference, and one specific scenario in the lead.
Related
- Setting a publishing cadence you can actually keep
- When (and how) to refresh old articles for traffic
- Scaling content with AI without tanking quality
- Running a site-wide content audit
- Avoid content duplication when scaling fast
Tags: #Indie dev #Content ops #SEO #Website planning #Long tail