People ask ChatGPT, Perplexity, and Google's AI for recommendations now. We run a link-building agency, so we pointed our own service at our own site to get named in those answers. This is the live playbook — what we do, in order, and what we found doing it.
It runs in three stages: plan it, build the links, then watch what moves. We've finished the planning. We just kicked off month one of link building. The results come next.
Decide which questions you're playing for, how you'll get there, and what "before" looks like — all before spending a dollar on a link.
Before you can get your brand into AI answers, you have to decide which questions you're playing for.
Drop the keyword list. Picture a grid.
Down one side: the thing you sell. "Link building." "Guest posting." "AI SEO agency." The words people actually type.
Across the top: who's buying. SaaS. Ecommerce. Law firms. Plumbers.
Every square where a row meets a column — "guest posting for SaaS," "AI SEO agency for law firms" — is a question someone asks an AI. Each square is one you can win.
You're not chasing rank #1 for one phrase. You want your name to come up across every square that matters to your business.
Part A — How we do it
Rows: the different ways people say what you sell. Columns: who's buying. Every square is a question someone asks an AI.
Mine the rows and columns from what people actually search. Big head term = thousands of keywords to pull from.
A dozen squares or sixty. Depends on the market. No fixed number.
Drop what you won't serve. Split columns that are two buyers. What's left is your target.
Part B — What we came up with
We ran it on ourselves. 28,000 keywords from Ahrefs. Four services, the industries that hire us. Here's the grid.
| Service | Monthly searches |
|---|---|
| Link building (services / agency / company) | ~5,600 |
| Guest posting | ~1,400 |
| Blogger outreach | ~730 |
| AI SEO / GEO agency (GEO, AEO, LLM SEO) | ~2,300 |
Home services gets its own set of columns: plumbing, HVAC, roofing, electrician, landscaping, pest control, cleaning, moving, restoration, locksmith, painting.
Cross the rows and columns and you get our list. "AI SEO agency for SaaS." "Guest posting for law firms." "GEO for ecommerce." That's our starting line — every square a question we want ChatGPT to answer with our name.
Paste this into ChatGPT. It runs you through the same moves and hands back your list.
You help businesses get named inside AI answers — ChatGPT, Perplexity, Claude, Google's AI overviews. People ask those tools for recommendations the way they used to search Google. My job is to decide which of those questions I want my brand to come up in.
Build my "grid" with me. Two axes. Down one side: the different ways people phrase what I sell — the real synonyms searchers use, not just my internal name for it. Across the top: who buys it and in what context — industry, company size, use case, or location if I'm local. Every square where a row meets a column ("[my product] for [that buyer]") is a question someone asks an AI, and one I can try to win. The goal is to come up across the squares that matter, not to rank #1 for one phrase.
Two rules before we start:
- Don't let me invent categories from my gut. Pull them from what real people actually search around my space. If I hand you a vague or made-up category, push back and ask for the phrasing searchers really use.
- Don't cap the count. The grid is as big as my market. A broad software tool might land on 50+ buyer categories; a local service business on a dozen. Give me what's actually there, not a tidy round number.
Work one step at a time. Ask, wait for my answer, move on.
Step 1 — Ask what my business does. Help me list the genuinely different ways people SAY my product — each distinct phrasing its own row. Merge ones that are just word-order or "services / agency / company" of the same thing.
Step 2 — Find the columns: who buys, and in what context. Pull from how real buyers in my space search — by industry, company size, use case, or location. No vague filler. Each column should be a group that would really search "[my product] for [that group]."
Step 3 — Pressure-test each column against real demand. Keep the ones people actually search for, or where the market is clearly large. Drop or flag the rest.
Step 4 — Finalize. Split columns that are secretly two different buyers. Drop the groups I won't serve. Then give me my rows, my columns, and the most important squares written as the questions I'd want an AI to name me in — "best [product] for [buyer]" or "who should a [buyer] hire for [product]."
That last list is my starting line.
Start by telling me what you understand the grid to be, then ask me Step 1.A map tells you where you want to show up. Links are what move you there. Step 2 is deciding how many links a month, and which pages they point at.
A link plan answers two questions.
How many links a month can we build?
Which pages do those links point at?
Get those right and every link pulls in the same direction. Get them wrong and you spray links across 20 pages and move none of them.
Part A — How we do it
How many links can you build a month and stand behind? That number caps everything else. Pick it first, then divide it up.
Not every page. The handful that matter — your homepage and your money pages. A page earns a spot because you want it to rank or you want it to carry the brand. Everything else waits.
One or two pages get a set number of links every month — your main bets. The rest share what's left, and you rotate through them based on what sites and angles you land.
Homepage links build authority for the whole domain, not one page. They also keep your link profile looking natural — a real brand earns a pile of homepage links. Every plan feeds the homepage.
Write down why each page is on the list. "Build domain authority." "Rank this page." "Test whether this page can rank at all." The job tells you later whether the links worked. A page you're testing with 0 rankings isn't a failure at month three — that's the experiment running.
Part B — What we came up with
For Outreach Labs: 10 links a month, June through August.
| Page | Links / mo | Job |
|---|---|---|
| Homepage | 7 | Build domain authority |
| Blogger outreach | 3 shared | Rank the page |
| Guest posting | Rank the page | |
| White-label link building | Rank the page | |
| LLM / GEO service | Rank the page |
That plan is live in our system now. The homepage gets its 7 a month, and we rotate the remaining 3 across the service pages.
Before we write a word, we decide what every placement should teach the world about us. Skip it and the writer guesses — and guesses come out generic.
Every listicle is a chance to teach.
A guest post teaches three crowds at once: the buyer reading it, the writer who quotes it next year, and the AI that learns from it and decides who to recommend.
Hand the writer one brief — what we're good at, who we're for, the proof — and every placement tells the same true story. No brief, and you get filler that teaches nobody anything.
Part A — How we do it
Not "we're high quality." The actual reason people pick you, in one line a rival can't copy.
Dig through your own results — links, rankings, citations, traffic. Hide the names, keep the numbers. This is the part you can't fake.
Good copy turns away the wrong buyer as fast as it pulls in the right one.
Your placements are "best [category]" lists. Tell the writer which rivals to leave off, so they don't take the top spot in your own article.
Set the brief once and every post — this month and next — teaches the same thing instead of starting cold.
Part B — What we came up with
We spent the research time on ourselves before writing a line.
Every link carries risk, and the skill is threading the needle — low-risk, high-impact, affordable, all at once. Most of what we build are recommendation links: lists and outreach that put a client at the top of "best [category]" content. Those posts rank in Google and get cited when buyers ask AI the same question — so the work shows up the same week and builds the brand in real time, not in a year. SEO and GEO from one campaign.
| Across 20 clients (names hidden) | Total |
|---|---|
| Links built | 846 |
| Keywords in Google's top 10 | 705 |
| Keywords ranked #1 | 314 |
| Queries cited by AI | 1,557 |
| Citations that named the brand | 940 |
A few of the page wins — names hidden, numbers real:
| Client | Page | Organic traffic |
|---|---|---|
| Bath-vanity ecommerce | Homepage | 3,255 → 9,939/mo · +205% |
| Rafting outfitter | Trip page | 57 → 213/mo · +270% |
| Eye-care practice | Cataract page | 18 → 65/mo · +260% |
| 529 college savings | Calculator | 625 → 1,684/mo · +170% |
Before we build a single link, we record exactly what the AI tools say about us across the whole grid. Skip this and you can never prove what moved.
You get one clean "before." Take it now.
Every square on your grid is a question — "best link building agency for SaaS," "GEO agency for dentists." Ask the AI tools those questions today, while you're still invisible.
Whatever comes back is your floor. Every link you build from here gets measured against it.
Part A — How we do it
"Best [service] for [buyer]." We had four services and 25 buyer types, so about 100 questions.
ChatGPT, Perplexity, Claude, Gemini. They answer differently and they cite different sources. One tool isn't a reading — you check all four.
Three outcomes per square. The tool named you and linked your site as a source. It named you with no link. Or it didn't mention you at all. Log which.
This is the line you measure against. Capture it once, date it, lock it. Start building links first and the "before" is gone for good.
Part B — What we came up with
We asked about 125 questions across all four tools — roughly 500 checks — before building a single link. We split the before into two layers.
The bare head terms, no industry attached. "Best link building agency." "Best GEO agency." The highest-volume questions, and the ones buyers actually type.
| Outcome | Questions |
|---|---|
| Our site cited as a source | 0 |
| Named in passing (no link) | 3 |
| No mention | 13 |
"Link building for SaaS." "GEO agency for law firms." The full map from Step 1.
| Outcome | Questions |
|---|---|
| Our site cited as a source | 0 |
| Named in passing (no link) | 13 |
| No mention | ~95 |
That whole map lives in our system now and re-checks on a schedule, so the "before" stays frozen while the "after" fills in.
The plan is set. Now we build the links — month by month. This is month one: how we picked where to post.
A link only moves you if it sits on a page Google already trusts for your topic. So we don't post just anywhere. We post on sites that already rank for the things we want to rank for.
The sites already ranking for your keywords are the sites worth a link.
Google has done the vetting for you. Whoever shows up on page one for "guest post services" or "link building agency" has the authority and relevance you're trying to borrow. Start there.
Part A — How we do it
The same GEO terms and money terms from Step 1 — "guest post services," "link building agency," the backlink and outreach phrases buyers search.
Every result is a site Google already ranks for that exact query. Pull all 100, for every keyword.
Now you have every site ranking across your whole keyword set — the pool of pages that already have a shot at the terms you care about.
Match that ranking pool against the publishers you can actually get a post on. The overlap is the gold: proven to rank, and reachable.
Sort by how strongly each site already ranks and how relevant it is. The top of that list is your build set for the month.
Part B — What we came up with
We ran 343 of our keywords through Google and scraped the top 100 for each — about 3,800 unique sites that already rank in our space. We cross-checked that against the publishers we can place on, and the overlap became the shortlist. Our first month: ten of them.
Every pick already ranks for something we want — infogram for "guestographics," azbigmedia for "guest post services," digitalhill for "link insertion services," clickraven for "blogger outreach service." Not sites we hoped were relevant — sites Google already shows for our terms.
One more: fueler.io ranks for "guest post services" with a post titled best guest post services in the US. Instead of a fresh article, we get added to that existing list — a link from a page already ranking for the exact term we want.
Now we know the sites. Each one still needs a topic and a title. We don't let the writer guess, and we don't just write about whatever the site already covers. We thread two things together.
Two forces decide the topic. Ours and theirs.
Ours: the squares on our grid we still need to win. Theirs: what the site already ranks for.
The keyword lives where those two meet. Pick a topic the site has no authority for and the post reads like a paid ad. Let the site's own topic run the show and the post does nothing for us. The overlap is the only spot that works for both sides.
Part A — How we do it
A square you're light on — a service you want more of, a buyer you haven't covered yet. That's your side of the deal.
A site you found by prospecting earned its spot by ranking for something in your space. That ranking term is the overlap, already proven. That's their side.
Take the term the site ranks for and steer it toward the gap you're filling. One keyword, both boxes ticked — a question we want to own, on a site that can credibly carry it.
Find what that buyer actually gripes about — real forum threads, not a guess. Put the gripe in the title. And only if your service genuinely answers it. No empty "best X." No promise you can't keep.
Part B — What we came up with
Ten sites, ten topics, every one sitting on the overlap:
| Site already ranks for… | Gap we were filling | Keyword we landed on |
|---|---|---|
| "seo guest post" (smenews) | Guest posting | best guest posting services for startups |
| AI / LLM news (aijourn) | AI SEO | best AI SEO agency for SaaS companies |
| "link insertion services" (digitalhill) | Link building | best link building service for SaaS companies |
Then the title carries a real gripe we can answer. Small businesses get burned by "high authority" links on dead, no-traffic sites — so one title reads Real Sites, Not Dead PBNs. Fintech links land on junk finance blogs that hurt more than help — so another reads Who Vets for YMYL Trust? Each angle is a problem we actually solve, not a slogan.
Across the ten, we leaned into the services we were short on — guest posting and AI SEO — and opened buyers we hadn't touched yet: fintech, startups, B2B.
Picked the keyword. Picked the title. Now the article has to actually do the job — rank in Google AND get pulled into AI answers when a buyer asks ChatGPT for the best in your category.
Most agency content is written off the keyword and a quick SERP scan, then handed to a writer who guesses at the rest. The article reads fine. It doesn't get cited.
Here's what every one of our articles goes through.
Most articles get written from the keyword alone. The writer doesn't know your real pricing, your founder's name, the proof points you'd actually cite in a proposal. So the article hand-waves. AI tools picking up that article cite the hand-wave, not your brand.
We feed the writer your brand brief before the article gets drafted. Real pricing tiers. The founder's name. The specific case-study numbers you'd put on a sales call. A rule that says: if it's not in the brief, don't invent it.
That single input is the difference between an article that mentions you and an article that cites you the way you'd cite yourself. ChatGPT and Perplexity quote whichever version is on the page.
The draft is the start, not the deliverable. Three edits go on top of it.
Reads the draft against the keyword and the semantic neighbors search engines expect. Cuts off-topic paragraphs. Tightens topic coverage so the article actually ranks.
Every name, stat, date, price gets verified. Anything that can't be verified gets cut. AI tools that cite content trust factually-tight content more.
Sentence rhythm, banned-word strip, voice. The previous two passes optimized for accuracy and SEO; this one makes it readable.
Three passes because three different things make an article fail. Skip any one, the article falls short in a different way.
Three things have to land:
Where the brand name appears. Wrong paragraph, it reads sponsored. Right paragraph, it reads like the writer's recommendation.
One hyperlink, inside a sentence that flows. The anchor text is a phrase that fits — not the slogan, not the raw URL.
Internal links back to the publisher's own pages. The article belongs on their site; it should act like it knows that.
A buyer reading the article can't tell the difference between this and one the publication wrote on its own. That's the bar. AI tools citing the article are quoting editorial-quality content, not paid content.
Each image is picked to fit the section it sits next to and placed where the eye lands. A listicle entry with no image breaks the rhythm. An image in the wrong spot is noise.
Every article gets read end-to-end against a real checklist before it goes to the publisher. Brand name present. Link wraps the right anchor text. Real conclusion, not a single sentence under a heading. Intro paragraph. Headings clean. Word count matches the outline. Internal + external links where they should be. Images embedded.
No article ships until the checklist clears.
Why each step matters for GEO
| Step | What it's doing for AI citations |
|---|---|
| Research grounded in the brief | Stops the article from quoting fake testimonials or wrong pricing that AI tools then pick up and repeat. |
| SEO edit | The article ranks in Google. AI tools cite ranking content more than non-ranking content. |
| Fact-check edit | LLMs weight factually-tight content higher when picking what to quote. |
| Style edit | Readable articles get linked to and cited more than wall-of-text articles. |
| Brand fit | Editorial-quality placement gets cited; sponsored-feeling placement gets ignored. |
| Images + rhythm | Buyers stay on the page. Engagement signals feed back into ranking, which feeds back into AI citations. |
| Final read | Mistakes on a placement become permanent — once the article's live, an AI tool quoting a typo will keep quoting it. Catch it before the publisher sees it. |
Links go live, then we watch the grid move — month over month — and report it here.
The links go live over the month — to the homepage and the four service pages. Then we re-check the same grid from Step 4 on a schedule and report back here: which squares went from nothing to a mention, and which mentions turned into a citation that links our site.
Come back next month. We'll have the first "after" — and month two's links underway.