Three weeks ago, I shared this update on my non-Google reliant niche site. It had just hit 800 visitors in a single day.

Since then, traffic has continued to increase. Last Thursday, the site had a record 1,137 unique visitors. And I’ve only spent a couple hours on it in the last few months!

In that email, I said to let me know if you want me to share how I built the site - specifically the keyword research and content creation/automation process. A bunch of you asked me to share, so here it is!

I’ll focus on the parts that are unique to how I do it, so I don’t waste your time. (…if you don’t know the basics like how to create a website, just buy a domain name, hosting, and build it on WordPress - watch videos or ask your favorite AI assistant if you need help).

The parts that I do differently than most are keyword research and content creation/automation, so that’s what I’ll focus on.

How I did the keyword research

You can use any keyword research tool for this. I use ClearSERP because I built it and honestly think it’s the most powerful keyword research tool out there. It’s also much cheaper than Ahrefs and Semrush.

When I first built the site, I found a pattern of nearly endless, similar keywords. Think keywords like “[word] definition”. There are hundreds of thousands of possible keywords with that format.

  • “there definition”

  • “are definition”

  • “hundreds definition”

  • “of definition”

  • “thousands definition”

  • and so on, for every single word

The angle I found wasn’t quite this clean, so I did have to do some keyword research to discover more keywords following the pattern.

To find them, I primarily drew from lists of keywords competitors were ranking for. You can do this using the Ranked Keywords tool in ClearSERP. Enter any domain, and see every keyword it ranks for. I filtered out all the ones not matching the specific pattern, and was left with hundreds of good keywords to target.

This is the extent of keyword research I did for the site in the first two years. But there’s a glaring problem with this approach. You’re blind to all the keywords competitors haven’t already targeted!

So, next came the hard work of manually searching for more keywords following the same pattern, without relying on competitor keyword lists. This takes a very long time, especially in my niche where the pattern can’t easily be enumerated automatically.

Even in ClearSERP, when I entered a seed keyword in my target pattern, the resulting suggestions were rarely in the same pattern. It took many hours to find even 100 keywords I hadn’t already targeted. And by the way, I did ask ChatGPT to come up with lists of keywords in my format, but even among thousands of unique suggestions, most had zero search volume, and it consistently missed tons of high volume keywords I was aware of. ChatGPT can’t be trusted for serious keyword research, as it’s blind to metrics and is simply unaware of lots of keywords, so it will never “find” or suggest them.

I reached the limits of what’s possible for a keyword tool and LLM, which was actually a great thing for me as the founder of ClearSERP. If I had this problem, so many others did as well. Time to come up with a solution.

And about a month ago, that’s what I did. It took awhile and lots of $$$ to test and refine, but Auto Research is now here.

I used it for my site and got over 1,200 unique keywords following the correct pattern, just by briefly explaining the type of keywords I wanted to target, and clicking two buttons.

In the background, Auto Research combines multiple research methods to find as many keywords matching your instructions as possible. It then sorts through the thousands of candidate keywords, and only keeps the ones matching the requirements. Then, it automatically groups those into distinct articles to write, with suggested titles and meta descriptions, and it even builds a topical map with the articles organized into different hubs based on the topic.

Depending on the depth, it takes 20 minutes to an hour to run. I couldn’t find any way to speed it up without sacrificing quality, which of course I’m not willing to do. It simply takes that long to find and then validate every keyword individually. For the work it does, it’s actually ridiculously fast. One hour of Auto Research would likely take me 80-100 hours manually.

I have to blame Auto Research for seriously postponing this email. I had it built weeks ago and wanted to write this email weeks ago, but I wasn’t quite happy with the quality of Auto Research, especially in very difficult/narrow niches. I’ve spent the last 3 weeks refining Auto Research to the point where it’s really good. It’s not perfect, but I don’t think perfection is ever achievable.

Auto Research comes in three modes: Quick (500 credits), Thorough (2000 credits), and Exhaustive (4000 credits). If you want to see the difference between each one, I’ve got some examples. These are for a hypothetical SEO blog. The only instructions I gave it were:

I have a blog about SEO, where I want to publish informational content about SEO, reviews of SEO tools, and grow an audience of people who do SEO and are learning more about SEO.

Here are the results at each level:

You’ll get different amounts of article suggestions depending on the niche. The SEO niche has a lot of junk keywords compared to some, which is reflected by the article counts you’ll see in those results. Broader niches, like “recipe blog” will provide far more article suggestions, as there are far more distinct topics in that niche than “informational blog about SEO”.

I hope you see how useful Auto Research is.

Just give it your niche, wait up to an hour or so, and you’ll have a complete list of articles to publish, including which articles link to what, based on real data.

Never again should you be stuck on what articles to write.

I have enough article topics to last my site until October, publishing 24/day. But when this current batch runs out, I’ll just run an Exhaustive research in my particular English grammar niche, and have many thousands more. Of course, I’ll have to deduplicate the keywords against the ones I’ve already targeted, which is an easy job for ChatGPT if I feed it both lists.

And that is how I do keyword research for this site, and every site of mine now.

How I create and automate content

This part is easy. I just set up a workflow in Publish Owl, connect it to my site, feed it my keywords, and run the workflow.

  1. Connecting a site

In Publish Owl, go to Sites, select your platform (in my case it’s WordPress), enter the site name, the url, admin username, and an application password. The other settings are optional. Then, Publish Owl can publish directly to your site.

  1. Set up a workflow

Next, go to Workflows, Create new, and then you can create one manually, or simply describe what type of articles you want to create, and it will create a workflow for you automatically (that you can change all you want).

Workflows are basically a chain of actions that always happen in the same order. Think n8n or Zapier. But specifically for generating content.

Here’s the structure of the workflow I use for my site:

First, there’s the list of keywords. This is what feeds the workflow. The workflow takes each individual keyword and runs it through the entire pipeline start to finish.

That way, each article gets the exact same instructions and settings.

The content generation part is a single step. As you can see, I’m using gpt-5.6-luna, which is very good at following instructions, and also very inexpensive. Each article cost about 1-2 cents.

The prompt for this step is the most important thing to get right. Mine took dozens of iterations before I was consistently happy with the end results. Only part of it is visible in the screenshot, but as you can see it’s extremely clear and detailed.

Also, notice how the prompt never names the keyword it’s writing for. Instead, it uses the variable:

{{keyword}}

Which, when the workflow is run, shows the actual keyword currently selected instead of that variable. That way, the same instructions are applied to each keyword, and the articles all have the same consistent style I want.

The next step after content generation is images.

For this particular workflow, I set up a featured image template so that every article has a consistent featured image.

Here’s an example of building an image template:

In my workflow, the image template {text} variable links to the target keyword, with each word capitalized:

Every featured image has the exact same style, with the words being the only difference. You can get a lot more advanced with image templates, adding multiple text and image variables that map to keyword, title, images in the article, or any custom variable you create.

The next step in the pipeline is internal linking. For this step, it indexed my entire site so it knows every article already on it, then uses AI to decide where to put internal links, and what pages to link to (based on relevance).

That way, every article automatically includes at least one relevant internal link. Most often they are contextual, but if it can’t find any relevant opportunities, it puts it at the end as related reading.

Next, the pipeline adds a collapsible Table of Contents after the first paragraph of every article:

Next, an LLM generates a title for the article based on the article contents, and a title prompt.

And finally, it publishes the finished articles to my site, and schedules each one to go live an hour apart:

And that is the entire content workflow!

The nice thing about this approach compared to just using ChatGPT or Claude to generate articles is that it follows a specific structure every time. There’s no context bloat/overload, and it doesn’t randomly forget a step.

Besides, good luck generating relevant internal links given the entire catalog of content on your site, or perfectly consistent image templates (which are 100% free to generate in Publish Owl as they are not AI generated) using ChatGPT or even Claude Code. Even if you could get Claude Code to do all this, it would use a TON of tokens and quickly eat up your usage. And besides, this is an extremely basic workflow. You can get far, far more advanced in Publish Owl.

Just take a look at these workflow step options you can add before or after any other workflow step:

Yes, you can literally scrape any data from any source, you can paste a YouTube video link and get the entire transcript and screenshots of any frame, which can be used as context - or directly in the article (screenshots can feed image template variables btw 😉), you can get any metrics from DataForSEO as context for an LLM step, you can connect your GSC as context, you can “humanize” the generated content automatically, and you can even automatically optimize the generated content as the last step before publishing. I’m talking about SurferSEO/Frase -level content optimization, where it studies the first page of results, scrapes the html of every page, and compares text, phrase, and element frequencies to your page, studies your article for issues in light of Google’s search quality rater guidelines which the optimizer is trained on, compares your article’s word count, headings, images, lists, tables, external and internal links, and readability to the ranking pages, and then brings your article up to snuff with the sites Google ranks.

Good luck doing all that with ChatGPT, Claude Code, or any other AI tool. It’s possible, but at that point, you’ll have basically built Publish Owl yourself!

If you want to save yourself the headache, just get the $49 subscription to Publish Owl, which gives you unlimited articles, workflows, sites, and everything else. You just bring your own keys for the LLMs and DataForSEO (if you use the features that require it).

And you don’t even need to pay $49; you can literally use it 100% free on up to 10 articles (still BYOK) to test it out first.

Using ClearSERP and Publish Owl in tandem

Both tools complement each other well. Do your research in ClearSERP, then bring those keywords over to Publish Owl, build a workflow, and generate the content.

You can build an entire website with hundreds or thousands of articles in less than a day. No more taking days to do keyword research and build a properly structured topical map. And no more generating one article at a time. Both parts can now be automated.

(I feel like this is a good time to say that of course, I recognize not everyone wants to - or should - use AI for content, and even I don’t in many cases. It depends on the niche and topic. I use it on some of my sites, and not on others where real human thought, research, and writing is important. This newsletter is a good example. Every letter here was typed by yours truly. I’ve been hammering away for 6 hours so far.)

And with that, I should wrap this up.

Go try out the new Auto Research feature, and please let me know what you think! Every ClearSERP plan comes with double credits right now, but that won’t last forever, as the cost to me isn’t sustainable. Now would be a good time to stock up on some credit packs before they’re halved. And if you have a subscription, you’ll keep the current monthly credit allowance for as long as you remain subscribed, even after the promotion is over.

I hope you got something out of this newsletter. Now you know my whole process, and the tool stack that makes it possible to get so much done in so little time.

Thanks for reading,

Ian