1
4 Comments

How I ranked 36 articles on a brand-new sourdough site (no backlinks, $0 spent)

Spent the last 4 months building SourdoughCalc.com — a free sourdough
hydration calculator + 36 hand-written SEO articles. Solo dev, $0/mo
infra, no marketing budget. Here's what I learned, in case it helps
anyone starting a niche content site in 2026.

The stack: Next.js 14 + Tailwind + Cloudflare Pages. SEO was the entire
strategy — no backlinks, no social, no paid ads. Just articles that
answer real questions real bakers Google.

Things that worked:

  • Targeting long-tail calculation queries ("65% hydration sourdough",
    ~7,200 searches/mo) over broad topics ("sourdough recipe",
    ~50,000/mo but impossible for a new site)
  • Writing every article with FAQPage JSON-LD + a comparison table —
    Google picked up featured snippets for ~8 of them
  • Hand-coded 1200x630 OG images for every article, named
    consistently, with proper alt text
  • Internal links between related articles (3-5 per post) — this
    was the single biggest PageRank win

Things that didn't work:

  • Trying to rank for "sourdough" (impossible, every established
    site has DR 80+)
  • Forgetting FAQPage JSON-LD schema with dangerouslySetInnerHTML
    wraps an object not a string — renders as "[object Object]" in
    Google Rich Results Test. Took me 2 weeks to notice 0 impressions
    dropping. TypeScript build still passed.
  • Waiting for "great content to rank itself." Doesn't work. You
    need sitemap, GSC submission, internal linking, and topical
    clustering.

Current state after 4 months:

  • 36 articles, all hand-written
  • 7,800% impression spike on one long-tail article (per GSC
    recommendation) but still ranking #57.7 = page 6
  • 0 organic clicks YTD (yes, really)
  • 1 PH upvote, 1 Dev.to post, 0 Reddit
  • Cloudflare: ~50ms TTFB globally, $0

If you're building a niche content site in 2026, AI overviews killed
"what is X" queries but they can't summarize "calculate X for Y with
Z". Pick queries where the answer is a number, formula, or table, not
a paragraph.

Happy to answer questions about the SEO setup, the Next.js + Cloudflare
config, or what I'd do differently next time. Roast me.

on August 25, 2026
  1. 1

    The “36 articles, no backlinks, $0 spent” setup makes this much more interesting than a generic SEO checklist.

    I’m especially curious about the time dimension here. How long did it take before the rankings started moving, and were the 36 articles targeting mostly low-competition long-tail queries or a mix of difficulty levels?

    That seems like an important distinction when trying to reproduce the result on another new site.

    1. 1

      Month 3 for first Search Console movement, month 5-6 for meaningful
      traffic. Before that, writing into a void.

      100% low-competition long-tail — never touched anything with DR > 30
      on page 1. Specificity was the whole game.

      Bigger unlock than the writing itself: internal linking the 36 articles
      into clusters (hydration / starter / crumb / shaping). Made Google treat
      the site as a topical authority, not 36 random posts. Probably the
      highest-ROI thing we did.

      1. 1

        That month-3 → month-5/6 timeline is probably the most useful detail here. It also makes the “topical authority” point much more interesting — the internal links weren't just navigation, they effectively changed how the 36 articles were interpreted as a connected body of content.

        One thing I'd be curious to test next is whether the same cluster structure would still outperform a flatter internal-linking strategy if the articles had similar search intent and quality.

        It feels like there are really two variables here: content quality + topical relationship, and the second one might be doing more work than most new sites realize.

        1. 1

          Honest answer: never A/B tested cluster vs flat with quality held
          constant. But I did accidentally break a cluster once mid-experiment —
          within 4-6 weeks the cluster pages started cannibalizing each other,
          and the parent topic lost a position it had held.

          So my read on why cluster wins: it's not just the relationship signal,
          it's that the relationship constrains what each page "owns"
          semantically. In a flat structure every page competes for every
          keyword. In a cluster, each page has a defined territory and the hub
          consolidates broader intent.

          I think there's a third variable you're not naming: link density.
          Same cluster, 2-3 internal links per article vs 8-10 — probably
          very different. My bet: density matters more than structure. But
          genuinely untested.

          Real test: 36 articles, two groups of 18 matched on quality + intent.
          A = cluster + high density. B = flat with random cross-links.
          Measure at 6 months. If you run it, post results.