- AI search has no position number — you either get cited or you do not. The outcome is a citation, not a rank.
- Fix in order: crawlability → extraction structure → sourcing → schema → off-page → measurement loop. Skipping ahead wastes effort.
- Crawlability is the gate: if GPTBot, PerplexityBot, or Google-Extended are blocked in robots.txt, nothing else matters.
- The single most important structural move is using the exact question as a heading and answering in the first sentence, under ~120 words.
- Original data is uniquely quotable — a model that needs your figure has exactly one source: you.
- Measure results by citation share per engine, not rankings. Classic analytics cannot see this layer.
- Treat it as a weekly loop, not a one-time project — the engines re-synthesize constantly and competitors keep publishing.
To rank in AI search you make your page the safest passage for a model to quote: structure each answer as a question heading with the answer in the first sentence, name every entity explicitly, source every number, mark it up with valid schema, and make sure the AI crawlers can actually reach it.
Winning the citation in AI search requires a shift from writing broad narratives to publishing extractable, safe facts. This is a how-to, not a theory lesson. If you want the definitions, the sibling guides cover them: what GEO is, what AEO is, and how AI visibility tools compare. This page is the action list: the concrete moves that turn a page that ranks but never gets quoted into one that ChatGPT, Perplexity, and Google AI Overviews reach for week after week.
The reason most "ChatGPT SEO" advice fails is that it stops at "write good content." A model writing an answer is not grading your content; it is choosing the lowest-risk sentence to lift. AI search optimization is the work of making your sentence that low-risk choice. The tactics below are ordered the way you should execute them: crawlability first, because nothing else matters if the bot never sees the page, then extraction structure, then the trust signals that decide ties. At the end there is a copy-pasteable checklist and a section on how to measure whether any of it worked, because doing the work without a scoreboard is how teams burn a quarter on changes that did nothing.
A note on scope. "Ranking" in AI search is not a position number. There is no blue-link ladder inside a generated answer. You either get cited (meaning your URL or your sentence shows up as a source) or you do not. So everywhere this guide says "rank," read "get cited." That single reframe fixes most of the confusion people bring from classic search.
01 — Short answerHow do you rank in AI search? The short answer
You rank in AI search by getting cited inside generated answers, and you get cited by doing three things in order: make the page crawlable so AI bots can read it, structure each passage so the answer is extractable in isolation, and back every claim with a source so the model can quote it with low risk of being wrong. Crawlability is the gate, extraction structure wins the citation, and sourcing breaks the tie against competitors. Everything below is a more specific version of those three moves.
The order matters because the failure modes stack. A page that is not crawlable cannot be retrieved, so its extraction quality is irrelevant. A page that is retrieved but buries its answer in paragraph four gets passed over for a competitor who put the answer in sentence one. A page that is retrieved and well-structured but states a figure with no source loses to the page that names where the number came from. Fix them bottom-up and each fix actually lands. Most teams jump straight to rewriting headlines while their robots.txt is quietly blocking GPTBot, which is why their edits change nothing.
02 — Step 1Step 1: Make sure AI crawlers can reach your page
Before any content tactic, confirm the AI crawlers can fetch your pages. If they cannot, you cannot be cited no matter how good the writing is. The generative engines retrieve from their own indexes, and those indexes are built by named bots. If your robots.txt blocks them, or your content only renders client-side after JavaScript the bot does not execute, you are invisible to AI search by default. This is the single most common silent failure, and it is the cheapest to fix.
Allow the named AI bots in robots.txt
Each engine crawls with its own user-agent. The ones that matter today are GPTBot (OpenAI, feeds ChatGPT), PerplexityBot and Perplexity-User (Perplexity), Google-Extended (Google's AI and AI Overviews training/grounding control), and ChatGPT-User (ChatGPT's live browsing). Check your robots.txt for any Disallow rule that hits these agents. A blanket User-agent: * / Disallow: that you set up to block scrapers will also block the bots you want. Allow them explicitly according to Google's robots.txt specifications:
User-agent: GPTBot Allow: / User-agent: PerplexityBot Allow: / User-agent: Google-Extended Allow: /
Decide this deliberately. Blocking Google-Extended removes your content from Google's generative grounding while leaving classic Search untouched, which is a choice some publishers make. However, if you want AI Overviews citations, it must be allowed. There is no upside to blocking these bots if your goal is to be cited.
Serve content the bot can read without running JavaScript
Most AI crawlers fetch HTML and do not reliably execute heavy client-side JavaScript. If your main content only appears after a React or framework hydration step, the bot may see an empty shell. Server-render or statically generate the pages you want cited, and verify by fetching the raw HTML (curl the URL, or view-source) and confirming your actual answer text is present in the markup, not just a <div id="root">. If the answer is not in the raw HTML, the bot probably cannot see it.
Confirm the page is indexed and retrievable
Retrieval leans on the same indexation that classic search depends on. The page must be crawlable by Googlebot, free of noindex, reachable by internal links, and fast enough not to time out. This is the one stage where old-school SEO does the heavy lifting: AI Overviews in particular grounds heavily on pages that already rank in Google's index. A page that is not indexed cannot surface in retrieval, and a passage that is never retrieved cannot be cited, no matter how quotable it is. Visiby's AI Bot Analytics view monitors which AI crawlers are reaching your site and surfaces robots.txt blocks before they cost you citations.
03 — Step 2Step 2: Structure every answer so a model can extract it
Once a page is retrievable, the next job is to structure each answer so a model can lift it cleanly in isolation. This structure is what separates pages that get quoted from pages that merely rank. The unit of AI search is the passage, not the page. A 7,000-word article can earn zero citations while one tidy 40-word block inside it earns a citation every week. Engineer the blocks.
Use questions as headings, answers as first sentences
Make your H2 (or H3) the exact question a user would ask, then answer it in the first sentence below the heading, in under about 120 words, before any setup. A model scanning for an answer to "how do I rank in ChatGPT" reaches for a section literally headed with that question and answered immediately. This is the single most important structural move in the entire playbook, and it is the format you are reading right now: every H2 on this page is a question or a directive, and the first line under it is the answer.
The discipline is to lead with the answer and explain after. Write "AI search optimization is the practice of structuring content so generative engines cite it as a source" first, then expand. Do not open with "In the evolving world of search, many marketers wonder..." because that paragraph is unquotable, and the model will skip past it to a competitor who got to the point.
Put extractable facts in tables and tight lists
A table maps a label to a value with zero ambiguity, so a model can extract the pair without parsing narrative — which is why table content gets quoted more than the same fact buried in prose. Convert any comparison, specification, step sequence, or label-value relationship into a table or a tight bulleted list. The model reads the row, lifts the pair, and cites you. Stated inside a paragraph, the same fact forces the model to read around it and risk a misquote, so it picks the cleaner source.
Here is the same principle applied to the question this page answers:
| AI search tactic | What a model rewards | The move to make |
|---|---|---|
| Heading format | A question it can match to a query | Make the H2 the literal question |
| Answer placement | A self-contained answer up front | First sentence, under ~120 words, no preamble |
| Facts and numbers | A value it can lift without ambiguity | Put it in a table or a definition list |
| Entities | Names it can resolve in isolation | Name the product/company every time, no "it" |
| Claims | A statement it can verify | Attribute every figure to a named, datable source |
| Crawl access | A page it can actually fetch | Allow GPTBot, PerplexityBot, Google-Extended |
Keep passages self-contained
A model extracts a chunk in isolation, so context that lived three paragraphs up is gone. Write each passage so it stands alone: restate the subject instead of relying on "this" or "the platform," and do not assume the reader (or the model) has the sentence above. If a passage could be quoted on its own and a reader would not know what it is about, rewrite it until they would. This is also why front-loading the answer works. The first sentence under a heading is the chunk most likely to be quoted, so it has to carry its own context.
04 — Step 3Step 3: Name your entities explicitly
Name every important product, company, standard, and person the first time it appears in a passage, because a model extracting a self-contained chunk cannot resolve a pronoun whose antecedent is elsewhere. Generative engines build answers around entities (recognizable, nameable things). A passage that says "the tool tracks citations across three engines" is weaker than "Visiby tracks citations across ChatGPT, Perplexity, and Google AI Overviews," because the second names the entities and the model can attribute the claim with confidence.
The practical rule is to write as if every paragraph might be quoted in isolation. Replace "it," "they," and "the platform" with the actual name when the sentence carries a claim worth citing. Name the standards and methods you reference (schema.org, GPTBot, RAG, query fan-out) rather than gesturing at them. The goal is that any single sentence, lifted out, still tells the model exactly which thing it describes. Under-naming entities is the quiet reason well-written pages get passed over. The content is fine, but the model cannot tell who it is about once the surrounding context is stripped.
Entities also compound. The more consistently you name the same products, people, and concepts across your site, the stronger the association the engines build between your brand and that topic. That association is what makes you the default citation for your category over time. It is exactly what Visiby's Brand Entity view measures, tracking adjective ownership, entity signals, and the E-E-A-T indicators tied to your name.
05 — Step 4Step 4: Publish original data and source every claim
Source every number you state and, where you can, publish data only you can produce. A sourced or original statistic is the single most quotable unit you can write. The foundational Generative Engine Optimization research (2023, Princeton/AI2/Georgia Tech/IIT Delhi) found that adding cited statistics, direct quotations from credible sources, and clear sourcing produced the largest gains in visibility inside generated answers; the most effective changes were content-level, not link-building. A model handling an information query wants a fact it can stand behind, and a sourced number is the lowest-risk thing it can quote.
Attribute every figure to a named, datable source
A bare statistic is a liability for a model because it cannot tell if the number is current or invented, so it hedges or skips it. But if you attribute that same number to a specific organization and year, such as "according to Forrester, 2026," it becomes a safe, verifiable fact the model can quote. Go through your priority pages and attach a named, datable source to every figure. This one pass often moves citation rate more than any redesign, because it converts your weakest, most-skipped sentences into the safest ones on the page.
Publish numbers only you can produce
Original data is uniquely quotable because no competitor can cite it from anywhere else. A model reaching for that fact has exactly one source, which is you. Run a benchmark, survey your users, anonymize and analyze your own usage data, or publish before-and-after results from your own work. Then state the headline figure cleanly, in a sentence or a table, with your methodology named. A single original statistic that the rest of your industry has no equivalent for can earn citations for years, because every answer that needs that fact has nowhere else to go. In our own AI Citation Benchmark research, Visiby found that the most-cited competitor appeared in only 5% of ChatGPT answers overall (while surfacing on 24% of Perplexity prompts), and our own brand sat at 0% — the kind of data point that becomes impossible for engines to ignore once published.
Quote credible sources directly
Direct quotations from recognized authorities raise the trust signal of the surrounding passage. When you cite a study, a standard, or an expert, quote the relevant line and name the source rather than paraphrasing vaguely. This gives the model a verifiable, attributable chunk and signals that your page is doing real sourcing rather than asserting.
06 — Step 5Step 5: Add the schema markup that makes structure machine-readable
Mark up your pages with valid Article, FAQPage, and HowTo JSON-LD according to Schema.org standards so engines can parse your structure unambiguously. Schema does not buy you a citation on its own, but it removes ambiguity about what a passage is (such as a question, an answer, a step, or an author), and that clarity makes extraction safer. For a how-to or definitional page, three schema types carry most of the weight.
FAQPage for question-and-answer blocks
Wrap your FAQ section in FAQPage JSON-LD, with each Question name matching the literal question and the acceptedAnswer text matching the on-page answer. This explicitly tells engines "this is a question, and this exact text is its answer," which is the cleanest possible signal for an answer engine. The FAQ block at the bottom of this page is marked up exactly this way.
HowTo for step sequences
When your content is a sequence of steps, like the playbook on this page, HowTo JSON-LD with named step items tells engines the order and the action of each step. This maps directly to the way a model assembles a procedural answer ("how do I get cited in ChatGPT, step by step").
Article and author for provenance
Article JSON-LD with a named author, datePublished, and dateModified establishes who wrote the page and when, which feeds the E-E-A-T signals engines weigh when deciding whether a source is trustworthy. Keep dateModified honest and current; freshness is a real input for fast-moving topics like AI search itself.
Validate every block. Invalid JSON-LD is worse than none, because it signals carelessness and can be ignored entirely. Run each block through a schema validator and confirm it parses before you ship.
07 — Step 6Step 6: Earn off-page and UGC signals
Strengthen the off-page signals that engines weigh during retrieval, including credible mentions, third-party citations, and presence on the community platforms that models quote heavily, especially Reddit. Content-level signals decide whether you get quoted once retrieved, but off-page signals influence whether you get retrieved at all and whether the model trusts your name. They sit below content structure in the hierarchy, but they are not zero.
Get mentioned where models already look
Generative engines lean on a recognizable set of high-trust sources. Reddit threads, in particular, show up as cited sources across ChatGPT, Perplexity, and Google AI Overviews. Community discussion is treated as honest signal about what real users recommend. Being named accurately in the relevant subreddit conversations, industry roundups, and "best tools for X" lists puts your entity in the exact places the engines are reading. You cannot fake this, and you should not astroturf it, but you can make sure your product is present and accurately described where genuine discussion happens.
Earn citations from authoritative pages
When credible, topically relevant sites cite or link to your page, two things happen: retrieval is more likely to surface you, and the model's confidence in your name rises. This is classic digital PR pointed at AI search: get your original data referenced, your experts quoted, and your tool listed by the publications and communities that cover your category. The goal is not raw link volume; it is being named, accurately, by sources the engines already trust.
Keep third-party descriptions of you accurate and consistent
Listings, review platforms, and directory entries that describe your brand should say the same true things your own pages say. Inconsistent descriptions across the web weaken the entity association engines build. Audit the places that describe you and align them to the same facts and the same language, so every source reinforces the same picture.
08 — Step 7Step 7: Run it as a weekly loop, not a one-time project
Treat AI search optimization as a repeating loop (measuring citation share, finding lost prompts, fixing weak passages, and re-measuring) because the answers shift between runs and a one-time pass goes stale. The engines re-retrieve and re-synthesize constantly, competitors publish, and your own edits take time to land. A single audit tells you where you stand once; the loop is what compounds.
The loop has four moves. First, define a fixed set of buyer-relevant prompts, which are the real questions your customers ask an AI engine. Second, sample each engine on a schedule and record whether you were cited, which passage was used, and which competitors were cited instead. Third, fix the prompts you lose by rewriting the weakest passages using Steps 2 through 5. Fourth, re-measure on the next cycle and watch the drift. Run that loop weekly and your citation share climbs; run it once and you will not know whether anything moved. Visiby automates this loop by sampling ChatGPT, Perplexity, and Google AI Overviews weekly, rendering a citation share matrix, passage-level provenance, and a prioritized action plan with ready-to-use content briefs, so the "fix the weakest passages" step comes with the passages already identified.
09 — ChatGPTHow to rank in ChatGPT specifically
To get cited in ChatGPT, make sure GPTBot and ChatGPT-User are allowed in robots.txt, then publish clean, sourced, well-structured answers. ChatGPT favors community-validated and well-attributed sources and quotes passages it can lift with low risk. ChatGPT pulls from its index and, in browsing mode, from live retrieval. In practice, it leans on recognizable, well-sourced pages and on community signals like Reddit. The moves that win it are simple: allow its bots, lead each section with a sourced answer, and make sure your brand is accurately described in the community discussions and roundups it reads. There is no ChatGPT-specific trick beyond doing the seven steps well and confirming its crawlers can reach you. "ChatGPT SEO" is just AI search optimization with the GPTBot access box checked.
10 — Google AI ModeHow to rank in Google AI Mode specifically
To rank in Google AI Mode (associated with Gemini and Google AI Overviews), you must maintain strong classic search indexation and use clear Schema markup. Google grounds its generative answers directly in the search results it retrieves. This means classic SEO acts as the foundation, while GEO structures the content for synthesis. To get cited here, ensure your pages rank in the top search results, allow Google-Extended in your robots.txt, and provide clear schema markup to make the facts on your page easily parsable by Google's models.
The engines disagree more than people expect. A passage that ChatGPT quotes may be ignored by Perplexity, which prefers a different source for the same prompt, while Google AI Overviews grounds on whatever already ranks in its index. That is why you measure each engine separately rather than trusting one average, since tuning for "AI search" as a single thing hides which engine you are actually losing.
11 — ChecklistThe AI search optimization checklist
Use this checklist on any page you want cited. Work top to bottom, prioritizing crawlability first, because the rest is wasted if the bot never sees the page.
Crawlability and indexation
GPTBot,PerplexityBot, andGoogle-Extendedare allowed in robots.txt (no blanket disallow hitting them)- The answer text is present in the raw server-rendered HTML, not only after JavaScript runs
- The page is indexed, has no stray
noindex, and is reachable by internal links - The page loads fast enough not to time out a crawler
Extraction structure
- Every H2/H3 is the literal question a user would ask
- The answer is the first sentence under each heading, under ~120 words, with no preamble
- Comparisons, specs, and label-value facts are in tables or tight lists, not buried in prose
- Each passage is self-contained (meaning it would still make sense quoted in isolation)
Entities
- Every product, company, standard, and person is named explicitly, not "it" or "the platform"
- The same entities are named consistently across the page and the site
Data and sourcing
- Every statistic is attributed to a named, datable source
- At least one original or proprietary data point appears that competitors cannot cite elsewhere
- Credible sources are quoted directly, not paraphrased vaguely
Schema
ArticleJSON-LD with named author,datePublished, and honestdateModifiedFAQPageJSON-LD whose questions and answers match the on-page textHowToJSON-LD on any step sequence, with ordered named steps- Every block validates and parses cleanly
Off-page and UGC
- The brand is accurately present in the relevant community discussions (e.g. Reddit) and roundups
- Original data and experts are pitched to publications and communities the engines trust
- Third-party listings describe the brand consistently with its own pages
Measurement loop
- A fixed set of buyer-relevant prompts is defined
- Each engine (ChatGPT, Perplexity, Google AI Overviews) is sampled on a schedule
- Citation share, the cited passage, and competitor citations are recorded per engine
- Lost prompts are fixed and re-measured the next cycle
12 — MeasurementHow do you measure whether any of this worked?
You measure AI search results by tracking citation share, which measures how often you are cited versus competitors, broken out per engine, across a fixed set of prompts, over time. The tactics above are inputs; citation share is the only output that tells you whether they landed. The catch is that this is the one layer classic analytics cannot see. Google Search Console shows clicks and impressions for ranked links, not whether ChatGPT quoted you. Rank trackers show position in the blue-link list, not your share of a generated answer. To know if your AI search work is paying off, you have to sample the engines directly.
That sampling is hard to do by hand at any real scale. The answers vary between runs, three engines disagree, and manual logging across dozens of prompts collapses within a week or two. For a handful of priority questions you can absolutely gut-check by asking each engine yourself and noting who got cited: that is a fine starting point. Past that, you need a scheduled tracker that asks the same prompts every cycle and shows you the trend you cannot eyeball.
This is the layer Visiby was built to measure. Visiby tracks brand citations across ChatGPT, Perplexity, and Google AI Overviews and renders the parts of the loop you cannot see by hand: a citation share matrix (your brand versus competitors, by topic and engine), passage-level provenance (which sentence on which page was cited, by which engine), drift over time, and an element-level Content Performance heatmap showing which on-page element types (H2 headings, FAQ blocks, tables, lists) actually earn citations per engine. It runs the loop on a weekly cadence (daily on Enterprise) and hands back a prioritized action plan with ready-to-use content briefs, so the "fix the weakest passages" step comes with the passages already identified. Get started and run your first report on Visiby.
13 — MistakesCommon mistakes when optimizing for AI search
The most common mistake is jumping to content rewrites while the AI crawlers are still blocked, meaning you fix extraction before fixing access, so the edits change nothing because the bot never sees them. Below are the failure patterns that waste the most time.
- Blocking the bots by accident. A scraper-defense
Disallowthat also hits GPTBot or PerplexityBot makes every other tactic moot. Check robots.txt first. - Writing for one engine. ChatGPT, Perplexity, and Google AI Overviews cite different sources for the same prompt. Tuning for one average hides which engine you are losing. Measure each separately.
- Burying the answer. Opening a section with throat-clearing pushes the quotable sentence down the page where the model skips it. Lead with the answer.
- Unsourced numbers. A bare statistic is a liability a model will not quote. Attribute every figure.
- Optimizing once. A one-time audit goes stale within weeks as engines re-synthesize and competitors publish. Run the loop.
- Confusing ranking with citation. There is no position number inside a generated answer. The goal is the citation, not a rank. Stop chasing a ladder that does not exist here.
- Trusting traffic alone. AI citations create awareness and brand lift without always producing a tracked click, so judging AI search purely by referral traffic undercounts it. Track citation share, not just visits.
14 — FAQAI search optimization: frequently asked questions
Virender Singh is the technical lead at Visiby, where he builds the crawling, structured-data, and answer-engine analysis behind the product. He writes about the technical mechanics of answer engine optimization. View full profile →

