SEO for indie hackers: the plan I used to go from 51 to 1,000 GSC impressions (as of July 2026)
TL;DR
SEO for indie hackers doesn't need an agency. This is the real-time plan CiteClip is running on itself: 51 GSC impressions in 90 days as of July 2026, targeting 1,000 by end of Q3. Four phases, positioning, deindex, ship, backlinks, in exact order.
This is a real-time case study on citeclip.com's own SEO. As of July 2026, Google Search Console shows 51 impressions and 1 click across the last 90 days.
We're running a specific 12-week plan to get from there to 1,000 impressions and 20 clicks by end of Q3 2026. This post walks the plan phase-by-phase, publishes the actual baseline numbers, and will get a follow-up on 2026-09-29 with what worked and what didn't.
If you're an indie hacker at a similar baseline, this playbook is dogfooded and copyable. If it works on us, we'll say so. If it doesn't, we'll say that too.
The starting point: 51 impressions, 1 click, 90 days
This is what a well-optimized personal blog does in an hour. Fixing meta descriptions is not the answer.
The raw numbers, from Google Search Console for the 90 days ending 2026-07-04:
PostHog confirmed the downstream picture. Real external signups in the tracked window: 1 (immediately bounced). Only working distribution channel: /free-tools/youtube-transcript-search pulling ~10 uniques/week from ChatGPT referrals. The rest of the site was invisible to every acquisition surface.
Weeks 1-2: Fix the crawlable surface
Root metadata + JSON-LD + OG tags in your layout must describe one product, the current one. If they say something different from your H1, Google buries you for positioning schizophrenia.
The first thing Google sees on your domain is the root metadata: title, description, OG tags, and JSON-LD in the root layout. If any of those describe a different product than your homepage's H1 does, you have positioning schizophrenia and Google will bury you.
- 1Fix week 1: rewrite title, meta description, OG tags, and JSON-LD in
app/layout.tsxto describe one product, the current one. - 2Fix week 2: audit every marketing route, delete or rewrite anything that references the pre-pivot product. Ship every change.
If you don't fix positioning first, everything else compounds against you. You'll write beautiful blog posts targeting an audience your homepage tells Google is the wrong audience.
Weeks 3-4: Deindex 181 legacy programmatic pages
Every indexed page is a vote. 100 stale pages tell Google "this site is about the old thing." 10 sharp new pages can't outvote them until you remove the stale.
When we pivoted in May 2026, the old programmatic pages didn't get deleted. 181 pages describing a product we no longer sell were still on the sitemap, still indexed, still competing with our new content for crawl budget.
- 1Set
robots: { index: false, follow: true }on the legacy route metadata so Google deindexes on next crawl.follow: trueso any internal links out to current pages still transfer signal. - 2Scope
sitemap.tsdown to the ~10 current-product surfaces, removing the legacy 181.
Weeks 5-8: Ship 12 hero posts on the current ICP
12 posts on one thesis with consistent structure = topical authority. 12 scattered posts on 12 themes = content mill.
Three hero posts went live in weeks 1-2 (a bulkurlchecker case study, the GEO checklist, the five-page framework). The 12-week plan calls for 12 more, one per Tuesday, cross-linked, all targeting keywords from a priority pyramid we scored on volume × ranking realism × conversion.
Content categories, ranked by target:
- 1"How to get cited by ChatGPT / Perplexity" — 4 posts.
- 2Comparison posts vs SurferSEO, Frase, MarketMuse — 3 posts.
- 3Persona posts for indie hackers, vibe coders, Next.js and Astro founders — 3 posts.
- 4One tool-page format (the SEO gap analysis playbook) and one buffer.
A scheduled weekly agent drafts each post on Monday; Carlos edits Tuesday morning; publish is at 9am ET Tuesday. Distribution runs within 48 hours via a 7-item checklist (X thread, LinkedIn, one subreddit, IndieHackers, 5 founder emails, 3 creator DMs, retro-edit 2 existing posts to link the new one).
Weeks 9-12: Earn 15 backlinks the honest way
Zero backlinks is the biggest reason a new domain doesn't rank. ProductHunt, Show HN, IndieHackers milestone, 20 cold emails. Report every number honestly.
Zero backlinks is the single biggest reason a new domain doesn't rank. You can publish 30 perfect articles and Google will still ignore you until other sites cite you.
Our channels, in order:
- 1ProductHunt launch in week 6. Target top-5 of day. Prep: 5 teaser tweets, ~10 friendly upvoters (real founder friends, no fake accounts), a response bank for common Q&A. Realistic outcome: 200-500 referral visits, 3-5 press mentions, 5-8 dofollow backlinks.
- 2Show HN in week 4. Angle: "I built an AI SEO tool that monitors my competitors' blogs continuously." Post at 8am ET Tuesday. Front page or bust, no second attempt without a substantively new hook.
- 3IndieHackers milestone post in week 8: "How I got my SaaS from 51 to N GSC impressions." Whatever N is at the time. Honest number, not a hype metric.
- 420 cold outreach emails over weeks 3-12. Personalized, founder-to-founder. Angle: "I built this because [my other SaaS] had the same problem, thought you might too." 10% response rate is the internal target.
Why this specific order matters
Every phase depends on the one before it. Skip an order and every downstream phase compounds against you.
Fix positioning first (weeks 1-2), deindex the noise (weeks 3-4), then ship content (weeks 5-8), then earn backlinks (weeks 9-12). Every phase depends on the one before it.
- Ship content before fixing positioning: Google indexes those posts under the wrong topical signal, you'll rank for keywords you don't sell against.
- Skip the deindex step: your 12 new posts compete for authority against 181 old ones.
- Chase backlinks before you have a corpus: outreach targets click through, see 3 blog posts, and move on.
The GEO checklist explains the 23 on-page signals that compound with this plan once the corpus lands. Adding those signals to a 12-post corpus is what makes each post cite-able across Google and AI engines simultaneously.
What the Q3 follow-up will report
Four numbers, no cherry-picking. Hit 1,000: double cadence. Hit 500: hold cadence, double outreach. Hit <250: stop and reassess.
Every monthly report publishes four numbers: GSC impressions, GSC clicks, unique referring domains, organic signups. No cherry-picked charts, no vanity metrics.
Option A
If we hit target (1,000+)
By 2026-09-29
- Double the content cadence in Q4.
- Scale outreach.
- Post the exact playbook that worked.
Option B
If we miss badly (<250)
Kill-switch trigger
- Stop the calendar.
- Reassess the thesis.
- Non-negotiable, set in advance so we don't rationalize later.
As of July 2026 we don't know whether the plan will work. We know the math suggests it should, and we know the alternative (do nothing, stay at 51) is worse than any outcome from running it. Follow-up drops 2026-09-29. If numbers don't hit, the post will say so on the record.
What to do if you're at 51 impressions
Copy the plan. It's not proprietary, it's discipline applied in the right order.
Copy the plan. It's not proprietary, it's discipline applied in the right order.
- 1Fix your title, meta, OG, and JSON-LD this week.
- 2Set legacy programmatic pages to noindex.
- 3Draft your first hero post. Repeat weekly.
- 4Launch on ProductHunt somewhere between weeks 4-8, once you have a corpus for people to click into.
If you want the automated version, competitor monitoring, gap analysis, and AI-drafted articles against each identified gap, sign up at citeclip.com. First 4 articles are free, no credit card required. Run gap analysis on your own site during onboarding and let the article drafter cover 4 of the 12 posts you'd otherwise write manually. Roughly 20 hours of writing time you get back for your product work.