I spent most of a year writing articles that nobody was ever going to read. Not because they were bad. Because I picked the topics out of my own head instead of out of a search box.
That is the entire failure mode. You sit down, you think “people probably want to know about this,” you write two thousand words, you publish it, and then you check the numbers three months later and the page has served eleven visitors, four of whom were you on your phone.
Keyword research is the step that decides whether that happens. It is not the fun part. It is not even the hard part. It is just the part almost nobody does honestly, because doing it honestly means admitting that most of the things you want to write about have no audience.
Here is my actual process. Not an agency’s framework. The one I run across a portfolio of niche sites, including the mistakes that are baked into it because I learned them the expensive way.
The Year I Wrote for Nobody
When I started publishing seriously on my own sites, I had a content calendar full of topics I found interesting. Supplier negotiation. Why margins are structured the way they are. My opinions about store design.
Every one of those was a real thing I knew about. Almost none of them were things people typed into Google.
The tell was in my analytics, but I misread it for months. I saw low traffic and concluded the site was too new, or that I needed more backlinks, or that I should publish more often. So I published more of the same. More articles about topics with no search demand behind them.
What was actually happening was simpler. I was answering questions nobody asked. No amount of publishing volume fixes that. You cannot out-work a demand problem.
The month I stopped writing from my own head and started writing from a keyword list, the shape of the traffic graph changed. Not overnight, and not dramatically, but it started going up instead of sideways. Same writer, same site, same effort. Different inputs.
That is the whole lesson, and it cost me most of a year.
Volume Is the Least Useful Number on the Screen
Open any keyword tool and the number your eye goes to first is monthly search volume. It is big, it is bold, it is the thing everybody quotes. It is also the number I trust least.
Three reasons.
First, it is an estimate built on clickstream data and modeling, not a count. Run the same keyword through three tools and you will get three different numbers, sometimes off by a factor of five. Nobody outside Google has the real figure, and Google’s own tools bucket it into wide ranges for anyone not spending on ads.
Second, volume says nothing about who is searching or why. A term with 8,000 monthly searches made up entirely of students writing essays is worth less to me than a term with 70 searches from people holding a credit card.
Third, volume is a monthly average, which flattens seasonality into a lie. A term that does 12,000 searches in November and nothing the rest of the year shows up as a comfortable 1,000 a month. You write for it in March and wonder why the page is dead.
I still look at volume. I use it as a rough floor, not a target. If a term genuinely has near-zero demand and no related cluster around it, I skip it. Beyond that, it barely factors into my decision.
Intent Is the Thing That Actually Decides
Search intent is what the person wants to happen after they type. It is the single most useful signal in the whole process and it is free to read.
The four kinds, in plain terms
Informational: they want to know something. “how does high ticket dropshipping work.” Navigational: they want a specific site. “shopify login.” Commercial: they are comparing before buying. “best keyword research tool for bloggers.” Transactional: they are ready. “semrush pricing.”
Every keyword is one of those four. Most of them announce which one loudly, and the ones that do not will tell you if you look at page one.
Read intent off the results, not off the keyword
This is the part people skip. Before I commit to a term, I search it and look at what Google is already rewarding. Not the tool’s intent label. The actual page.
If the top ten are all product pages, Google has decided this query means “buy something,” and your 3,000 word guide will not rank no matter how good it is. If the top ten are all listicles, Google wants a comparison. If they are forum threads and community posts, Google is telling you it could not find a good article, which is sometimes an opening and sometimes a sign that the query is too messy for one.
Google’s own documentation on creating helpful, people-first content is worth reading once, mostly because it explains what the system is trying to reward. But the live results tell you what it is actually rewarding today, which is more useful.
Why I will take 90 searches over 9,000
Here is the logic that took me too long to internalize.
A term like “what is dropshipping” might do tens of thousands of searches a month. The person searching it does not know what the business is yet. They are years, or more likely never, from spending money on anything. The page will get traffic and earn almost nothing.
A term like “inventory source vs spocket for high ticket” might do 90 searches a month. That person has a store, has narrowed the field to two options, and is about to pay for one. If ten of those ninety click through and two sign up, that page out-earns the big one by a wide margin, forever, on a fraction of the effort.
The math that matters is searches times the odds they buy times what you make when they do. Volume is one of three terms in that equation, and it is the one with the smallest range. Commercial intent swings the result far harder. I wrote about this in more detail in my breakdown of how affiliate income actually works from click to payout, because the payout side is what makes a 90 search keyword rational.
This is also why low competition keywords and low value keywords are not the same thing, even though beginners treat them as one. Plenty of low competition terms are low competition because they are worthless. The good ones are low competition because they are too specific for a big brand to bother with.
Can I Actually Rank Here?
Every tool sells you a keyword difficulty score. Most of them are a rough function of how many links the current top pages have. That is one input out of many, and treating it as a verdict will get you into fights you cannot win.
I use difficulty as a first-pass filter, nothing more. I pay for KWFinder because its difficulty score is legible and its interface does not fight me when I am scanning fifty terms at once, and I run bigger competitive pulls through SEMRush when I need to see a whole site’s keyword footprint. Both are guesses. Useful guesses, but guesses.
The real assessment happens when I look at page one and ask four questions.
- Who is already there? If page one is Amazon, Forbes Advisor, NerdWallet, Healthline and three other brands with legal departments, I am not ranking there this year. Not with better writing. Not with more words. I close the tab and move on.
- What kind of page is winning? A category page, a tool, a video, a forum thread, a long guide. If the winning format is one I cannot or will not produce, the keyword is not for me regardless of difficulty score.
- Is anything on page one actually weak? A thin 600 word post from 2019, a page that half-answers the question, a result that is clearly ranking on domain strength alone. One weak result in the top five is an opening. Zero weak results means the query is settled.
- Does a site like mine appear anywhere? This is the honest one. If no independent site is on page one or two, Google has decided this query belongs to institutions. Believe it.
That last question is the filter that changed my hit rate most. I check it before I check anything else now. If I see one or two small sites holding position, I know the door is open. If it is nothing but household names all the way down, I have my answer and it took ninety seconds.
A Keyword Is Not a Topic
For a long time I researched keywords one at a time. Find a term, write a post, find another term, write another post. The result was a site full of disconnected articles that each half-covered something.
Google does not rank keywords. It ranks pages, and it evaluates those pages partly on whether the surrounding site demonstrates that it knows the subject. A single post about keyword difficulty on a site with nothing else about SEO is an orphan.
So I research clusters. One topic, ten to twenty related searches around it, then I decide how many pages that actually needs. Usually fewer than the tool suggests, because half of the “keywords” are the same question phrased differently and belong on one page.
The grouping rule I use: if the same article would satisfy both searchers, it is one page. “keyword research process” and “how to do keyword research” are the same page. “keyword difficulty” is a different page, because someone searching that wants the concept explained, not a workflow.
Then one page in the cluster is the main one, the broad term, and the rest link into it. That structure is doing two jobs. It tells Google the site has depth on the subject, and it means a reader who lands on a narrow question can find the full picture. I build all of this on WordPress for exactly this reason, which I get into in why I build everything on WordPress, since the internal linking and taxonomy work matters more than the theme ever will.
Go deep before you go wide. Same rule as picking a niche. Six pages that own one subject beat thirty pages that touch thirty subjects, every time.
Where I Actually Find Terms
Tools do not generate ideas. They validate them. The ideas come from somewhere else, and the somewhere else is what separates a keyword list that produces from one that reads like everyone else’s.
Competitor gaps
My first move on any new site is to pull the keyword profile of three or four sites that are ranking for things I want. Not the giants. Sites roughly my size, or one step ahead. I want to see which terms they rank for that I do not, and specifically which of those they rank for with a mediocre page.
That gap list is the highest quality raw material I have found. Somebody already proved demand exists and proved a small site can rank. This is the one job I genuinely need a paid tool for, and it is most of why I keep the subscription.
My inbox and my calls
The best keyword I ever found came from a question somebody emailed me twice in one week. I searched it, found three bad results, wrote the page, and it still brings in traffic and sign-ups years later.
People phrase questions to you the way they phrase them to Google. Keep a running note. Every time someone asks you something on a call, in a comment, in an email, in a DM, write down their exact wording. Not your cleaned-up version. Theirs.
That file has produced more revenue per hour spent than any tool I pay for.
Autocomplete, People Also Ask, and the free path
I want to be honest about this because the SEO industry is not. If you are starting out, the free approach is genuinely good enough for your first twenty articles.
Type your seed term into Google and read the autocomplete suggestions. Those are real queries, ordered by real popularity, given to you by the only company with the actual data. Scroll to People Also Ask and expand a few. Scroll to the related searches at the bottom. Do that for twenty minutes and you will have forty real terms with zero dollars spent.
When I want that at volume instead of by hand, AlsoAsked maps out the question trees fast, and Lowfruits is built specifically for finding the weak-page openings I described above. If you want a free tier to start with, Ubersuggest will get you moving before you commit to anything monthly.
Your own Search Console
If your site has any traffic at all, this is the most undervalued source that exists. Google Search Console shows you the actual queries where your pages are appearing, including the ones you never targeted.
Filter for queries where you rank between position eight and twenty. Those are pages Google already thinks are relevant but is not confident enough to promote. Fixing an existing page to properly answer one of those queries is faster and more reliable than writing a new post from scratch. I do a pass on this every quarter and it consistently produces more traffic per hour than new publishing.
Where AI Helps, and Where It Will Lie to You
I use AI in this process daily. I also watch people trust it for the one thing it is worst at.
What it is genuinely good at: expanding a seed term into fifty variations, grouping a messy list into clusters, spotting which terms are the same question in different words, drafting the questions a page needs to answer, and summarizing what the current top results actually cover. I run most of this through Claude because it handles long lists without losing the thread, and I use ChatGPT when I want a second opinion on grouping.
What it is actively bad at: anything numeric. Ask a model for search volume and it will give you a number. That number is generated, not retrieved. It looks exactly like a real figure and it is fiction. Same with keyword difficulty. Same with “how many searches does this get in the US.” If the model has no live data connection, every number it hands you is invented, and it will hand them to you with total confidence.
It is also bad at judging whether you can rank. It has not looked at page one. It does not know that four of the ten results are enormous brands. It will happily tell you a keyword is “low competition” based on nothing.
So the split I run is: AI for language, tools for numbers, my own eyes for the ranking judgment. Never the other way around.
For turning a validated cluster into an actual outline, Frase is useful because it pulls what the ranking pages actually cover rather than guessing. Getting good output from any of these comes down to how you ask, which is a whole subject on its own and one I covered in how I actually write prompts that work.
The Process, and the Four Columns That Matter
Here is the whole thing, start to finish. You can run this in a week around a job.
The spreadsheet
I keep one sheet per site in Google Workspace so I can get at it from my phone when an idea shows up mid-session at the skatepark. Tool exports have twenty columns. I keep four.
- Keyword. The exact phrase, as typed by a human.
- Intent. Informational, commercial, or transactional. One word. If I cannot decide, I search it and look at page one.
- Can I rank. Yes, maybe, or no. This is my judgment after looking at the results, not a score from a tool. Anything that is a no gets deleted, not parked.
- What it earns. What happens if this page works. An affiliate link that converts, a consulting inquiry, an email sign-up, or nothing but traffic. Terms that earn nothing are allowed on the list, but they are not allowed to be more than a small share of it.
Volume is not a column. If I want it I can look it up. Keeping it off the sheet stopped me from making decisions with it, which was the point.
Run this week
- Monday. Write down ten questions real people have asked you about your subject, in their words. If you have no audience yet, pull ten from Reddit threads and forum posts in your space.
- Tuesday. Take each one to Google. Note the autocomplete suggestions and the People Also Ask entries. You should finish with sixty to eighty phrases in a raw list.
- Wednesday. Paste the list into an AI model and ask it to group them into topic clusters and flag duplicates. Then read the groupings yourself and fix the three or four it got wrong. Do not skip the reading part.
- Thursday. Take the top fifteen and search every single one. Fill in the intent column and the can-I-rank column by looking at the results. This is the day that matters. It takes about two hours and it is the difference between the year I wasted and the years after it.
- Friday. Fill in what each one earns. Sort by can-I-rank yes, then by commercial intent. Whatever sits on top is your next month of publishing.
That is it. No tool required for any of it except the AI step, and you can do that step by hand with a highlighter if you want.
Once you are publishing consistently and want to move faster, that is when a paid tool starts paying for itself. Not before. The tools I actually pay for, and what I use each one for, are on my resources page.
What I Got Wrong for Two Years
Five things, in rough order of how much they cost me.
I chased volume. I sorted every list by search volume descending and worked from the top. Every one of those terms was owned by a brand with a hundred times my authority. I spent a year losing fights I had picked badly.
I never looked at page one. I researched entirely inside the tool. The tool said difficulty 24, I wrote the post, and I never once checked that the actual results were nine product pages and a video. Half my early posts were the wrong format for the query.
I wrote singles instead of clusters. Forty articles about forty unrelated things. Google had no reason to consider me an authority on any of them, and neither did readers.
I trusted difficulty scores as if they were measurements. They are estimates from a model that mostly counts backlinks. A score of 15 on a query owned by government sites and major publishers is meaningless. A score of 40 on a query where two hobby blogs hold the top five is an opportunity.
I ignored the search terms I was already ranking for. I had pages sitting in position eleven for terms I never targeted, one small revision away from page one, and I was off writing brand new posts instead. That one still stings, because it was free traffic sitting in a dashboard I looked at every week.
If you fix only one of those, fix the second one. Looking at page one before you write costs ninety seconds and prevents most of the others.
Where to Go From Here
Do the Monday through Friday version above before you buy anything. Most people who ask me which tool to get have not yet done twenty minutes of autocomplete research, and the tool will not fix that.
If you want the deeper tactical version of all of this, the full workflows, the tool comparisons, the on-page work that comes after the research, I put that on SEO Paradise, which is the site in my network where the long-form SEO material lives. This article is how I think about it. That site is how I execute it.
Google’s Search Central blog is also worth a subscription, since it is the only source that is not speculating about what the algorithm wants.
And if you have a site with content on it that is not performing and you want a second pair of eyes on why, that is one of the things I do in my one-on-one sessions. Usually it turns out to be a keyword problem rather than a writing problem, which is the good news, because keyword problems are fixable.
The whole discipline comes down to one habit. Before you write anything, search the thing you are about to write about, and look honestly at who is already there. That habit is worth more than any subscription.
Get The Operator’s Notebook
One email when I publish something worth your time. What I am building, what the numbers look like, and what I got wrong that month. No pitch, no daily spam.

Trevor Fenner is a Seattle-born entrepreneur, skateboarder, and expat who left Los Angeles in 2016 to build a location-independent life in Southeast Asia. After living in Chiang Mai and Bangkok, he settled in Bali in 2019, where he has been based ever since. He is the founder of Ecommerce Paradise, an education and services platform helping entrepreneurs build high-ticket dropshipping businesses, and operates Electric Bikes Paradise, an ecommerce store specializing in electric bikes, scooters, and mobility equipment. He also runs Paradise Skate Mag, a skate media project documenting the Bali skate scene and broader skate culture, and is building Bali Cat Paradise, a blog centered on the nearly twenty cats he and his wife care for at their home in Bali. Trevor writes about ecommerce and entrepreneurship, expat life in Southeast Asia, and the lessons skateboarding has taught him about business and life.
