← Volver al Journal
· 3 min de lectura

How to Do Keyword Research Without Ahrefs

A practical walkthrough of the 5-step keyword research workflow using only free tools — Google Autocomplete, Bing Webmaster, SERP analysis, and competitor sitemaps.

Ahrefs costs $200/month. SEMrush costs $130/month. For most indie builders, that’s the grocery budget.

Here’s the thing: the data you actually need — what people search, how much they search, and how hard it is to rank — is available for free. You just need to know where to look and how to connect the dots.

This is a real walkthrough of the workflow we use, with actual commands and real output.

Google Autocomplete is the fastest keyword discovery engine on the planet. When you type “tarot” and see “tarot reading”, “tarot cards meaning”, “tarot yes or no” — that’s real search demand, straight from Google’s own data.

python3 -m zens_ink.keyword_research "tarot meaning" --expand

The --expand flag appends a-z to your seed keyword, mining the full long-tail spectrum. For “tarot meaning”, you’ll get variants like “tarot meaning ace of cups”, “tarot meaning love”, “tarot meaning reversed” — each one a potential page.

No API key needed. Zero cost.

Step 2: Validate Real Search Volume

Autocomplete tells you what people search. But how many people? Bing Webmaster Tools gives you ~25 weeks of impression data per keyword — for free.

python3 -m zens_ink.keyword_volume "tarot meaning,dream interpretation" --country us --lang en-US

Output looks like:

  tarot meaning           avg/wk=  3200  qtr=  41000  up 12%  [MEDIUM]
  dream interpretation    avg/wk=  8500  qtr= 110000  flat 0%  [HIGH]

The trend direction matters as much as the raw number. “up 12%” means growing interest — write that page now. “flat” means stable demand — still worth doing, but not urgent.

A free Bing Webmaster API key gives you this for unlimited keywords.

Step 3: Check If You Can Actually Rank

This is where most free tools fail. They either skip difficulty entirely, or use a crude metric like “number of results” (meaningless).

Our approach: analyze the actual SERP structure. Fetch the top 10 results for your keyword and look at:

  • Homepage ratio: Are the top results root domains (hard to beat) or inner pages (beatable)?
  • Platform density: YouTube, Reddit, Pinterest dominating? Those are beatable with better content.
  • Domain age: New domains in the top 10 signal a weak SERP.
  • Brand sitelinks: Google showing sitelinks means it considers the result an authoritative brand.
python3 -m zens_ink.kd "the fool tarot meaning"

You get a 0-100 score plus a full SERP breakdown:

│  Score: 34/100  [Easy / Low competition]
│  → Good opportunity. Target this keyword.

│  SERP Structure:
│    Homepages: 2/10  |  Dedicated: 5/10  |  Inner: 3/10
│    Platforms: 4/10  |  Brand sitelinks: No
│    Weak domains (top5): 3  |  New domains (<2yr): 1

4 platforms in the top 10, 3 weak domains in the top 5, no brand sitelinks — this is a soft SERP. A dedicated, well-structured page can crack it.

Step 4: See What Competitors Already Cover

Before writing, check what your competitors have published. Their sitemaps are public.

python3 -m zens_ink.competitor_gap \
  --compare https://competitor-a.com/sitemap.xml https://competitor-b.com/sitemap.xml

This shows each site’s content categories, language coverage, and — critically — the unique topics each competitor has that the others don’t. Those gaps are your opportunities.

Step 5: Make Sure Your Pages Are Crawlable

After publishing, audit your build for technical issues:

python3 -m zens_ink.site_audit --dist dist --sitemap dist/sitemap.xml

Checks for orphan pages (in sitemap but no internal links), broken links, missing canonical tags, missing H1s, missing meta descriptions — the stuff that silently kills your rankings.

The Full Picture

keyword_research  →  50 long-tail ideas (free)
keyword_volume    →  12 with real demand (free)
kd                →  5 worth targeting (free)
competitor_gap    →  3 gaps no one covers (free)
site_audit        →  0 technical issues (free)

Total cost: $0/month. Total time: ~30 minutes per content batch.

The expensive tools are convenient — they package all this into one dashboard. But the underlying data is public. If you’re willing to run five commands instead of clicking through one UI, you get the same insights for free.


All tools mentioned are in zens-ink, our open-source SEO toolkit. ZensInk Pro automates this entire pipeline into a single command.

Want to run this analysis on your own site?

ZensInk Pro automates this pipeline. One command, from seed keywords to content plan.

Get Pro →