Most GEO advice stops at “get mentioned more.” This SOP is the part that actually has steps. It distills the strongest executable play from Malte Landwehr (product and research, Peec AI) on the Unscripted SEO Podcast: run the query fan-out repeatedly, read what the model already trusts, and then go get yourself added to those exact pages. The premise underneath it is the thing worth internalising first — “you rank consensus, not pages.” Your own site is one voice. The answer is a vote.
It’s free inside The Vault — create a free SEO Arcade account and grab the printable SOP plus every other playbook, deck and eBook in there.
Open The Vault →Objective
Turn a single commercial prompt into a ranked, named list of third-party pages you need to appear on, plus the specific wording the model expects to see. The deliverable is not a score and not a share-of-voice chart. It is a placement target list — URLs, domains and the humans who own them — produced from what the model itself keeps citing. That list is directly actionable by an outreach or PR function, which is what makes this billable work rather than a dashboard.
Why this one is worth building
Because the failure it fixes is invisible and expensive. You change your pricing, you update your pricing page, and the assistant keeps quoting last quarter’s number, because five stale Reddit threads and an out-of-date G2 profile all agree with each other and your page is one voice against five. No amount of on-site work resolves that. The fix lives on other people’s domains, and until you have named them you cannot brief anyone to go get them.
Malte’s team runs this at scale and two numbers from that work set the stakes. Roughly 2 to 3 percent of tracked ChatGPT fan-out prompts surface a hallucinated domain — and some of those domains are parked and purchasable, which means a competitor or a squatter can buy the address a model is already confidently recommending under your category. Separately, in one insurance prompt set, about 2 percent of cited grounding sources were advertorials. Paid placements, cited as if they were neutral reference material. Both of those are only visible if you are actually reading the sources rather than the summary.
Key Steps
- Pick prompts with commercial intent, not brand prompts. “Best {category} for {segment}” and “{competitor} alternatives” beat “what is {your brand}.” A brand prompt tells you the model can read your homepage. That was never in doubt.
- Run each prompt repeatedly, not once. This is the step people skip and it invalidates everything downstream. Output moves between runs. A single run is an anecdote. Run each prompt on a schedule and treat the set of runs as the unit of analysis, so you can tell a real pattern from one lucky sample.
- Record which brands keep winning, across runs. Frequency of appearance is the signal. A brand that shows up in most runs is part of the consensus. A brand that shows up once is noise, including when that brand is you.
- Mine the cited sources at BOTH the URL and the domain level. This is the highest-value step and it is two separate analyses. URL level tells you the individual page to get on. Domain level tells you which publishers the model trusts as a class, which is the pattern you brief PR against. Do not collapse them into one list.
- Sort the source list into: pages that already list your competitors but not you, pages that list you with stale information, and pages that do not mention the category at all. The first bucket is your outreach target list — those editors have already decided the category is worth covering, so you are asking for an addition rather than a feature. The second bucket is usually a faster win and almost always ignored, because correcting an existing listing is a smaller ask than earning a new one.
- Harvest the words the model appends on its own. Read the generated answers for descriptors that were not in your prompt and are not on your site. Right now the recurring one is “official”. If the model keeps reaching for a qualifier, put that qualifier in your own copy — footer, title tags, boilerplate. The model is telling you the vocabulary it associates with legitimacy in your category. This step costs an afternoon and nobody does it.
- Re-run the same prompt set on a fixed cadence and diff the source list. New domain entering the citation set is a lead. Your own listing going stale is a defect ticket. This is what converts the play from a one-off audit into a retainer line item.
Cautionary Notes
- One run proves nothing. If you take one screenshot of one answer into a client meeting you will eventually be wrong in public. The variance between runs is the whole reason step 2 exists.
- Check for hallucinated and parked domains before you report. At a 2 to 3 percent rate you will hit one. If a model is recommending a domain in your category that nobody owns, that is a brand-protection finding, not a citation opportunity, and it should be escalated rather than added to an outreach list.
- Some of what you are looking at is paid. Advertorials get cited as grounding sources. Before you brief a team to chase a placement, establish whether that placement is editorial or purchasable, because the two need completely different approaches and completely different budgets.
- Do not present citation frequency as traffic or revenue. It is a visibility proxy. Label it as one. The moment a client starts forecasting revenue off a share-of-citations chart, you own that number.
- If you are also serving Markdown to LLM crawlers, serve it at the same URL, switched on user agent. Do not publish a parallel
.mdaddress. A second URL is a second thing to get indexed, split and confused about, and it dilutes the consensus you are trying to consolidate.
Tips for Efficiency
- Freeze the prompt set as a saved artifact before the first run. Same wording, same order, every cycle. If the prompts drift, the month-over-month diff is meaningless and nothing will warn you.
- Automate the source extraction, keep the sorting manual. Pulling cited URLs out of answers is scriptable. Deciding which bucket a page belongs in needs judgement, and that judgement is the part you are actually selling.
- Ship the competitor-listing bucket to outreach first. Highest conversion, shortest pitch: the page already exists, the editor already covers the category, and you are asking to be added to a list rather than to be written about.
- Log the appended-vocabulary findings somewhere durable. They change over time, and the change itself is a reportable insight. “Official” is the current one, not a permanent one.
Sources & Relevant Episodes
- Malte Landwehr, Peec AI — runs product and research at Peec AI, which measures brand visibility inside LLM answer engines. More than twenty years in SEO: a bachelor thesis on PageRank, co-founder of an agency, product lead at Searchmetrics, then five years in-house at the largest price comparison website in Europe. He supplied both the method and the numbers here, including the hallucinated-domain and advertorial rates, and volunteered the caveats. His stated bias, in his own words, is that he does not like being bullshitted by fluffy statistics.
- Read the full interview: Malte Landwehr of Peec AI on Consensus, Query Fan-Outs and AI Content Guardrails — Unscripted SEO Podcast, hosted by Jeremy Rivera.
- Watch it: You Rank Consensus, Not Pages on YouTube.
- Related SOP: SEO SOP: Publishing a Machine-Readable Companion File for AI Crawlers — read it alongside the fifth cautionary note above. Malte’s position is that the companion content belongs at the same URL rather than a parallel one, which is a meaningful refinement of that play.
- Related SOP: SEO SOP: AI Bot Access-Log Analysis — the measurement counterpart. This SOP finds the pages to go get; that one tells you whether the bots came back afterwards.
- More episodes: Unscripted SEO — 150+ interviews with SEO practitioners.
