<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Ke Gao</title>
    <description>The latest articles on DEV Community by Ke Gao (@dongdongdev).</description>
    <link>https://dev.to/dongdongdev</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4236080%2Fb115adb6-bd99-44fb-9901-c41a9a0820ba.png</url>
      <title>DEV Community: Ke Gao</title>
      <link>https://dev.to/dongdongdev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/dongdongdev"/>
    <language>en</language>
    <item>
      <title>Your robots.txt might be hiding you from AI answers - a 5-minute check</title>
      <dc:creator>Ke Gao</dc:creator>
      <pubDate>Tue, 10 Nov 2026 05:20:39 +0000</pubDate>
      <link>https://dev.to/dongdongdev/hiding-you-from-ai-answers-a-5-minute-check-4eb8</link>
      <guid>https://dev.to/dongdongdev/hiding-you-from-ai-answers-a-5-minute-check-4eb8</guid>
      <description>&lt;p&gt;Every audit I run starts the same way, and it is not with content. It is with &lt;code&gt;robots.txt&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The pattern: someone has spent six months publishing comparison pages and wondering why ChatGPT never mentions them, and somewhere in the site config a &lt;code&gt;Disallow: /&lt;/code&gt; rule was copied from a staging template, or a security plugin added &lt;code&gt;User-agent: *&lt;/code&gt; with a blocklist, or a developer blocked "AI scrapers" in 2023 and never revisited it. Two years of content, invisible to the engines.&lt;/p&gt;

&lt;p&gt;Here is the check, and the nuance people get wrong.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Which bots matter, and what each one actually does
&lt;/h2&gt;

&lt;p&gt;These are not interchangeable. Blocking one does not block the others:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Bot&lt;/th&gt;
&lt;th&gt;Used for&lt;/th&gt;
&lt;th&gt;Blocking it costs you&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;GPTBot&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;OpenAI's crawling for model training&lt;/td&gt;
&lt;td&gt;Training signal, but not necessarily ChatGPT search visibility&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;OAI-SearchBot&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Building the ChatGPT search index&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Appearing in ChatGPT search answers&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;ChatGPT-User&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;User-initiated fetch ("open this URL")&lt;/td&gt;
&lt;td&gt;ChatGPT being able to read your page on demand&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;ClaudeBot&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Anthropic's crawler&lt;/td&gt;
&lt;td&gt;Claude understanding/citing your pages&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;PerplexityBot&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Perplexity's index&lt;/td&gt;
&lt;td&gt;Perplexity citations&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Google-Extended&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Gemini / Vertex training controls&lt;/td&gt;
&lt;td&gt;Gemini training signal; &lt;strong&gt;does not affect Search ranking&lt;/strong&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Bingbot&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Bing index — which Copilot runs on&lt;/td&gt;
&lt;td&gt;Copilot visibility entirely&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The one people get wrong most often: they block &lt;code&gt;GPTBot&lt;/code&gt; to "opt out of training", feel principled, and don't realise &lt;code&gt;OAI-SearchBot&lt;/code&gt; is a separate switch that governs whether they show up in ChatGPT search. Opting out of training is a legitimate choice. Opting out of being &lt;em&gt;cited&lt;/em&gt; is usually an accident.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Read your own file
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl -s https://yourdomain.com/robots.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then look for four things:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;A blanket &lt;code&gt;Disallow: /&lt;/code&gt; under &lt;code&gt;User-agent: *&lt;/code&gt; — kills everything below it unless a specific agent overrides it.&lt;/li&gt;
&lt;li&gt;Named agent groups with &lt;code&gt;Disallow: /&lt;/code&gt; (&lt;code&gt;User-agent: GPTBot&lt;/code&gt; followed by &lt;code&gt;Disallow: /&lt;/code&gt; is the classic "we blocked AI in 2023" leftover).&lt;/li&gt;
&lt;li&gt;Whole-site blocks hidden in a plugin's "security" tab, which you won't see in the file's first ten lines.&lt;/li&gt;
&lt;li&gt;A &lt;code&gt;Sitemap:&lt;/code&gt; line that points to a sitemap returning 404 — common after a domain or framework migration.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  3. The minimum viable allowlist
&lt;/h2&gt;

&lt;p&gt;If you want to be readable by assistants and search engines, you need explicit allows (specific agent groups are matched before &lt;code&gt;*&lt;/code&gt;, so being explicit is safer than relying on the wildcard):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight conf"&gt;&lt;code&gt;&lt;span class="nc"&gt;User&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;agent&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;OAI&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nc"&gt;SearchBot&lt;/span&gt;
&lt;span class="nc"&gt;Allow&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;

&lt;span class="nc"&gt;User&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;agent&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nc"&gt;ChatGPT&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nc"&gt;User&lt;/span&gt;
&lt;span class="nc"&gt;Allow&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;

&lt;span class="nc"&gt;User&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;agent&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nc"&gt;PerplexityBot&lt;/span&gt;
&lt;span class="nc"&gt;Allow&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;

&lt;span class="nc"&gt;User&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;agent&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nc"&gt;ClaudeBot&lt;/span&gt;
&lt;span class="nc"&gt;Allow&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;

&lt;span class="nc"&gt;User&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;agent&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nc"&gt;Google&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nc"&gt;Extended&lt;/span&gt;
&lt;span class="nc"&gt;Allow&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;

&lt;span class="nc"&gt;Sitemap&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;https&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="c1"&gt;//yourdomain.com/sitemap.xml&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Keep the training-crawler decision (&lt;code&gt;GPTBot&lt;/code&gt;, &lt;code&gt;CCBot&lt;/code&gt;) as a separate, deliberate choice. Just make it deliberately, not by inheritance.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Check the engine that powers the answer
&lt;/h2&gt;

&lt;p&gt;Copilot runs on the Bing index, and a surprising number of sites are simply not in it. Verify with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;https://www.bing.com/search?q=site:yourdomain.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Zero results means no amount of content work will help that slice of users. Submit the sitemap in Bing Webmaster Tools and wait; it is usually days, not weeks.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Then, and only then, work on content
&lt;/h2&gt;

&lt;p&gt;Order matters. Crawler access → indexing → entity clarity → content → earned mentions. If you skip to step five, you are optimising pages nobody is allowed to read.&lt;/p&gt;

&lt;p&gt;This is the boring part of AI visibility, and it is also the part that produces the biggest jumps, because it is binary: either the crawler gets a 200 and reads the page, or nothing else you do matters.&lt;/p&gt;

&lt;p&gt;If you want to measure the result afterwards, I wrote about &lt;a href="https://dev.to/dongdongdev/your-product-doesnt-exist-to-chatgpt-a-20-minute-ai-visibility-audit-you-can-run-yourself-3ki1"&gt;auditing whether AI mentions you at all&lt;/a&gt; and about &lt;a href="https://dev.to/dongdongdev/the-six-kinds-of-pages-llms-actually-cite-and-how-to-find-yours-in-an-afternoon-8i1"&gt;the six kinds of pages models actually cite&lt;/a&gt;. The check above is what I run before either of them, and it takes five minutes.&lt;/p&gt;

&lt;p&gt;(Disclosure: I build &lt;a href="https://bidvix.com/?utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_campaign=launch-phase1" rel="noopener noreferrer"&gt;bidvix&lt;/a&gt;, which measures mention rates across five models — but crawler access is free to fix and I'd do that first either way.)&lt;/p&gt;

</description>
      <category>aiseomarketiwebdevng</category>
    </item>
    <item>
      <title>The six kinds of pages LLMs actually cite (and how to find yours in an afternoon)</title>
      <dc:creator>Ke Gao</dc:creator>
      <pubDate>Tue, 10 Nov 2026 05:09:13 +0000</pubDate>
      <link>https://dev.to/dongdongdev/the-six-kinds-of-pages-llms-actually-cite-and-how-to-find-yours-in-an-afternoon-8i1</link>
      <guid>https://dev.to/dongdongdev/the-six-kinds-of-pages-llms-actually-cite-and-how-to-find-yours-in-an-afternoon-8i1</guid>
      <description>&lt;p&gt;Last time I wrote about &lt;a href="https://dev.to/dongdongdev/your-product-doesnt-exist-to-chatgpt-a-20-minute-ai-visibility-audit-you-can-run-yourself-3ki1"&gt;auditing whether AI mentions your brand&lt;/a&gt;. The part people ask about is always the same: &lt;strong&gt;which pages get cited, and how do I get on them?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Here's the short version: run your buyer prompts, collect every URL the answer cites, and cluster them. In every audit I've done, the citations fall into six buckets. Your job is to find the buckets where you're absent &lt;em&gt;but reachable&lt;/em&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: collect the citations (30 minutes)
&lt;/h2&gt;

&lt;p&gt;Twelve prompts, four families: category, problem, comparison, brand. Run them in ChatGPT (with search), Perplexity and Gemini, logged out. Copy every source URL each answer cites into one column. Don't judge yet, just collect — 60 to 100 rows is normal.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: cluster into six buckets
&lt;/h2&gt;

&lt;p&gt;Every URL will land in one of these:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Bucket&lt;/th&gt;
&lt;th&gt;What it looks like&lt;/th&gt;
&lt;th&gt;How you get in&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Directories&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;"Top 40 AI tools", niche tool indexes&lt;/td&gt;
&lt;td&gt;Free/paid submission forms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Listicles &amp;amp; comparisons&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;"Best X for Y in 2026", "A vs B"&lt;/td&gt;
&lt;td&gt;Pitch the author, or publish your own comparison page&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Docs &amp;amp; changelogs&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Product docs, release notes, pricing pages&lt;/td&gt;
&lt;td&gt;Yours to write — make one page answer one question&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Community threads&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Reddit, Quora, HN, Indie Hackers, forums&lt;/td&gt;
&lt;td&gt;Answer real questions, disclose you're the maker&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;News &amp;amp; editorial&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Trade press, launch coverage&lt;/td&gt;
&lt;td&gt;Harder; usually needs a story, not a product&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Code &amp;amp; lists&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;GitHub repos, awesome-lists, package docs&lt;/td&gt;
&lt;td&gt;A PR, if your tool is developer-adjacent&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Step 3: read the distribution, not the individual URLs
&lt;/h2&gt;

&lt;p&gt;Count rows per bucket. Two patterns come up constantly:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Directories + listicles dominate.&lt;/strong&gt; That means the model isn't reading your site, it's reading the pages &lt;em&gt;about&lt;/em&gt; your category. Ten good listings beat one beautiful landing page.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Community threads show up more than people expect&lt;/strong&gt;, especially for "what tool should I use" style questions. One useful Quora answer can be pulled into answers for months.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now compare with where you actually exist. The gap list is your roadmap — and it's usually shorter than it feels.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: fix the boring blockers first
&lt;/h2&gt;

&lt;p&gt;Before any of this works, two things are often quietly broken:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Crawler access.&lt;/strong&gt; Check &lt;code&gt;robots.txt&lt;/code&gt; for &lt;code&gt;GPTBot&lt;/code&gt;, &lt;code&gt;ClaudeBot&lt;/code&gt;, &lt;code&gt;PerplexityBot&lt;/code&gt;, &lt;code&gt;Google-Extended&lt;/code&gt;. Plenty of sites block them by accident via a copied template. Two years of content behind a crawler block is a common, embarrassing finding.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Indexing in the engine that powers the answer.&lt;/strong&gt; Copilot runs on Bing. If you have no Bing index, you don't exist for a slice of users regardless of content quality.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Step 5: pick three buckets, not six
&lt;/h2&gt;

&lt;p&gt;The failure mode is trying all six at once. I'd pick: one directory pass (10 submissions), one community pass (3 thoughtful answers, disclosure included), and one content pass (5 answer-shaped pages — one question per page, answer in the first 40 words).&lt;/p&gt;

&lt;p&gt;Then re-run the same twelve prompts two to four weeks later and count the same buckets. If the distribution shifted toward sources you control, it's working. If it didn't, you were probably working on the wrong bucket — which is exactly the thing measurement is for.&lt;/p&gt;

&lt;p&gt;If you'd rather not build the spreadsheet, I made &lt;a href="https://bidvix.com/?utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_campaign=launch-phase1" rel="noopener noreferrer"&gt;bidvix&lt;/a&gt; for the measurement half (mention rate + cited URLs across five models). The clustering above is the part that actually changes what you do, and it works fine in a notebook.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Also in this series:&lt;/strong&gt; &lt;a href="https://dev.to/dongdongdev/your-product-doesnt-exist-to-chatgpt-a-20-minute-ai-visibility-audit-you-can-run-yourself-3ki1"&gt;The 20-minute AI visibility audit&lt;/a&gt; · &lt;a href="https://dev.to/dongdongdev/hiding-you-from-ai-answers-a-5-minute-check-4eb8"&gt;Your robots.txt might be hiding you from AI answers&lt;/a&gt;&lt;/p&gt;

</description>
      <category>aiseomarketiwebdevng</category>
    </item>
    <item>
      <title>Your product doesn't exist to ChatGPT — a 20-minute AI visibility audit you can run yourself</title>
      <dc:creator>Ke Gao</dc:creator>
      <pubDate>Tue, 10 Nov 2026 00:46:09 +0000</pubDate>
      <link>https://dev.to/dongdongdev/your-product-doesnt-exist-to-chatgpt-a-20-minute-ai-visibility-audit-you-can-run-yourself-3ki1</link>
      <guid>https://dev.to/dongdongdev/your-product-doesnt-exist-to-chatgpt-a-20-minute-ai-visibility-audit-you-can-run-yourself-3ki1</guid>
      <description>&lt;p&gt;Ask ChatGPT "what's the best tool for X" and you'll get three or four brand names. If yours isn't one of them, you have a problem Google Analytics will never show you: &lt;strong&gt;the user never reached your site, so there's no traffic to attribute.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I've been chasing this for my own tool. Here's the checklist I use, the data I got, and the fixes that actually moved the needle.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why LLMs ignore your product
&lt;/h2&gt;

&lt;p&gt;LLMs don't "browse" a category. They answer from:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Parametric memory&lt;/strong&gt; — whatever was in the training data. You can't change this directly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Retrieval&lt;/strong&gt; — the pages that get pulled in for a query (docs, listicles, directories, Reddit threads, comparison pages).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Entity consistency&lt;/strong&gt; — does the model have a stable idea of &lt;em&gt;what you are&lt;/em&gt;? One-sentence description, same everywhere, with a category.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Most indie products fail on #2 and #3, not #1. The model doesn't know you because nothing on the open web says the same, boring sentence about you ten times.&lt;/p&gt;

&lt;h2&gt;
  
  
  The audit (20 minutes)
&lt;/h2&gt;

&lt;p&gt;Pick &lt;strong&gt;4 prompt families&lt;/strong&gt;, and 3 variants each — 12 prompts total:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Family&lt;/th&gt;
&lt;th&gt;Example&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Category&lt;/td&gt;
&lt;td&gt;"best AI visibility tools", "tools to check if ChatGPT mentions my brand"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Problem&lt;/td&gt;
&lt;td&gt;"how do I know if AI search engines recommend my product"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Comparison&lt;/td&gt;
&lt;td&gt;"brand monitoring vs AI visibility trackers"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Brand&lt;/td&gt;
&lt;td&gt;"what is bidvix" (baseline: does the model know you at all?)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Run each prompt &lt;strong&gt;3 times&lt;/strong&gt; in ChatGPT, Gemini, Claude, Perplexity, and DeepSeek. Score:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Mention rate&lt;/strong&gt; — how often you appear (out of runs).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Position&lt;/strong&gt; — first three brands mentioned, or buried in a list.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sentiment&lt;/strong&gt; — recommended, neutral, or described wrongly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cited sources&lt;/strong&gt; — which URLs the model actually read. This is the gold. Those pages are your real competitors for attention.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Track it in a sheet. Repeat weekly. A single check is noise; a trend is a signal.&lt;/p&gt;

&lt;h2&gt;
  
  
  What my own audit showed
&lt;/h2&gt;

&lt;p&gt;For &lt;code&gt;bidvix&lt;/code&gt;, brand prompts were fine — the model knew the name. Category prompts were the problem: my tool was absent from "best AI visibility tools" answers, while the cited sources were almost entirely &lt;strong&gt;directory listings and listicles&lt;/strong&gt;, not vendor sites.&lt;/p&gt;

&lt;p&gt;Two conclusions that changed my plan:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Being &lt;em&gt;findable on Google&lt;/em&gt; is not the same as being &lt;em&gt;quotable by a model&lt;/em&gt;. Directories and comparison pages get retrieved; your beautiful landing page often doesn't.&lt;/li&gt;
&lt;li&gt;Consistency beats cleverness. When 6 sources describe you with 6 different categories, the model hedges and leaves you out.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Fixes, in order of effort-to-impact
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;One canonical sentence.&lt;/strong&gt; Write it once: &lt;code&gt;X is a [category] that [does the thing] for [who]&lt;/code&gt;. Use it verbatim on your site, your profiles, and every directory submission. Don't get creative — get repetitive.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Answer pages, not blog posts.&lt;/strong&gt; One page per question your users actually ask ("does ChatGPT mention my brand", "how to track AI search visibility"). Lead with a 40-word answer, then details. These are the pages retrieval likes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Get into the sources that get cited.&lt;/strong&gt; Directories, "best of" lists, comparison pages, community threads. Not 60 of them — 10 that the models already read for your prompts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Keep a public changelog / docs page&lt;/strong&gt; that states what the product does and doesn't do. Models respect hedged, factual pages far more than marketing copy.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Measure again after 2–4 weeks.&lt;/strong&gt; Retrieval-heavy models (Perplexity, ChatGPT with search) move fast; parametric answers move slowly.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The uncomfortable part
&lt;/h2&gt;

&lt;p&gt;You can't A/B test your way into this. There's no dashboard that tells you "you were cited 4 times today" unless you build or buy one — which is, admittedly, why I built mine. If you want to skip the spreadsheet, &lt;a href="https://bidvix.com/?utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_campaign=launch-phase1" rel="noopener noreferrer"&gt;bidvix&lt;/a&gt; runs the same 12-prompt check across five models and gives you a mention rate plus the cited URLs.&lt;/p&gt;

&lt;p&gt;But the audit above works with a notebook and 20 minutes. Do that first — the numbers will tell you whether you have a content problem or an entity problem, and those have very different fixes.&lt;/p&gt;

&lt;p&gt;If you run it, I'd genuinely like to see your results — especially the cited-URLs column. That list is usually a shock.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Next in this series:&lt;/strong&gt; &lt;a href="https://dev.to/dongdongdev/the-six-kinds-of-pages-llms-actually-cite-and-how-to-find-yours-in-an-afternoon-8i1"&gt;The six kinds of pages LLMs actually cite&lt;/a&gt; · &lt;a href="https://dev.to/dongdongdev/hiding-you-from-ai-answers-a-5-minute-check-4eb8"&gt;Your robots.txt might be hiding you from AI answers&lt;/a&gt;&lt;/p&gt;

</description>
      <category>aiseomarketingwebdev</category>
    </item>
  </channel>
</rss>
