writing

Playbook

seo & aeo from zero

how to build search presence and answer engine citations from scratch

every Google update since 2003 is trying to answer one question better: is this the best result for this search? pagerank, panda, helpful content. different mechanisms, same question. once you have that frame, the tactics stop feeling arbitrary.

the other thing: SEO is slow. work you do in June shows up in October. the cadence that works is monthly. look at what's moving, fix one thing, wait. daily checks are noise.

this essay is built from six months of building Bangers Only from scratch. all the Search Console data is real. take what applies.

how Google sees your site

before you rank, Google has to find you.

four things happen in sequence. break any one and you don't rank.

01
Crawl
Googlebot reads your HTML
02
Render
JavaScript runs
03
Index
stored in Google
04
Rank
served to users

your sitemap.xml is a direct list of every URL you want crawled. without it, Google discovers pages by following links. much slower, and some pages never get found.

what Google is measuring

every ranking decision traces back to three questions.

1
technical
can it find and read the page?
Googlebot must crawl, render, and index before ranking is possible. each step can fail silently.
2
on-page
what is it about, and is it the best answer?
title tags, content depth, schema, internal links. what tells Google exactly what the page answers.
3
authority
do other sites vouch for it?
backlinks are votes of confidence. domain authority determines whether Google trusts your answer over a competitor's.

fix these in order. on-page signals don't help if Google can't crawl the page. authority doesn't help if the page is thin.

on-page signals

what is the page about, and is it the best answer?

Title tag

the single biggest on-page signal. it's the blue text in search results. 50-60 characters max. format: [Keyword] — [Hook] | Brand. keyword comes first. that's what Google matches first.

Example
GoodStartup Tweet Examples — 40 viral tweets from founders | Bangers Only
BadGenerate Tweets | Bangers Only

Meta description

not a ranking factor directly. controls click-through rate. a higher CTR tells Google your result is more relevant, which improves ranking over time. if it's generic, people don't click even at position #5. write it like ad copy.

Content depth

Google measures whether the page fully answers the query. a page with 3 examples isn't a page. it's a stub. 20+ real, distinct examples is the threshold. pages below it show up as "crawled, not indexed" in Search Console and quietly drop.

Schema markup (JSON-LD)

machine-readable metadata embedded in your HTML. tells Google exactly what the page contains. three types that matter for most products:

TypeWhat it doesUnlocks
SoftwareApplicationMarks the site as a web app with pricingStar ratings + price in results
ItemListMarks a structured collection of examplesRich list format in results
FAQPageMarks accordion FAQ contentFAQ dropdowns in results

Google won't show rich results for new, low-authority sites. implement it now anyway. the payoff comes months later as authority grows.

one keyword = one page. always.

every target keyword needs exactly one page that owns it. two keywords on one page and Google doesn't know which query it answers. ranks you for neither.

On-page checklist

authority

do other sites vouch for it?

Domain Rating (DR) is Ahrefs' score of how many quality backlinks point to your domain. it's the best public proxy for Google's PageRank. you can't raise it directly. you earn it.

1
Start
unproven to Google
10
First goal
pages start ranking
40+
Competitive
broad terms viable

at low DR, even when your page is the most relevant result for a query, it sits below older sites with more backlinks. you can have perfect on-page SEO and still sit at position 10 because your authority is too low.

DR thresholds

DRWhat it means
1You exist and are crawlable. Google ranks you conservatively.
5-8Positions start moving. Early pages begin showing up.
10Existing pages start ranking properly. First real milestone.
20+Content SEO viable for moderately competitive terms.
40+You can compete for broad terms like "tweet generator."
position isn't vanity. position is money.

CTR by position

PositionAvg CTRWhat this means
128%Almost a third of all searchers click you
311%
57%
83%Where most new sites land. 4x worse than #3.
102%Bottom of page 1. Statistically invisible.
11+<1%Page 2. Nobody goes here.

moving from position 8 to position 3 is a 4x increase in clicks with zero new content. this is why DR growth matters. it moves your existing pages up without touching the pages.

Deep links vs homepage links

most people submit their homepage to every directory. raises overall DR but doesn't help specific pages rank. when submitting to a directory, link to the specific page you want to rank for that keyword. not the homepage. a deep link to /tools/shitpost-generator builds authority for that page. a homepage link spreads it thin across the whole site.

Dofollow vs nofollow

dofollow links pass authority and raise DR. nofollow links (Twitter, Reddit, most social) don't pass authority but drive traffic that can lead to real links. directory links are almost always dofollow. that's why they're first.

where people fail

the mistakes that cost months.

most of these are invisible until you know what to look for. all are common. all are recoverable.

the JavaScript blind spot
if content only loads after JavaScript runs, Googlebot might see a blank page. a useSearchParams hook outside a Suspense boundary caused Next.js to serve an empty HTML shell to crawlers. looked fine in the browser. Googlebot saw nothing.
fixwrap in a Suspense boundary. verify using Google's URL Inspection tool in Search Console. it shows you exactly what Googlebot sees, not what the browser shows.
thin pages
Google crawls but doesn't index pages with very little real content. 'crawled, not indexed' in Search Console is the signal. 3 examples isn't a page. 20+ distinct pieces is.
fixadd depth. more examples, more specifics, more real content. not just longer.
two keywords, one page
every target keyword needs exactly one page. put two keywords on one page and Google doesn't know which query it answers. it ranks you for neither.
fixone keyword, one page. the homepage can't rank for 'shitpost generator.' that needs its own dedicated page.
homepage-only directory submissions
most people submit their homepage to every directory. this raises overall DR but doesn't help specific pages rank for specific keywords.
fixwhen submitting to a directory, link to the specific page you want to rank. anchor text should match the keyword. not the homepage.
buying backlinks
Google detects link schemes. the typical pattern: DR jumps fast, rankings briefly improve, then a penalty hits and the gains disappear. months lost.
fixearn them. directories, Product Hunt, Indie Hackers, original data. slower but permanent.
checking Search Console daily
positions move in weeks and months. daily data is noise. looking every day produces anxiety without producing information.
fixcheck monthly. find the queries at position 5-15. improve those pages. that's the loop.

scale

one template × a dataset = many pages

programmatic SEO is one template multiplied by a dataset to produce many pages, each targeting a specific long-tail query.

template/examples/[topic]-tweets
dataset[startup, founder, saas, indie-hacker, ...]
result25 pages, each ranking for "[topic] tweet examples"

nobody searches "tweet examples." too broad. "saas tweet examples" is winnable. thousands of these specific queries exist. each page is small traffic. the sum is large.

Zapier does this for millions of pages (/apps/X/integrations/Y). Zillow does it for every address. Tripadvisor for every hotel. same pattern everywhere.

the dataset is the moat. the template is just infrastructure.

Three rules that keep it clean

Google's Helpful Content system penalizes thin programmatic pages actively. stay on the right side of it:

vague scraping criteria returns garbage. the first pass often gives you irrelevant content because the prompt was too broad. fix: name specific sources, define explicit exclusions, require content to be about the topic not just contain a keyword, and verify every URL before trusting it.

six months of Search Console

here's what it actually looks like.

this is Bangers Only's Search Console data, unfiltered.

The timeline

PeriodClicksImpr.CTRWhat happened
Mar 20-3131030%Tiny sample, very early
April1323%More pages crawled
May91197.5%Position ~5-6, first signs of traction
June 1-1901230%Redirects dropped position to 10.4

impressions grew every month. the June drop to 0 clicks is a redirect processing issue, not a content failure. 301 redirects take 4-8 weeks to fully transfer authority. temporary.

Queries

QueryImpr.Pos.ClicksRead
banger tweet218.80Best keyword. Almost page 1. Needs DR.
bangerx viral tweets tool134.60A directory mislabeled the product. Wrong audience. Noise.
what is a banger tweet612.20Page 2. Guide needs optimization.
banger tweets47.30Near page 1. Improves as DR grows.
bangersonly1110Zero word-of-mouth search yet.

"bangerx" at position 4-5 with 0 clicks: a directory mislabeled the product as a different tool. someone is searching for that tool, not this one. learn to separate signal from noise. "banger tweet" at position 8.8 is the real opportunity.

Pages

PageClicksImpr.CTRPos.
Homepage121687.1%6.8
/how1551.8%5.2
/tweets/design11100%3
/tweets/startup0180%20
/tweets/side-hustle0160%11
/tweets/ai0130%6.9
/pricing0110%4.9

homepage drives 12 of 13 total clicks. normal at low authority. it has the most internal links and the most trust. the /how page is the problem: position 5.2 with 1.8% CTR. at position 5, expect ~7%. the title isn't specific enough to earn the click. a pricing page at position 4.9 with 0 clicks is expected. nobody searches for pricing until they already know you exist.

Countries

CountryClicksImpr.CTRPosition
India113135%4.6
US01390%7.6
UK0150%
Canada0210%

India at 35% CTR, US at 0%. same content. the gap is position: 4.6 vs 7.6. look at the CTR table. three positions lower, CTR drops from ~11% to ~2%. the US has 4.5x more impressions. biggest untapped market. same fix: DR.

which keywords

at low DR, only win where big sites don't bother.

the winning conditions: competition is low, you have topical relevance, and the query is specific enough that established sites aren't targeting it.

Already ranking — just needs DR

KeywordCurrent positionTarget
banger tweet8.8Top 3
banger tweets7.3Top 3
what is a banger tweet12.2Top 5
AI tweet examples6.9Top 5

these pages are already in the game. DR growth alone pushes them up without any page changes. this is why building authority is the first priority, not new content.

Winnable with a dedicated page

KeywordWhy you can winPage needed
shitpost generatorOnly real product for it. Almost no competition./tools/shitpost-generator
tweet ideas for foundersLow competition, specific, high purchase intent./guides/tweet-ideas-for-founders
viral tweet hooksInformational, low competition, searchable./guides/viral-tweet-hooks
how to write a viral tweetGuide exists but needs proper optimization./guides/how-to-write-a-viral-tweet
intent beats volume every time.

audience pages (/for/founders, /for/ghostwriters) convert better than topic pages (/examples/startup-tweets). "tweet generator for ghostwriters" is someone with a job who needs a tool right now. "startup tweet examples" is someone browsing. 50 visitors with specific intent outperform 500 without it.

answer engines

when Google isn't the destination

AI search doesn't return a list of links. it synthesizes an answer and cites 2-3 sources. as more searches route through AI, being cited matters as much as ranking.

SEO
ranking in Google's 10 blue links
keyword-matched pages
measured by position and CTR
"does my page rank for this query?"
AEO
cited in AI-generated answers
clear, structured, factual prose
measured by citation frequency
"does AI mention me when someone asks?"

they share almost all the same preparation: crawlable content, schema, canonical domain, clear product description. AEO rewards direct and factual prose over keyword-optimized prose.

How AI decides what to cite

llms.txt

a machine-readable README for AI crawlers. when Perplexity or ChatGPT scans your site, a clear llms.txt means it can accurately describe you in answers. without it, the AI guesses from page content and often gets the description wrong.

what goes in it: what the product does, who it's for, what it costs, how to use it. four things. if a human can read your page and immediately understand all four, an AI can cite it accurately.

AEO setup checklist

WhatWhyPriority
llms.txt at /llms.txtMachine-readable product description for AI crawlersFirst
robots.txt allows GPTBot, ClaudeBot, PerplexityThese are the crawlers you wantCheck now
SoftwareApplication schema with pricingSignals product type and cost to AIIn layout.tsx
FAQPage schema on guidesDirect Q&A format AI loves to citeOn each guide
Clear product description above the foldSpecific and factual, not vagueReview your hero
Bing Webmaster ToolsBing powers ChatGPT web search10 minutes

what to do

in order.

DR comes before content ranking. directories come before Product Hunt. one page done well beats five pages done thin.

This week — one-time setup

Content calendar — next 8 weeks

WeekPageTarget keyword
Week 1/tools/shitpost-generator"shitpost generator"
Week 2Expand existing guide to 600+ words"what is a banger tweet"
Week 3/guides/viral-tweet-hooks"viral tweet hooks"
Week 5/guides/tweet-ideas-for-founders"tweet ideas for founders"
Week 7/tools/tweet-ideas-generator"tweet ideas generator"

each page needs 600-800 words of real content. a tool embed with no surrounding words gives Google nothing to work with.

Weekly (15 minutes)

Monthly (1-2 hours)

Quarterly

expectations

the honest timeline

SEO doesn't accelerate because you check more often.

MilestoneWhen
Redirects settle, positions stabilizeMonth 2
DR moves from 1 to 5-8 after directories + Product HuntMonth 3
New content pages indexed and rankingMonth 3-4
Top keyword cluster in top 3Month 4-5
100+ impressions/dayMonth 5-6
First consistent organic signupsMonth 6
the technical foundation is the easy part.
patience is the actual skill.

schema in place. AEO covered. the only gap is authority. it starts moving with 3 directory submissions and a Product Hunt launch. everything built now pays off in month 6.