Ten weeks ago I launched a niche reference site on a fresh .in domain. No backlinks, no budget, no audience. Just a Next.js static export sitting on Cloudflare Pages.
I expected the usual story: Google ignores you for months while you claw your way out of the sandbox.
Instead I got a result I haven't seen written up anywhere — Bing started ranking me within days, and ten weeks in, it's sending me 2.6× more clicks than Google. Not 2.6% more. Two-point-six times.
Here's the data, the architecture, and the three lessons that surprised me.
What I built
The site analyzes Indian life-insurance policies — specifically, it answers a question millions of policyholders have and can't easily answer: should I keep this policy, surrender it, or stop paying premiums and let it sit?
The underlying data is public but published terribly. The insurer releases an annual actuarial valuation circular — a scanned PDF — declaring bonus rates per policy "group," not per plan. Mapping those rates to individual plans, structuring them, and building calculators on top is genuinely tedious work that nobody had done well.
That's the whole programmatic-SEO thesis in one sentence: find public regulatory data trapped in a bad format, structure it, and build the queryable tool that should already exist.
The build:
- 34 plan pages (one per insurance plan)
- 34 bonus-rate pages (the data tables people actually search for)
- 7 calculators (maturity value, surrender value, hold-vs-surrender analysis)
- ~100 explainer guides
- 200+ total URLs
Stack: Next.js with output: 'export' (fully static), Tailwind, deployed to Cloudflare Pages. Hosting cost: ₹0. Domain: about ₹1,000/year. That's the entire infrastructure bill.
The architecture lesson: "add a plan = add a JSON entry"
The trap with a site like this is writing per-plan logic. Plan A uses one bonus model, Plan B uses another, Plan C has survival payouts on a schedule that changes by term. If you hard-code each plan's math, you've signed up for 34 bespoke calculators and a maintenance nightmare.
So I didn't. Every plan is a JSON entry with classification tags:
{
"plan_number": "165",
"classification": {
"bonus_model": "loyalty_addition",
"premium_model": "regular",
"benefit_structure": "endowment",
"sa_derived_from_premium": true,
"analyzer_mode": "loyalty_addition"
}
}
One universal calculator engine reads the tags and routes to the right modules:
function calculateBonus(plan, term, sa, yearsPaid) {
switch (plan.classification.bonus_model) {
case "srb_fab": return srbFabBonus(plan, term, sa, yearsPaid);
case "loyalty_addition": return loyaltyAddition(plan, term, sa, yearsPaid);
case "guaranteed_addition":return guaranteedAddition(plan, sa, term);
case "ga_plus_la": return gaPlusLoyalty(plan, sa, term, yearsPaid);
case "non_participating": return { total: 0 };
default: throw new Error(`Unknown bonus model: ${plan.classification.bonus_model}`);
}
}
Adding a new plan means adding a JSON object. No new components, no new routes — getStaticPaths generates the page, and the engine already knows how to compute everything from the tags.
The hard part wasn't the code. It was discovering how many genuinely different calculation models exist behind a category that looks uniform from the outside. "Endowment plans" sounds like one thing. It's at least five, with different bonus structures, premium-payment models, and payout schedules. Modeling that taxonomy correctly was 80% of the work — and it's the part that's defensible, because nobody else bothered.
Lesson 1: Bing has no sandbox (and rewards structured data immediately)
Here's the week-over-week click data since launch:
| Week | Bing clicks | Google clicks |
|---|---|---|
| 3 | 22 | 21 |
| 4 | 72 | 90 |
| 5 | 60 | 90 |
| 6 | 165 | 77 |
| 7 | 217 | 118 |
| 8 | 288 | 144 |
| 9 | 348 | 154 |
| 10 | 325 | 123 |
Bing went from 22 → 325 clicks/week in seven weeks. It started ranking my pages within days of indexing — no probation period. Google made me wait roughly three weeks before showing meaningful impressions, then rationed growth carefully.
My read on why: Bing's ranking appears to weight exact content-to-query relevance and structured data more heavily, and domain age / authority less heavily, than Google does. My pages are basically structured data tables answering very specific queries. That's Bing's sweet spot. Google, meanwhile, is appropriately skeptical of a brand-new domain spinning up 200 templated pages — that pattern also describes low-quality content farms, so it slow-walks you until behavioral signals prove otherwise.
If you're launching programmatic content, submit to Bing Webmaster Tools on day one. Most developers treat Bing as an afterthought. For this category of site, it may be your primary channel for the first few months — and it's a cleaner signal of whether your content is actually good, because it's not muddied by a months-long trust delay.
Lesson 2: AI Overviews are quietly killing explainer content
This is the finding I least expected, and it changed my content strategy completely.
I split my pages into two buckets and looked at click-through rate by bucket:
Data pages (bonus-rate tables, calculators — specific numbers):
| Page type | Position | CTR |
|---|---|---|
| Top bonus-rate table | ~7 | 4.6% |
| "Bonus rates 2026" data page | ~8 | 8.8% |
| Plan calculator | ~10 | 3.0% |
Explainer pages (how-to and conceptual guides):
| Page type | Position | CTR |
|---|---|---|
| "Should I surrender my policy" | ~7 | 0.0% |
| "X vs Y, which is better" | ~8 | 0.1% |
| "How to revive a lapsed policy" | ~9 | 0.0% |
Same domain. Similar positions on page one. The explainer pages get effectively zero clicks.
The reason is the AI Overview (and featured snippets before it). For a conceptual question — "should I surrender" — the search engine now synthesizes an answer at the top of the page. The user reads it and never scrolls to your result, even at position 6. Your ranking is worthless because the click never happens.
But for "what is the exact bonus rate for plan 165 in 2026," the user needs a specific figure for their specific situation. An AI summary saying "bonus rates vary by plan and term" doesn't satisfy that. They click through to get the actual number.
The strategic takeaway: in the AI-answer era, content that summarizes or explains is depreciating. Content that contains specific structured data people need to extract and act on is AI-resistant. I stopped writing explainer guides and doubled down on data pages and calculators. If you're planning a content site in 2026, weight your roadmap heavily toward "specific data the user needs for their case" and away from "here's how X works."
Lesson 3: the authority flywheel starts with one organic citation
Around week ten, I noticed a referral from another reference site I'd never heard of. They'd independently built their own dataset page and cited mine as the source for a subset of figures the official circular doesn't publish — with a dofollow link and an explicit note that their calculators consume my numbers.
I didn't ask for it. Their team evaluated the available sources for that data and concluded mine was the one worth citing.
That's the flywheel: good structured data → organic citations → domain authority → better rankings → more traffic → more citations. The first quality backlink is the hardest to earn, and you can't really shortcut it with outreach for this kind of site — you earn it by having data nobody else compiled correctly.
It also created a responsibility I hadn't considered: my numbers are now load-bearing for someone else's site too. If I have an error, it propagates. That pushed me to build an automated verification layer — feeding each page's content to an LLM acting as a domain expert to flag any figure that contradicts the source circular. Worth doing anyway; doubly worth it once other people depend on your data.
The honest part: monetization has been a slog
I'd be lying if I painted this as a clean win. The traffic curve is great. Turning it into money has been frustrating.
I applied to the obvious ad network three times. Rejected three times — each time with the same generic "doesn't meet program policies" message. The most likely cause: a young .in domain plus 200+ templated pages matches the heuristic for "scaled content," regardless of whether the content is actually good. New domains in this shape routinely need 3–6 months before approval.
The mid-tier networks I'd have pivoted to have mostly raised their minimums recently — one popular option moved its floor to 250k monthly users this year. So the realistic path is: wait out the domain-age gate, keep the traffic compounding, and qualify for a premium network once I cross ~10k monthly sessions (which, at the current growth rate, lands right around the seasonal traffic spike).
The lesson if you're building one of these: the monetization clock starts months after the traffic clock. Plan for that gap. The flip side is that the cost structure is so low (₹1,000/year all-in) that you can let the asset compound for a long time without pressure. Most niche sites die because the builder quits during the monetization gap, not because the traffic fails.
Takeaways for anyone building programmatic SEO in 2026
- Find public data trapped in a bad format. Regulatory filings, government registers, actuarial circulars. The worse the official format, the bigger your opportunity.
- Model the taxonomy before you write code. The defensible work is discovering the real structure behind a category that looks uniform. "Add an entry = add a row" architecture follows from that.
- Submit to Bing on day one. It may carry you for the first few months while Google decides whether to trust you.
- Build data pages, not explainer pages. AI Overviews eat the latter. They can't replace the former.
- Expect a monetization gap. Traffic comes first by months. Keep costs near zero so you can wait it out.
The site is licpolicyadvisor.in if you want to see the structure — it's part of a small portfolio of data-utility sites I build under NicheLabs. Happy to answer questions about the static-export setup, the classification engine, or the Bing-vs-Google divergence in the comments.
If you've seen the same Bing-beats-Google pattern on a new domain, I'd love to know — I can't tell yet whether it's specific to structured-data sites or a more general new-site phenomenon.
Top comments (0)