Agency quoted me $1,800/mo + $1,400 setup for 4 articles, then I found out it was ChatGPT. Spent a year building the system myself instead.

Agency quoted me $1,800/mo + $1,400 setup for 4 articles, then I found out it was ChatGPT. Spent a year building the system myself instead.

Hey all,

I'm a small business owner, I run a software company in the marketing space. Spent a long time building out our sites and the traffic still wasn't where I wanted it, so I started learning SEO myself.

Didn't take long before I decided I'd rather hand it off and go back to building. So I started talking to agencies.

Problem was the pricing (first one quoted me $1,800/month plus a $1,400 setup fee for like 4 articles a month) and then when I actually asked about their process, they were running the content through ChatGPT anyway. They just had a system built around it.

So I spent the last year building that system myself, tweaking & improving it as I went. Here's what's actually worked:

1. Keyword research is what steers everything else

Sounds obvious, I still got it wrong for months. Never prompt the AI to "pick a topic and write." Pull keywords that have real intent behind them, check what's already ranking, and look specifically for gaps where competitors have coverage and you have nothing. I use Semrush + DataForSEO for this and it's worked well. Writing for volume without matching intent is how you end up with 50 articles ranking for nothing, which I know because that's what I did first.

2. Deep research for every article

Scrape the top 10 pages for the keyword, pull out what they cover, what questions they answer, what entities they mention. That all becomes context for the writing step. Skip it and you get the generic AI article anyone can spot in two sentences.

3. RAG over your own site pages

Crawl your pages, embed them, give the writing agent retrieval access. Two payoffs: it stops repeating topics you've already covered (cannibalization), and it describes your product accurately instead of making up features. Helps a lot with internal linking too.

4. Internal linking needs its own dedicated pass

This was one of the biggest single lifts for me and almost nobody does it properly. After generating, semantically match the new article against everything you've already got and insert links in both directions. New article points to old ones, old ones get updated to point at the new one. Vary the anchor text. An orphan page is a page that doesn't rank.

5. Pillar / cluster structure

Pick 4 or 5 core topics as pillars. Everything you publish is a cluster page linking up to its pillar. Google reads that as topical authority. Without it you've just got 200 unrelated posts and no signal.

6. Refresh your content on a schedule

Content decays. Every 2 to 3 months I re-run the research step on the top 20% of pages, update the stats, add sections for subtopics that have come up since, resubmit. Refreshed pages usually outperform brand new ones for a fraction of the effort. That one surprised me.

7. Put a real author on each post

Same articles, but with a real byline linked to an actual LinkedIn or X profile. It moved the needle. E-E-A-T isn't a myth and faceless content underperforms.

8. Image quality matters more than you'd think

If your images look obviously AI generated, bounce rate goes up. I can't prove what Google does with Chrome data and I know that one gets argued about, but the correlation between bad images and bad dwell time was consistent enough on my sites that I stopped fighting it.

9. Backlinks

When we started adding backlinks to the system, that's when we saw the biggest jump in the number of keywords we were ranking for. Content on its own plateaued after 6 months.

What didn't work

10. "JSON schema so AI can read your page." Structured markup still helps for rich snippets in classic search, that part's fine. But LLMs are built to process natural language, that's the whole point of them. Clear prose with real numbers in it does far more.

11. More than about 5 new pages a day. Crawl budget is finite and it gets allocated based on how much authority Google thinks your site has. Dump 100 pages at once and most of them just sit there undiscovered. Spreading it out sends a sustained freshness signal and that compounds. One a day for a year beats 365 in a month, and it isn't close.

12. llms.txt. Doesn't do anything useful. Not risky, just a waste of time. Same for making markdown versions of your pages, for the same reason as the schema thing. You're structuring data for a model that was specifically built to handle unstructured data.

u/Other_Art7520 — 9 days ago
▲ 101 r/SEOorganic+1 crossposts

I almost killed my SEO strategy 2 weeks before it started working.

Hey

I run a small B2B product and I have a technical background. I always treated marketing as something I'd "get to later". Earlier this year I finally committed to SEO properly after my meta ads account got banned for no reason.

So the reason I'm posting the screenshot of my search console is the shape of that chart, not the numbers. 10K clicks is nothing special. But look at the first two months. Dead flat. I was publishing constantly and getting nothing back, and every week I had the same argument with myself about whether to stop wasting time on this.

Around week 6 I stopped writing the posts by hand. I spent a weekend building something that does most of the pipeline for me now, and honestly that's the only reason I was still publishing in September at all.

Then mid October it just... started. Nothing special happened that week. No viral post, no big backlink. It was everything from August finally kicking in.

Things I wish someone had told me before month 1 about SEO:

  1. Track impressions before clicks. During my "dead" two months, the impressions line was quietly climbing the whole time while clicks sat near zero. Google was testing my pages on page 2-3 before committing to a real position. Impressions are the leading indicator, so if yours are rising while clicks aren't, you're not failing, you're in the queue. Check that graph before you decide anything is broken.
  2. That mid-August spike meant nothing. My mid-August spike was one page catching a trending search, popping for 48 hours, then dying. I almost rebuilt my whole content plan around what that page "did right", when the truth is it just got lucky. A spike tells you nothing. The only number worth reacting to is whether your floor is slowly rising week over week.
  3. Fix titles before you write anything new. At average position 7 with a 2.5% CTR, plenty of people were seeing my pages and scrolling right past. One afternoon rewriting the titles and meta descriptions on my top 15 pages moved more clicks than two full weeks of new articles. Before you write your next post, go earn the clicks you're already ranking for.
  4. My "good" articles did worse than my rushed ones. The articles I spent a lot of time on in July underperform the faster, more regular stuff I shipped in September. The September batch took me a fraction of the time because I wasn't writing them start to finish anymore, and they still won. I don't love admitting that, but the data is the data. Pick a cadence you can actually sustain and hit it, because a steady average beats a few perfect pieces every time.
  5. Put real authors on your content, with links. I added a proper author byline to my long-form posts, name, short bio, and an actual link to a real LinkedIn/X profile. Google leans on E-E-A-T (experience, expertise, authority, trust) and an anonymous wall of text scores badly on all four. Two of my pages climbed within weeks of doing nothing but adding a credible human behind them. Make sure the profile you link is real and filled out, a dead link is worse than none.
  6. Steal the "People Also Ask" boxes. For every keyword I was targeting, I'd Google it and copy down the questions in the People Also Ask box, then answer each one as an H2 inside the article. Those are literally Google telling you what related things people search for. Toward the end I started using tools like AlsoAsked and AnswerThePublic to pull these faster instead of doing it by hand for every keyword, and eventually just fed them straight into the pipeline. It got me ranking for a pile of long-tail questions I never would have thought to target, and it's the fastest way I found to pick up featured snippets.

There's about a 2 month lag between doing the work and seeing it in the chart. The traffic that showed up in October was from articles I published in August, back when I was ready to quit because nothing was happening. If you're in the flat part right now, that's not necessarily a sign to stop, it might just mean you're 6 weeks early.

We'll see if it holds. Happy to answer questions on my SEO system or to help anyone currently in the flat part.

EDIT: Proof of traffic | Website

u/Other_Art7520 — 18 days ago