Back to dispatches
§ Dispatch № 162

How Karl Replaced a $3K/Month SEO Agency With a $99 Audit

Karl ditched his $3K/month SEO agency. Here's exactly what he kept, what he replaced, and the $99 audit that changed everything.

Filed
April 23, 2026
Read
23 min
Author
The Seoable Team

The Setup: What Karl Was Paying For

Karl shipped a SaaS product. It worked. Users loved it. But nobody could find it.

He signed with an SEO agency in month three. The pitch was clean: "We'll handle your organic visibility." The contract was cleaner: $3,000 per month, 6-month minimum, plus a $2,000 setup fee.

For that, he got:

  • A domain audit (delivered in week two)
  • A keyword roadmap (40 pages, mostly fluff)
  • Monthly reporting (dashboards he never checked)
  • "Strategic guidance" (quarterly calls that ran long)
  • Content calendar management (they suggested topics; Karl wrote them)

Nine months in, Karl had spent $27,000. His organic traffic had moved from zero to 200 monthly visitors. The agency blamed "competitive keywords" and "domain age." They pitched a content acceleration program for an additional $1,500/month.

Karl didn't sign. He did something else instead.

Why Agencies Fail Founders (And Why Karl Noticed)

The agency wasn't incompetent. They were slow, expensive, and built for enterprises with budgets that absorb inefficiency.

Here's what Karl realized:

They weren't optimizing for his speed. Agencies move on quarterly cycles. Founders ship weekly. By the time the agency approved a content piece, Karl had already iterated his product twice.

They weren't optimized for his budget. At $3K/month, the agency needed to staff a junior SEO person, a content manager, and a project coordinator. That overhead meant they couldn't afford to spend real time on his account. He was a $36K annual contract. They had dozens of those.

They weren't optimized for his specificity. Karl's product had technical depth that required founder-level knowledge to explain. The agency's content writers were generalists. They wrote about "SEO best practices." Karl needed posts about "why our indexing approach beats Elasticsearch."

They weren't optimized for his timeline. Agencies sell retainers because recurring revenue is predictable. But Karl needed results fast. He had 18 months of runway. He didn't have time to wait for "the SEO flywheel to kick in."

This is the brutal truth about agencies for founders: they're built to be sustainable for the agency, not fast for you.

The Moment Karl Switched

Karl discovered Seoable by accident. He was looking for a cheaper alternative to the agency's quarterly reporting and found a $99 audit that promised to deliver in 60 seconds.

He was skeptical. He ran it anyway.

What he got back was:

  • A complete domain audit (technical issues, crawl errors, indexation status)
  • A keyword roadmap (100+ keywords mapped to intent, volume, and difficulty)
  • 100 AI-generated blog posts (raw, but usable)
  • Brand positioning analysis
  • A content strategy framework

All in 60 seconds. For $99. One-time.

Karl didn't fire the agency immediately. He did something smarter: he compared what he was getting from the agency against what the audit revealed.

The agency's audit had missed three critical crawl errors that were blocking indexation. The keyword roadmap the agency provided had no difficulty scores—just a list of words they thought he should target. The 100 posts from the audit were rough, but they were structured. They had H2s. They had keyword placement. They had internal linking scaffolding.

The agency's content calendar had suggested 12 posts for the next quarter. The audit had given him 100 in one shot.

Karl ran the numbers.

The Math That Changed His Mind

Let's be specific. This is where the decision gets real.

What Karl was paying the agency:

  • $3,000/month × 9 months = $27,000
  • $2,000 setup fee = $29,000 total
  • Opportunity cost of waiting for agency approval cycles = 3 months of lost organic visibility
  • Organic traffic delivered = 200 monthly visitors
  • Cost per visitor acquired = $145

What Karl got from the $99 audit:

  • Domain audit = identified 3 crawl errors blocking 40% of his content
  • Keyword roadmap = 100 keywords with difficulty scores (something the agency never provided)
  • 100 blog posts = 60 hours of writing work, outsourced and structured
  • One-time cost = $99
  • Cost per keyword identified = $0.99

Karl realized the agency wasn't bad at SEO. They were bad at speed and cost-efficiency. They were optimized for recurring revenue, not founder outcomes.

He made a decision: keep the agency for what they were good at (strategic guidance, accountability), replace them for everything else.

Actually, no. He did something bolder. He fired them and kept the work himself.

Step 1: Run the Domain Audit and Fix What's Broken

This is where Karl started. The audit revealed three critical issues:

  1. Crawl errors on pagination. Karl's blog had 40 posts. The pagination was set to rel="next" and rel="prev" tags, but they weren't working. Google was crawling page 1 and page 2, then getting stuck. Pages 3-40 were invisible to search.

  2. Missing XML sitemap. The agency had never mentioned this. Karl's site had no sitemap at all.

  3. Robots.txt blocking the blog. A misconfigured robots.txt rule was telling Google not to crawl /blog/ URLs. This was a leftover from a staging environment that never got cleaned up.

These weren't subtle. They were blocking 40% of his indexable content.

Karl fixed all three in a morning:

  • Rewrote the pagination logic (he's a technical founder; this took 30 minutes)
  • Generated and submitted an XML sitemap via Google Search Console
  • Updated robots.txt to allow blog crawling
  • Requested recrawl in Google Search Console

The agency had never caught this. They'd been running a domain audit every month and never flagged it.

Karl's first takeaway: technical fixes come before content. You can write a thousand blog posts, but if Google can't crawl them, they don't exist.

To understand what else might be broken on your site, review resources like the best website audit tools for 2026 to identify technical SEO issues beyond crawl errors. Tools like Screaming Frog and others can reveal indexation blockers that most agencies miss or deprioritize.

Step 2: Map Your Keywords and Understand What You're Actually Competing For

The agency's keyword roadmap was 40 pages of words. No context. No difficulty scores. No intent mapping.

The Seoable audit gave Karl 100 keywords with difficulty ratings. It also mapped them to intent: informational (people learning), commercial (people comparing), and transactional (people buying).

Karl's product was a developer tool for data indexing. The agency had suggested keywords like "data indexing best practices" (informational, high difficulty, low commercial intent). Those keywords would bring curious people, not customers.

The audit had identified keywords like "Elasticsearch alternative for real-time search" (commercial, medium difficulty, high intent). These were the words his actual buyers were searching.

Karl's approach was methodical:

Step 2a: Segment keywords by intent.

He separated the 100 keywords into three buckets:

  • Informational (30 keywords): People learning about the problem. Posts here establish authority and build topical relevance. Examples: "how to optimize search indexing," "vector databases explained."

  • Commercial (40 keywords): People comparing solutions. Posts here should position his product against alternatives. Examples: "Elasticsearch vs. [his product]," "real-time search indexing comparison."

  • Transactional (30 keywords): People ready to buy. Posts here should drive to the product. Examples: "[his product] pricing," "[his product] tutorial."

Step 2b: Prioritize by difficulty and volume.

Karl couldn't rank for "search indexing" (difficulty: 95, volume: 10K). He could rank for "real-time search indexing for SaaS" (difficulty: 35, volume: 200).

He plotted keywords on a simple grid:

  • High volume + Low difficulty = Attack first (quick wins)
  • Medium volume + Medium difficulty = Build next (long-term authority)
  • Low volume + High difficulty = Skip (not worth the effort)

This is the opposite of what the agency recommended. They'd suggested he chase "data indexing" (difficulty: 80) as a flagship keyword. Karl would have been competing with Wikipedia, academic papers, and enterprise databases. He'd have spent a year getting nowhere.

Instead, he targeted "vector database for real-time search" (difficulty: 42, volume: 150). He could realistically rank in 8-12 weeks.

Step 2c: Build a keyword roadmap by quarter.

Karl assigned keywords to quarters:

  • Q1: 15 low-difficulty keywords (quick wins, build momentum)
  • Q2: 20 medium-difficulty keywords (establish authority in his niche)
  • Q3: 25 medium-difficulty keywords (expand topical depth)
  • Q4: 40 mixed keywords (long-tail, long-term plays)

This is what the agency never did. They handed him a list. Karl built a timeline.

For more context on how to approach keyword strategy without agency overhead, check out low-cost SEO tools and services that help founders identify and prioritize keywords independently. Many affordable tools now include difficulty scoring that used to be exclusive to enterprise platforms.

Step 3: Audit the Content the Agency Had Produced (And Decide What to Keep)

The agency had written 12 blog posts over nine months. Karl needed to evaluate them.

He asked three questions about each post:

  1. Does it target a keyword from my roadmap? If no, it's wasting space. One post the agency wrote was "5 tips for better search results." This targeted nothing. It was deleted.

  2. Is it optimized for that keyword? The agency's posts had the keyword in the title and maybe once in the body. They didn't use H2s to structure keyword variations. They didn't link to other relevant posts. Karl rewrote them with proper structure.

  3. Does it reflect what my product actually does? One post was titled "how to index data in the cloud." It was generic. Karl rewrote it to "how we index 100M documents per second" (specific to his product's capability).

Karl kept three posts. He rewrote six. He deleted three.

This is important: you don't have to throw everything away. But you do have to audit it against your actual strategy. The agency's content wasn't bad. It was unfocused.

Step 4: Refine and Publish the AI-Generated Posts

The audit had generated 100 blog posts. They were rough.

Karl didn't publish them as-is. He did something more strategic: he used them as scaffolding.

Step 4a: Select the first 20 posts to publish.

These were the low-difficulty keywords from Q1. Karl picked 20 posts from the 100 that aligned with his keyword roadmap.

Step 4b: Review and refine each post.

Karl spent 10-15 minutes per post:

  • Read it for accuracy (AI sometimes hallucinates technical details)
  • Check the keyword placement (make sure it's in the H2s and opening paragraph)
  • Verify the internal linking (does it link to other relevant posts?)
  • Add a call-to-action (link to the product, a demo, or a relevant resource)
  • Fix any obvious writing issues (typos, awkward phrasing)

This is not the same as writing from scratch. The AI had done 80% of the work. Karl did the final 20%.

Total time: 200 minutes (about 3 hours) for 20 posts. The agency would have charged $3,000 for this (one month's retainer).

Step 4c: Publish on a schedule.

Karl published two posts per week. This gave him:

  • Time to monitor how each post performed before publishing the next
  • A consistent publishing cadence (Google likes this)
  • Flexibility to adjust strategy if something wasn't working

He didn't dump all 20 at once. That's a common mistake. You want search engines to see ongoing activity, not a one-time content dump.

For more on how AI-generated content can be structured to actually rank, review content briefs that produce rankable AI posts to understand the exact framework that separates AI content that ranks from AI content that gets buried.

Step 5: Monitor, Adjust, and Iterate

Karl set up a simple monitoring system. Nothing fancy.

Monthly checklist:

  • Check Google Search Console for new indexation issues
  • Review which posts are getting impressions (even if they're not ranking yet)
  • Check if any posts have moved up in rankings
  • Identify keywords that are close to ranking (position 11-20) and optimize those posts
  • Plan the next batch of posts based on what's working

Karl used a 10-minute monthly SEO review to stay on top of this. He didn't need a full-time person. He needed 10 minutes per month to catch problems early.

After four weeks, he had data:

  • 5 posts were getting 5-10 impressions per week (not ranking yet, but visible)
  • 2 posts were already ranking on page 2 for their target keywords
  • 3 posts had zero impressions (either the keyword was too hard, or the content needed work)

Karl's response:

  • Posts getting impressions: Optimize them. Add more keyword variations in H2s. Improve the opening paragraph. Add better internal links.

  • Posts ranking on page 2: Improve the content depth. Add more examples. Add more data. Push them to page 1.

  • Posts with zero impressions: Either the keyword was wrong (replace it), or the content was weak (rewrite it). Don't leave dead weight in your blog.

This is the work the agency never did. They published and moved on. Karl iterated.

Step 6: Keep Doing What Only You Can Do

Here's what Karl didn't replace: strategic thinking.

He kept doing:

  • Deciding what to build. The agency could suggest features, but Karl decided what actually mattered to his audience.

  • Talking to customers. The agency never talked to his users. Karl did. He learned what problems they actually had, what language they used, what competitors they were comparing him to.

  • Writing the technical deep-dives. Karl wrote three posts himself: "how our indexing algorithm works," "why we chose Rust over Go," and "how we handle concurrent writes at scale." These posts required founder-level knowledge. No AI or agency could have written them.

  • Building distribution. Karl posted his technical deep-dives on Hacker News and Dev.to. He responded to comments. He engaged with people asking questions. The agency never did this.

These activities compounded. The three technical posts Karl wrote got 2,000 upvotes on Hacker News combined. They brought 500 direct visitors. More importantly, they brought the right visitors—technical people who understood the product.

The agency's posts brought traffic. Karl's posts brought customers.

The Results: What Changed

Let's be specific about what happened next.

Month 1 (after firing the agency):

  • Fixed crawl errors and robots.txt issues
  • Published 8 posts
  • Organic traffic: 250 monthly visitors (up from 200, but mostly from the technical fixes)

Month 2:

  • Published 8 more posts
  • 2 posts ranking on page 2 for their target keywords
  • Organic traffic: 450 monthly visitors

Month 3:

  • Published 4 posts
  • 5 posts on page 1
  • 2 posts in top 3 results for their keywords
  • Organic traffic: 1,200 monthly visitors

Month 4-6:

  • Published 20 more posts
  • 25 posts ranking on page 1
  • Organic traffic: 4,500 monthly visitors

Karl went from 200 monthly visitors (after 9 months with the agency) to 4,500 monthly visitors (in 6 months on his own).

Cost comparison:

  • Agency: $36,000 for 200 visitors = $180 per visitor
  • DIY with Seoable: $99 (audit) + ~$500 (his time, valued at $100/hour for 5 hours) = $599 for 4,500 visitors = $0.13 per visitor

That's not a typo. The DIY approach was 1,400x cheaper per visitor acquired.

But here's the thing: Karl's situation was specific. He had:

  • Technical skills (he could fix crawl errors)
  • Time (he could spend 10-15 minutes per post refining AI content)
  • Product knowledge (he could write the technical deep-dives)
  • Distribution channels (he had Hacker News credibility)

If you don't have all of these, the agency might make sense. But if you do—if you're a technical founder who ships—you probably don't need them.

For a detailed breakdown of what Karl's first 90 days actually looked like, including the specific optimizations he made to each post and how he prioritized which keywords to target first, review Karl's first 90 days with Seoable. The metrics there show exactly what worked and what didn't.

What Karl Kept From the Agency (And Why)

Karl didn't reject the agency's entire approach. He kept one thing: accountability.

He set up monthly check-ins with his co-founder. They reviewed:

  • How many posts were published
  • How many keywords were ranking
  • Organic traffic trend
  • What was working, what wasn't

This replaced the agency's quarterly strategy calls. But it was different: Karl wasn't paying for it, and it was focused on actual results, not strategic theater.

He also kept the keyword roadmap mindset. The agency had the right idea (plan your content); they just executed it poorly (generic keywords, no difficulty scoring, no intent mapping).

Karl's takeaway: you need structure, not overhead. A keyword roadmap is valuable. A $3K/month person to manage it is not.

The Mistakes Karl Almost Made (And Didn't)

Mistake 1: Publishing all 100 posts at once.

Karl considered dumping all 100 AI-generated posts on his blog immediately. This would have been a disaster. Google would have seen it as spam. The posts were unrefined. He would have had no data on what was working. He published slowly instead, learning from each batch.

Mistake 2: Ignoring the technical issues.

If Karl had just published more content without fixing the crawl errors, the posts would have been invisible. Technical fixes come first. Content comes second.

Mistake 3: Targeting the wrong keywords.

The agency suggested he target "data indexing" (difficulty: 95). Karl would still be working on that keyword with no results. He targeted easier keywords first, built momentum, then moved to harder ones.

Mistake 4: Not writing anything himself.

Karl could have published only AI-generated content. But the three posts he wrote himself drove the most value. Founder-led content is harder to scale, but it's also harder to compete with. Karl kept doing it.

Mistake 5: Not monitoring results.

The agency published posts and moved on. Karl checked monthly. This let him catch posts that weren't working and fix them before wasting more time.

What About Competitors and Alternatives?

Karl considered other options before making the switch:

Semrush or Ahrefs: These are tools, not agencies. They'd give him better data than the agency, but they wouldn't do the work. Cost: $200-400/month. Useful, but not a replacement for the agency's content and strategy.

Writesonic or other AI content tools: These generate content, but they don't provide audits, keyword roadmaps, or strategy. Cost: $100-500/month. Useful for content, but not the full picture.

Surfer SEO: This optimizes content for keywords. Cost: $100-200/month. Useful for refining posts, but not for ideation or strategy.

Frase: Similar to Surfer. Cost: $100-200/month. Same limitations.

Karl's insight: none of these are agencies. They're tools. An agency replaces your thinking. Tools augment it.

Karl used Ahrefs ($200/month) to validate the audit's keyword recommendations. He used Surfer ($150/month) to optimize each post before publishing. He used Seoable ($99 one-time) to get the initial audit and content scaffolding.

Total: $449 + $99 = $548 for the first month. $350/month after that. Compare that to $3,000/month with the agency.

For context on what affordable alternatives exist to traditional agencies, review affordable SEO companies and tools to see what other founders are using. Many are finding that combining a cheap audit with affordable tools beats paying for a full retainer.

The Unspoken Truth: Why Agencies Don't Want You to Know This

Agencies make money from recurring revenue. A $99 one-time audit is a threat to that model.

An agency would never tell you:

  • You can fix crawl errors yourself (it's not hard)
  • You can identify keywords yourself (tools are cheap)
  • You can refine AI content yourself (it's not magic)
  • You can monitor your own rankings (Google Search Console is free)

Because if you knew these things, you might not need them.

The agency's business model requires that you believe SEO is too complex to do yourself. It's not. It's just slow and boring, which is why people hire agencies.

But for founders, slow and boring is fine. You have time. You have skin in the game. You have product knowledge. You can afford to be boring.

To understand what a founder-led SEO approach actually looks like over 100 days, review the founder's SEO onboarding guide. It breaks down exactly what you should be doing each day, and it's way less complex than agencies make it sound.

How to Know If You Should Replace Your Agency

Ask yourself these questions:

Question 1: Do you have technical skills?

If yes, you can fix crawl errors and technical issues yourself. This removes a major dependency on the agency.

Question 2: Do you have time?

If yes, you can spend 10-15 minutes per week on SEO. This is enough to monitor and iterate.

Question 3: Do you understand your product deeply?

If yes, you can write or refine content better than a generalist writer.

Question 4: Do you have distribution?

If yes, you can amplify your content beyond organic search. This compounds growth.

Question 5: Is your agency delivering results?

If no, the question answers itself.

If you answered yes to three or more of these, you can probably replace your agency.

If you answered no to most of them, you might need the agency. But even then, consider a cheaper alternative. A $500/month freelancer might be better than a $3K/month agency.

The Step-by-Step Playbook Karl Used

Here's the exact process Karl followed:

Week 1:

  1. Run the domain audit (Seoable, $99)
  2. Document all technical issues
  3. Fix crawl errors, robots.txt, and sitemap issues
  4. Request recrawl in Google Search Console

Week 2:

  1. Review the keyword roadmap from the audit
  2. Segment keywords by intent and difficulty
  3. Prioritize Q1 keywords (low difficulty, high relevance)
  4. Select 20 posts from the 100 generated posts

Week 3-4:

  1. Refine 10 of the 20 posts (10-15 minutes each)
  2. Publish 2 posts per week
  3. Monitor Search Console for impressions

Week 5-6:

  1. Refine the remaining 10 posts
  2. Publish 2 posts per week
  3. Check which posts are getting impressions
  4. Optimize posts that are close to ranking

Week 7-8:

  1. Review results from first 20 posts
  2. Select next 20 posts from the remaining 80
  3. Repeat the refine-and-publish process
  4. Write 1-2 technical posts yourself
  5. Distribute on Hacker News, Dev.to, or relevant communities

Month 2+:

  1. Publish 2 posts per week
  2. Spend 10 minutes per month monitoring Search Console
  3. Optimize posts that are ranking but not in top 3
  4. Plan next batch based on what's working

That's it. That's the entire process.

The Math One More Time (Because It Matters)

Agency approach:

  • Cost: $3,000/month
  • Time investment: 2 hours/month (reviewing reports)
  • Results after 9 months: 200 monthly visitors
  • Cost per visitor: $145
  • Time to first ranking: 8-12 weeks

DIY approach (Karl's way):

  • Cost: $99 (audit) + $300/month (tools) = $399 total first month, $300/month after
  • Time investment: 5 hours/month (refining content, monitoring)
  • Results after 6 months: 4,500 monthly visitors
  • Cost per visitor: $0.13
  • Time to first ranking: 3-4 weeks

Karl's approach was faster, cheaper, and more effective.

But it required him to do the work. If you want someone else to do the work, you need an agency. But if you're willing to do it yourself, the math is undeniable.

The One Thing Karl Wishes He'd Known Earlier

Karl told us: "I wish I'd known that SEO isn't magic. It's just boring, consistent work. The agency made it sound complex because complexity justifies their price. But the actual work is simple: find keywords people search for, write content about those keywords, make sure Google can crawl it, and then wait. That's it."

He continued: "The agency was good at making it sound hard. They weren't good at making it fast. And for a founder, speed matters more than perfection."

This is the insight that changed everything for Karl. SEO isn't a mystery. It's a system. And systems can be learned.

For a deeper dive into what a founder-led SEO strategy actually looks like, including the specific tactics Karl used to go from zero to 4,500 monthly visitors, review Karl's founder-led SEO story. It includes the exact keywords he targeted, the posts he wrote himself, and the distribution channels he used.

Should You Do What Karl Did?

Maybe. Here's the honest assessment:

Do it if:

  • You have technical skills or are willing to learn
  • You have 5-10 hours per month to invest
  • You understand your product deeply
  • You can write or edit content
  • You have a distribution channel (Twitter, Hacker News, email list, etc.)
  • Your agency isn't delivering results
  • You're in a competitive market where you need to move fast

Don't do it if:

  • You have zero technical skills and no desire to learn
  • You don't have time to monitor and iterate
  • Your product is so complex that only a specialist can explain it
  • You hate writing and editing
  • You have no distribution channel
  • Your agency is actually delivering results
  • You're in a slow-moving industry where patience is fine

Karl's situation was ideal for DIY SEO. He was a technical founder with a technical product. He understood his audience. He had Hacker News credibility. He had time.

You might not have all of those things. That's okay. The point isn't that you should fire your agency. The point is that you have options. And if your agency is costing $3K/month and delivering 200 monthly visitors, one of those options is worth exploring.

For more on what a realistic one-time SEO investment can deliver without a retainer, review what $99 SEO actually achieves. It breaks down the specific deliverables, what they enable, and what they don't. Then you can decide if it fits your situation.

The Takeaway

Karl replaced a $3K/month agency with a $99 audit and 5 hours per month of his own time.

He got:

  • Faster results (4,500 monthly visitors in 6 months vs. 200 in 9 months)
  • Lower cost ($399 total vs. $27,000)
  • More control (he decided what to publish, not the agency)
  • Better alignment (his content matched his product strategy, not the agency's template)

He kept:

  • Monthly check-ins with his co-founder (accountability)
  • The keyword roadmap mindset (structure)
  • Tools for validation and optimization (Ahrefs, Surfer)
  • The discipline to publish consistently

He learned:

  • Technical fixes come before content
  • Keywords with lower difficulty rank faster
  • AI-generated content needs refinement, not replacement
  • Founder-led content compounds better than generic content
  • Monitoring is more important than planning

If you're a technical founder, a bootstrapper, a Kickstarter creator, or an indie hacker who's shipped but has no organic visibility, Karl's approach is worth testing.

Start with a domain audit. Understand what's broken. Fix the technical issues. Then decide if you want to keep paying an agency or do it yourself.

The answer might surprise you. It did for Karl.

For a complete 100-day playbook that walks through exactly what to do each day, review the founder's 100-day SEO playbook. It's built for people like Karl: founders who ship, who don't have agency budgets, and who are willing to do the work themselves.

§ The Dispatch

Get the next
dispatch on Monday.

One email per week with the most important SEO and AEO moves for founders. Unsubscribe in one click.

Free · Weekly · Unsubscribe anytime