How to Rank a Brand New SaaS Domain in 90 Days (The Exact Weekly Schedule)
In January I gave myself 90 days to rank a brand new domain for a head term in a competitive niche. Here's the exact weekly schedule I followed, what ranked when, and the three things that broke along the way. Copy this schedule if you want. It's what I'd do if I were starting over.
In January I gave myself 90 days to rank a brand new SaaS domain for a head term in a competitive niche. I wanted a clean test. No existing backlinks, no old content, no authority carryover. Just a fresh .io, a real product behind it, and a weekly schedule I was going to stick to.
90 days is a weirdly specific number and I picked it for a specific reason: it's long enough for compounding to kick in, short enough to disprove the "SEO takes 18 months" excuse that most founders use to not do it, and exactly the length of a single quarter. At the end of 90 days I'd either have rankings to show or I'd have a useful postmortem.
This is what actually happened. Here's the exact weekly schedule I followed, what ranked when, and the three things that broke along the way. If you want to copy this schedule verbatim, you can. I'm going to make it dead simple.
The rules I set myself
Before I get into the schedule, here are the constraints I operated under. They matter because they're realistic for anyone reading this.
- No existing audience. No Twitter following I could lean on, no newsletter, no existing traffic source.
- No budget for backlinks. I wasn't going to pay for link insertions or guest post placements.
- Maximum 4 hours per week on SEO. I had to ship product too. 4 hours/week × 13 weeks = 52 hours budgeted, I actually used 38.
- One head term target. The real metric was whether I could rank for one specific head keyword. Everything else was supporting work.
- $200 maximum in tools and API costs. I actually spent $127.
None of these constraints are special. They're roughly the constraints of any solo founder who's trying to do SEO on a real product without neglecting the rest of the business.
Week 1: Setup (4 hours)
Week 1 is all setup. Nothing ranks in week 1. The point is to get the infrastructure in place so weeks 2-13 can compound.
Hours 1-2: Pick the head term. I used a very simple method. I searched 20-30 potential head terms in my niche and looked at the top 10 results for each. I picked the term where the top 10 results were mostly small sites (not massive publications), had KD (keyword difficulty) between 20-40, and had 300-1,500 monthly searches. That range is the sweet spot for a new domain: high enough to matter, low enough that you can actually climb.
Hours 3-4: Install everything. Google Search Console, Google Analytics, a basic sitemap generator, a functioning blog system at /blog, and internal link infrastructure. I spent more time on infra than I expected because I wanted the blog's JSON-LD schema and sitemap to be right from day one. This mattered more than I realized. Google crawled and indexed my first article within 6 hours because the technical side was clean.
No writing in week 1. Just setup.
Week 2: First publication (4 hours)
Week 2 is when you publish your first article, and it has to be the right kind of article. Not the head term. Not a pillar post. A long-tail article targeting a specific question in the niche.
The reason is that Google treats new domains with extreme skepticism. You can't walk up to a competitive head term on a 14-day-old domain and expect to rank. Google doesn't know who you are yet. You have to earn trust by ranking for small things first, and the small things are long-tail questions.
I picked a long-tail keyword with 70 monthly searches and a "how do I [specific thing]" shape. Wrote the article. Published it. Submitted the URL in Search Console. By end of week 2 the article was indexed but not yet ranking.
4 hours for one article. It would have been faster with the pipeline running, but I was writing this one manually to establish a baseline.
Weeks 3-6: Volume phase (4 hours/week, 16 hours total)
Weeks 3 through 6 are the volume phase. The goal is to publish one article per week, each targeting a different long-tail keyword in the same topic cluster. By end of week 6 you should have 5 articles indexed and at least 1 of them ranking somewhere in the top 100.
Here's what I published:
- Week 2: Long-tail question #1 (70 searches/month, the setup article)
- Week 3: Long-tail question #2 (120 searches/month, closely related)
- Week 4: Long-tail question #3 (90 searches/month, adjacent topic)
- Week 5: A comparison post ("X vs Y") targeting a specific competitor mention (180 searches/month)
- Week 6: A listicle ("The N best tools for [task]") with our product as one of the options (240 searches/month)
By end of week 6, the first article was ranking at position 32 for its target term and was getting a few clicks per week. The comparison article was ranking at position 58. Everything else was indexed but not yet ranking.
Week 6 is also when Google's crawler started visiting the site regularly. New articles were being indexed within 18 hours instead of 3-4 days. This is the first real sign of trust forming.
Weeks 7-10: Links and depth (4 hours/week, 16 hours total)
Weeks 7 through 10 are when you start earning backlinks. If you skip this phase, you stall at page 2-4 forever. If you overdo it, you burn out and quit. Four hours per week is enough to earn one backlink per week if you do it right.
Here's what I did each week:
Week 7: I wrote a guest post for a small blog in an adjacent niche. Not a big publication. A blog run by another solo founder who accepts guest contributions. I searched "guest post" [my niche] and found 4 candidates. Wrote one specific pitch, sent it, waited 5 days, got accepted on one. The guest post went live at the end of week 7 with one link back to my highest-ranking article.
Week 8: Resource mentions. I searched for listicles in my niche that were missing something and reached out to the authors. 5 outreaches, 1 positive response, 1 new link.
Week 9: A podcast appearance. I pitched 3 small podcasts in the niche. One said yes. Recording and prep took 4 hours, the link was in the show notes.
Week 10: The second guest post. Same process as week 7, different blog.
Total: 4 backlinks in 4 weeks. None of them from massive sites. All of them from real, active, topically-relevant blogs and podcasts. Google trusts these more than it trusts a backlink from a forum or directory with no context.
Also during this phase: I published 4 more articles, one per week, continuing to build out the long-tail cluster. By end of week 10 I had 10 articles indexed, 3 of them ranking in the top 30, and one in the top 15.
Weeks 11-13: The head term push (4 hours/week, 2 hours/week some weeks)
Weeks 11, 12, and 13 are when you finally publish the head term article and push for rankings. By this point you have enough authority from the long-tail cluster that the head term article will actually stand a chance.
Week 11: I wrote the head term article. 3,200 words. Hit every signal I know how to hit: atomic claims, attribution, answer-shaped sections, schema, structured data blocks. Published it. Linked to it from 6 of my existing long-tail articles. Submitted the URL in Search Console.
Week 12: Watched. The head term article started indexing within 24 hours. By midweek it was ranking at position 58. By end of week it was at position 34. I did one round of internal link expansion (added 4 more internal links from existing articles to the head term article) and published one more supporting article.
Week 13: The head term article hit position 18 at the start of the week. I wrote one more supporting article and published it with a link to the head term. The head term article climbed to position 11 by end of week 13. I was not yet in the top 10.
What happened on day 91
Here's the part I was nervous about. Day 91 was the day after the "90 day" test ended, and I hadn't officially made top 10 for the head term. My article was at position 11, one slot off from the goal. I had failed, technically.
Then on day 94, the article moved to position 8. On day 97, position 6. On day 102, position 5. I didn't do anything in those 12 days except publish two more supporting articles, because I was tired and wanted to ship product. The rankings moved on their own, because the compound effect of the cluster and the backlinks was finally catching up to the head term article.
I want to be honest about this. The 90-day test technically failed. The 102-day test succeeded. That's because SEO has a built-in 1-3 week lag where everything you do shows up later than you expect, and nothing I did in the last 10 days of the test is the reason it ranked. The reason it ranked is the 80 days of work before that.
If you run this schedule, budget for 100 days, not 90. You'll hit the goal around day 95-105. If you quit at day 89 because you didn't see the rank yet, you quit right before the compound kicked in.
The three things that broke
Broke #1: I targeted the wrong long-tail keyword in week 4. It turned out to be a keyword with almost no commercial intent. Lots of searches, but the people searching were looking for something different than what my product did. The article ranked fine but got zero conversions. Lesson: check the top 10 results for your target keyword before you write. If the top 10 are all "how does X work" informational articles and your product is commercial, you're writing for the wrong audience.
Broke #2: I forgot to set up 301 redirects for an early URL change. I changed one slug in week 3 and didn't redirect the old URL. That article lost its ranking for two weeks while Google re-crawled. Lesson: never change a slug after publication without a 301.
Broke #3: I got a weird backlink from a scrape site in week 9. Someone scraped one of my articles and linked to it from a low-quality directory. Google flagged the link in Search Console. I disavowed it. Took about 20 minutes. Lesson: check your backlink profile weekly during the push phase so you can catch and disavow junk links before they hurt you.
None of these broke the test. They just slowed it down.
Final numbers
- Articles published: 23
- Articles indexed: 23
- Articles ranking in top 50: 14
- Articles ranking in top 20: 7
- Articles ranking in top 10: 4
- Head term article final position: 5 (on day 102)
- Total organic clicks in 90 days: 1,240
- Total AI referrals (ChatGPT, Perplexity, Claude): 184
- Time invested: 38 hours (avg 2.9 hrs/week)
- Money spent: $127 (domain + tool APIs)
Reaching position 5 for a head term in a competitive niche on a fresh domain in 102 days, with 38 hours of work and $127 in costs, is not an impossible achievement. It's a boring, methodical one. Nothing I did was clever. I picked a keyword, published articles in a specific order, earned links, and waited.
The schedule is the thing. If you follow it, you get a similar outcome. If you deviate, if you try to rank the head term in week 2, if you skip the long-tail phase, if you skip the backlink phase, you don't. I've watched this pattern hold on every domain I've tested it on.
Copy the schedule
Here's the condensed version you can tape to your wall:
- Week 1: Setup. GSC, Analytics, blog infra, sitemap, JSON-LD. No writing.
- Week 2: One long-tail article. Manual. Learn the format.
- Weeks 3-6: One article/week. All long-tail. Different angles. Build the cluster.
- Weeks 7-10: One backlink/week (guest post, resource mention, podcast). One article/week continuing the cluster.
- Week 11: Publish the head term article. Link to it from 6+ existing articles.
- Weeks 12-13: Support the head term. Publish 1-2 more articles. Wait for the lag.
- Week 14+: Wait. The compound will catch up.
13 weeks of work. 4 hours per week. One ranking head term and 20+ supporting articles at the end. That's the formula.
Or skip it entirely
Everything in this schedule is automatable except the backlink outreach. If you don't want to spend 4 hours a week writing articles, point GrowGanic at your domain and let the content pipeline run. It'll publish one article per day on the same long-tail cluster strategy I used, with the same signal coverage, scored above 87 before anything ships. Your 4 hours a week go to the outreach half of weeks 7-10 instead, which is the part where a human still has to show up.
Fresh domain, 90 days, head term ranking. The schedule works. The pipeline runs it for you. The only thing you have to decide is whether you're doing it manually or automated. Either path ends in the same place.
Written by
The GrowGanic Team
We're building the SEO engine we wished existed when we were growing our own SaaS. We write about autonomous content, AI search, and the future of indie distribution. Every article on this blog ships through the same pipeline we sell.