
This case study documents a real SEO campaign for a mid-sized B2B SaaS company. Over 90 days, we increased organic traffic from 18,000 monthly visits to over 45,000 — a 150% increase. No paid ads, no shortcuts, no black-hat tactics. Just systematic, data-driven SEO execution.
This case study documents a real SEO campaign for a mid-sized B2B SaaS company. Over 90 days, we increased organic traffic from 18,000 monthly visits to over 45,000 — a 150% increase. No paid ads, no shortcuts, no black-hat tactics. Just systematic, data-driven SEO execution.
This article breaks down exactly what we did, week by week, so you can replicate the results for your own website.
Client: GrowthStack (name anonymized) — a B2B SaaS company offering marketing automation software.
Industry: Marketing technology (Martech)
Starting traffic: 18,024 monthly organic visits
Domain authority: 42 (Ahrefs)
Existing content: 87 blog posts, mostly between 500-1,200 words
Key challenge: High bounce rate (72%), low keyword rankings outside of branded terms
Goal: Double organic traffic within 90 days
Before making any changes, we conducted a comprehensive SEO audit to identify opportunities and problems.
| Issue | Impact | Severity |
|---|---|---|
| Thin content (most posts <1,000 words) | Low topical authority | High |
| No internal linking strategy | Poor link equity distribution | High |
| Zero content silos or topic clusters | Low relevance signals | High |
| Slow page speed (LCP of 4.2s) | Poor user experience and ranking | Medium |
| Missing meta descriptions on 40% of pages | Lower CTR | Medium |
| No schema markup | Missing rich snippet opportunities | Medium |
| Keyword cannibalization (5 articles targeting same keywords) | Confused search intent | Medium |
Using Ahrefs, we identified 142 keywords ranking on page 2 (positions 7-15) with monthly search volumes between 200 and 2,500. These "low-hanging fruit" keywords represented our fastest path to traffic growth.
Our core strategy was to reorganize content around topic clusters — a pillar page for broad topics surrounded by cluster content targeting specific subtopics, all linked together.
Before: 87 unrelated blog posts After: 5 content hubs with 20+ supporting articles each
Actions taken:
Fixed page speed: Compressed all images (WebP format), enabled caching, deferred JavaScript, and moved to a faster hosting provider. Result: LCP dropped from 4.2s to 1.6s.
Consolidated duplicate content: Merged 5 articles targeting "email marketing automation" into one comprehensive guide. Set up 301 redirects from the removed URLs.
Added schema markup: Implemented Article schema, FAQ schema, and BreadcrumbList schema across all pages.
Fixed crawl errors: Repaired 23 broken links and submitted updated sitemap to Google Search Console.
Results so far:
Actions taken:
Mapped existing content to topics: Categorized all 87 posts into 5 core topic areas.
Identified gaps: Found 34 high-volume subtopics with no existing content.
Created content briefs: Developed detailed briefs for each new piece, including target keyword, search intent, word count targets, and competitor analysis.
Rewrote thin content: Expanded 20 existing posts from ~800 words to 2,000+ words with added sections, examples, and data.
Tools used: Ahrefs (keyword research), Clearscope (content optimization), Google Search Console (performance data)
Actions taken:
Published pillar pages: Created 5 comprehensive pillar pages (3,000-5,000 words each) covering:
Published cluster content: Wrote and published 28 supporting articles (1,500-2,500 words each), each targeting a specific long-tail keyword and linking back to the relevant pillar page.
Optimized older posts: Updated 30 existing articles with fresher data, internal links, and improved formatting.
Added CTAs: Included relevant calls-to-action in 50 articles to improve conversion paths.
Content production volume:
Actions taken:
Skyscraper technique: Identified 20 popular articles in our space, created superior versions, and reached out to sites linking to the originals.
Resource page outreach: Found 50 resource pages listing marketing tools/guides. Pitched our pillar pages for inclusion. Secured 12 backlinks.
Guest posting: Published 4 guest posts on industry sites (MarketingProfs, HubSpot, Search Engine Land) with links back to our content.
Internal linking optimization: Added contextual internal links throughout the site. Each article now links to 3-5 other relevant articles.
Promoted on social: Shared new content on LinkedIn, Twitter, and in relevant Slack/Discord communities.
| Metric | Day 1 | Day 30 | Day 60 | Day 90 |
|---|---|---|---|---|
| Monthly organic visits | 18,024 | 22,140 | 31,560 | 45,100 |
| Keyword rankings (top 10) | 47 | 68 | 112 | 174 |
| Keyword rankings (top 3) | 12 | 18 | 31 | 52 |
| Domain authority | 42 | 43 | 44 | 46 |
| Bounce rate | 72% | 68% | 61% | 55% |
| Article | Traffic (Month 3) | Target Keyword | Rank |
|---|---|---|---|
| "Complete Guide to Email Automation" | 4,200 visits | email automation guide | #2 |
| "How to Score Leads Effectively" | 3,100 visits | lead scoring best practices | #3 |
| "CRM Integration Checklist" | 2,800 visits | CRM integration guide | #1 |
| "Marketing Analytics for Beginners" | 2,400 visits | marketing analytics basics | #4 |
| "Campaign Personalization Tactics" | 2,100 visits | email personalization strategy | #2 |
Topic clustering — This was the single most impactful change. Search engines rapidly improved rankings for related keywords after we siloed content.
Expanding thin content — Several of our best-performing articles were existing posts that we expanded with more depth and data.
Page speed improvements — The site-wide speed optimization likely contributed to better crawl budget and user signals.
Internal linking at scale — Adding 3-5 contextual links per article distributed authority more effectively.
Aggressive guest posting — We spent significant time on guest post outreach with modest link returns (12 links from 50 outreach attempts). The ROI was lower than expected.
FAQ page schema — While easy to implement, FAQ schema did not generate a noticeable increase in CTR or impressions within 90 days.
Social media promotion — Drove minimal traffic to SEO content. Social works better for promotional/brand content.
Content quality beats content quantity. Our 5 pillar pages drove more traffic than 20 shorter articles combined.
Patience is non-negotiable. Most ranking improvements appeared between weeks 6-10. Nothing happened in the first 3 weeks.
Technical SEO is a prerequisite, not a differentiator. Fixing page speed and crawl errors removed barriers but didn't directly increase traffic.
You don't need thousands of backlinks. A targeted outreach campaign (12 quality links) plus excellent internal linking was sufficient.
Search intent is everything. Articles that perfectly matched search intent ranked faster and converted better.
Use this checklist to run your own 90-day SEO campaign:
Increasing organic traffic by 150% in 90 days is ambitious but achievable with the right strategy. The formula is simple: fix technical issues, organize content into topic clusters, publish high-quality pillar pages, expand existing content, and distribute authority through smart internal linking.
No single tactic drove these results — it was the combination of systematic improvements across content, technical SEO, and linking strategy. Apply this framework to your own site, and you can achieve similar growth.
No approved comments are visible yet. New community replies may wait for moderation.