<?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: Nitish Kumar Yadav</title>
    <description>The latest articles on DEV Community by Nitish Kumar Yadav (@nitishyadav).</description>
    <link>https://dev.to/nitishyadav</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%2F3994901%2Fb6b311a9-0f34-438b-877f-f6a343b9b8de.jpeg</url>
      <title>DEV Community: Nitish Kumar Yadav</title>
      <link>https://dev.to/nitishyadav</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nitishyadav"/>
    <language>en</language>
    <item>
      <title>Your customers ask AI now, not Google. I built a $29/mo agent builder to get you cited.</title>
      <dc:creator>Nitish Kumar Yadav</dc:creator>
      <pubDate>Thu, 17 Sep 2026 20:51:55 +0000</pubDate>
      <link>https://dev.to/nitishyadav/your-customers-ask-ai-now-not-google-i-built-a-29mo-agent-builder-to-get-you-cited-con</link>
      <guid>https://dev.to/nitishyadav/your-customers-ask-ai-now-not-google-i-built-a-29mo-agent-builder-to-get-you-cited-con</guid>
      <description>&lt;p&gt;People don't scroll ten blue links anymore. They ask ChatGPT "what's the best X for Y" and take the answer. Same with Perplexity, Gemini, Copilot, Google's AI Overviews. One answer, a couple of brands named, done.&lt;/p&gt;

&lt;p&gt;If your brand is one of the names, great. If it isn't, there's no page two to claw your way up to. You're just not in the room.&lt;/p&gt;

&lt;p&gt;I've been building &lt;a href="https://fixaeo.com" rel="noopener noreferrer"&gt;FixAEO&lt;/a&gt; around that problem for a while — tracking whether AI engines cite you, and where they cite your competitors instead. But tracking is the easy half. The hard half is doing something about it every week: rewrite this page, refresh that stale stat, figure out which of your pages the models actually pull from, then do it all again next Monday. That part is a job.&lt;/p&gt;

&lt;p&gt;So I built the thing that does the job. It's two pieces: an &lt;strong&gt;AI Marketer&lt;/strong&gt; (recipes that do the work for you) and an &lt;strong&gt;agent builder&lt;/strong&gt; (build your own when the recipes aren't enough). This is the honest walkthrough of both — including the parts that aren't finished.&lt;/p&gt;

&lt;p&gt;Quick definition for the devs who haven't touched this yet: &lt;strong&gt;AEO&lt;/strong&gt; is answer-engine optimization. It's SEO's weird younger sibling — instead of ranking a page, you're trying to be the source an LLM quotes when someone asks it a question. Different game, same stakes.&lt;/p&gt;

&lt;h2&gt;
  
  
  The AI Marketer: recipes that run on your real data
&lt;/h2&gt;

&lt;p&gt;The important word is &lt;em&gt;real&lt;/em&gt;. This isn't a chat box that hands you generic "write more content" advice. It runs on your actual citation data — the prompts we run across six AI engines (ChatGPT, Gemini, Perplexity, Copilot, Google AI Overviews, Google AI Mode) to see where you show up and where you don't.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F21ftf4uyqc737ys7mwn6.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F21ftf4uyqc737ys7mwn6.webp" alt="The FixAEO AI Marketer running the Weekly Brand Health recipe" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The AI Marketer mid-run on the Weekly Brand Health recipe — note the confidence badge and the "review generated work before use" footer.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;It ships with &lt;strong&gt;17 ready-made agent templates&lt;/strong&gt;. The five I reach for most are the core content and report recipes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Content Optimization Suggestions&lt;/strong&gt; — point it at a page and a question you want to win, and it gives you source-linked fixes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AEO Content Refresh&lt;/strong&gt; — reviews the recommendations, then generates a before/after draft.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Content Brief + Final Draft Generator&lt;/strong&gt; — researches a topic, builds a brief, then writes a sourced draft.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Optimize Lowest Performing Cited Page&lt;/strong&gt; — finds your least-cited owned page in a scope you set and tells you how to fix it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Weekly Brand Health Report&lt;/strong&gt; — compares two full weeks of your mentions and citations so you can see what moved.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fubdxairgyfzhm7htlyp9.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fubdxairgyfzhm7htlyp9.webp" alt="The FixAEO agent template gallery" width="800" height="474"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The template gallery — ready-made agents across content optimization, creation, research, reporting, and outreach.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Two of those (AEO Content Refresh, Content Brief + Final Draft) deliberately &lt;strong&gt;stop and wait for you&lt;/strong&gt; before they generate the final draft. You review the plan, then it writes. I didn't want a recipe quietly shipping a draft you never looked at.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fa9cpytk9mjm8358zohba.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fa9cpytk9mjm8358zohba.webp" alt="A FixAEO recipe showing its plan and deliverable up front" width="800" height="473"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Every recipe shows its plan and deliverable up front — and states plainly that nothing is published automatically.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The part I'm actually proud of is the grounding. The recipe engine won't let the model invent search volumes, competitor numbers, or outside facts. Every quote and citation it uses is machine-checked against the sources it actually pulled — anything that doesn't match a captured source is rejected. For the recommendation recipes, unbacked items get dropped; for the draft recipes, it re-runs once and fails the step rather than ship something ungrounded. LLMs are confident liars by default; this makes them cite their work or shut up.&lt;/p&gt;

&lt;p&gt;And you don't have to babysit the Weekly Brand Health report — put it on a weekly schedule and it just runs. The other recipes run on demand, whenever you want a fresh pass. (The full eight-frequency scheduler lives in the agent builder, below.)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cost model:&lt;/strong&gt; work credits. One credit is one cent of measured model cost. The $29 plan includes 100 credits a month. You spend what the work actually costs — a reply might burn zero credits or a few, depending on what it did. No made-up "premium action" tax.&lt;/p&gt;

&lt;h2&gt;
  
  
  The agent builder: for when the recipes aren't your shape
&lt;/h2&gt;

&lt;p&gt;The recipes are the paved road. The builder is for going off it.&lt;/p&gt;

&lt;p&gt;It's a node graph. You wire up the steps yourself: pull your brand's data, run a skill, hand off to an integration, gate on a human review. Up to 10 skills per agent — and that's enforced on the server, not a polite suggestion in the docs.&lt;/p&gt;

&lt;p&gt;The integrations that actually exist right now (I'm only listing what's shipped):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Slack&lt;/strong&gt; — have an agent post into a channel&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Google Docs&lt;/strong&gt; — drop a draft straight into a doc&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;WordPress&lt;/strong&gt; — publish a finished draft straight to your blog as a draft post&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Webhooks&lt;/strong&gt; and a generic &lt;strong&gt;HTTP API&lt;/strong&gt; node — POST to your own endpoint and do whatever you want with it&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Eight schedule frequencies — hourly, daily, weekdays, weekends, weekly, monthly, annually, or just once — so an agent can wake up every weekday morning, do its thing, and drop the result where you'll see it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The safety model, stated precisely
&lt;/h2&gt;

&lt;p&gt;This is where a lot of "autonomous AI" pitches get slippery, so let me be exact.&lt;/p&gt;

&lt;p&gt;Where you place a &lt;strong&gt;review checkpoint&lt;/strong&gt; in an agent, the run stops there. It cannot be skipped — not even in a test run. And for anything that sends externally or is destructive, you're not allowed to set "always allow" — those get a human every time, and each approval is single-use, so one click doesn't hand over the keys forever. (Low-risk internal steps you &lt;em&gt;can&lt;/em&gt; choose to remember; the irreversible stuff you can't.)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkvvru78dkdae4zxhc2hu.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkvvru78dkdae4zxhc2hu.webp" alt="A FixAEO agent run paused at a human-approval checkpoint" width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;A run paused at a human-approval step. Approving continues with those exact values; rejecting stops the run — and external actions get one-time approval only.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Here's the honest caveat: &lt;strong&gt;the builder does not force you to add a review step.&lt;/strong&gt; If you wire up an agent that sends something with no checkpoint, it'll warn you — but it'll still run. So the guardrail is real and it's strict &lt;em&gt;where you use it&lt;/em&gt;, but it's opt-in, not mandatory. I'd rather tell you that than pretend the thing is idiot-proof. It isn't. It's careful, if you build it careful.&lt;/p&gt;

&lt;h2&gt;
  
  
  The honest part (a.k.a. what it doesn't do)
&lt;/h2&gt;

&lt;p&gt;I'm building this in public, so:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;It's early.&lt;/strong&gt; I'm still shipping reliability fixes to the builder as I write this. If you throw a weird graph at it, you might find an edge I haven't. Please do.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;$29 scans refresh every 72 hours, not daily.&lt;/strong&gt; If you need daily freshness, that's the $79 tier. I'm not going to bury that.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;$29 is one seat, 15 tracked prompts, up to 2 brands.&lt;/strong&gt; It's built for a solo founder or a small team watching a couple of brands — not a 40-person agency. Right tool, right size.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;There's no giant connector marketplace.&lt;/strong&gt; What's shipped: Slack, Google Docs, WordPress, and a webhook/HTTP node. That's it for now, and I'd rather ship a handful that work than name twenty that don't.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why $29 is the number that matters
&lt;/h2&gt;

&lt;p&gt;Not because it's cheap for cheap's sake. Because the agent builder and the AI Marketer aren't locked behind some "call sales" enterprise tier. $29 (or $25/mo if you pay yearly) is just the lowest plan where they have real citation data to chew on — six engines, actual mentions, actual competitor leaderboards. There's also a genuinely free tier — a one-engine (Gemini) scan — if you just want to check whether AI knows you exist before you spend anything.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7ahi7zkxidnayptuhent.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7ahi7zkxidnayptuhent.webp" alt="The FixAEO pricing page showing the $29 Lite tier" width="800" height="720"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The plans. Everything I described lives on the $29 Lite tier.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Most tools doing agentic AEO work sit a good deal north of $29 a month. I won't run a teardown here — the pricing pages are all public, go compare them yourself. That's kind of the point.&lt;/p&gt;

&lt;h2&gt;
  
  
  Go break it
&lt;/h2&gt;

&lt;p&gt;I'm not going to hard-sell you. Do one thing: run a free scan on your own domain and see if AI even names you. If it does, nice. If it doesn't, that's the gap that's quietly costing you.&lt;/p&gt;

&lt;p&gt;And if you build an agent that does something dumb, tell me. Right now that feedback is worth more to me than the $29.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://fixaeo.com" rel="noopener noreferrer"&gt;fixaeo.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>seo</category>
      <category>buildinpublic</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Answer Engine Optimization for Developers: What I Check First</title>
      <dc:creator>Nitish Kumar Yadav</dc:creator>
      <pubDate>Fri, 14 Aug 2026 19:06:04 +0000</pubDate>
      <link>https://dev.to/nitishyadav/answer-engine-optimization-for-developers-what-i-check-first-1928</link>
      <guid>https://dev.to/nitishyadav/answer-engine-optimization-for-developers-what-i-check-first-1928</guid>
      <description>&lt;p&gt;Most AEO advice starts with content. When I review a site, I start lower in the stack.&lt;/p&gt;

&lt;p&gt;What does the crawler receive? Is the useful information in the HTML? Can a machine tell which company and product the page is about? Only after those checks do I look at how the answer is written.&lt;/p&gt;

&lt;p&gt;I work on &lt;a href="https://fixaeo.com/" rel="noopener noreferrer"&gt;FixAEO&lt;/a&gt;, so I spend a lot of time thinking about why one brand appears in an AI answer while another does not. There is no single switch that controls this. In practice, the problems are usually spread across access, page structure, entity data, content, and measurement.&lt;/p&gt;

&lt;p&gt;This is the order I use when checking them.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;The short version:&lt;/strong&gt; Make the right pages easy to fetch, put the important information in reliable HTML, describe your entities accurately, answer specific questions, and track mentions separately from citations. Add &lt;code&gt;llms.txt&lt;/code&gt; if it helps agents navigate your site, but do not treat it as a shortcut.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;em&gt;Last reviewed: August 15, 2026.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  First, define what AEO means here
&lt;/h2&gt;

&lt;p&gt;Answer Engine Optimization (AEO) is the work of making a brand or website easier for answer systems to find, understand, and cite.&lt;/p&gt;

&lt;p&gt;It overlaps heavily with technical SEO. The difference is the final output. A search engine usually returns a ranked list of pages. An answer engine may read several pages, write its own response, and show only a few sources.&lt;/p&gt;

&lt;p&gt;For a developer, the rough path looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;request -&amp;gt; crawler or user-triggered fetch -&amp;gt; retrieval index
        -&amp;gt; candidate selection -&amp;gt; generated answer -&amp;gt; mention or citation
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You cannot force the last two stages. You can make the inputs less ambiguous.&lt;/p&gt;

&lt;p&gt;My review order is:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;crawler access&lt;/li&gt;
&lt;li&gt;rendered HTML&lt;/li&gt;
&lt;li&gt;entity and product data&lt;/li&gt;
&lt;li&gt;answer-friendly content&lt;/li&gt;
&lt;li&gt;repeatable measurement&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  1. Check the response before changing robots.txt
&lt;/h2&gt;

&lt;p&gt;People often open &lt;code&gt;robots.txt&lt;/code&gt;, see an &lt;code&gt;Allow&lt;/code&gt;, and assume the crawler can reach the page. That is only one layer.&lt;/p&gt;

&lt;p&gt;A CDN, Web Application Firewall, rate limiter, or bot-management rule can still return a challenge page or a &lt;code&gt;403&lt;/code&gt;. I check the actual response and the server logs before changing the file.&lt;/p&gt;

&lt;p&gt;I also keep search crawlers and training crawlers separate. OpenAI documents &lt;code&gt;OAI-SearchBot&lt;/code&gt; for ChatGPT search and lists &lt;code&gt;GPTBot&lt;/code&gt; separately for potential model training. Perplexity documents &lt;code&gt;PerplexityBot&lt;/code&gt; for its search index and &lt;code&gt;Perplexity-User&lt;/code&gt; for user-requested fetches. Anthropic also publishes separate crawler guidance.&lt;/p&gt;

&lt;p&gt;That lets a site owner make a more precise choice than blocking every AI-related user agent.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User-agent: OAI-SearchBot
Allow: /

User-agent: PerplexityBot
Allow: /

User-agent: GPTBot
Disallow: /
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is a policy example, not a recommended default. The right rules depend on how you want your content used. User-agent names and provider policies can also change, so check the current documentation before deploying anything:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://help.openai.com/en/articles/12627856-publishers-and-developers-faq" rel="noopener noreferrer"&gt;OpenAI publisher and developer guidance&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://support.anthropic.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler" rel="noopener noreferrer"&gt;Anthropic crawler guidance&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.perplexity.ai/docs/resources/perplexity-crawlers" rel="noopener noreferrer"&gt;Perplexity crawler guidance&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One practical test is to request the page with the intended user agent and inspect the status, headers, and body. This does not prove that the provider will index the page, but it will expose obvious blocking and challenge-page problems.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Look at the HTML a crawler actually gets
&lt;/h2&gt;

&lt;p&gt;The next question is simple: if JavaScript does not run, is the useful information still there?&lt;/p&gt;

&lt;p&gt;Server-side rendering is not mandatory for every site. It does remove a common source of failure, especially when product details, pricing, documentation, or comparison data load through several client-side requests.&lt;/p&gt;

&lt;p&gt;I look for these problems:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the product description appears only after hydration&lt;/li&gt;
&lt;li&gt;pricing is inserted after a click&lt;/li&gt;
&lt;li&gt;documentation requires a logged-in session&lt;/li&gt;
&lt;li&gt;the visible headings are styled &lt;code&gt;&amp;lt;div&amp;gt;&lt;/code&gt; elements&lt;/li&gt;
&lt;li&gt;the canonical URL points to another page&lt;/li&gt;
&lt;li&gt;a &lt;code&gt;noindex&lt;/code&gt; directive is present by mistake&lt;/li&gt;
&lt;li&gt;the server returns different content to a non-browser client&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Fetch the page without running JavaScript and read the response. At minimum, I want to see the title, main explanation, headings, canonical URL, update date, and the links that establish context.&lt;/p&gt;

&lt;p&gt;If those pieces are missing, I would fix that before rewriting paragraphs for AI search.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Add JSON-LD that matches the visible page
&lt;/h2&gt;

&lt;p&gt;Structured data is useful because it gives machines explicit entity information. It is not a citation guarantee.&lt;/p&gt;

&lt;p&gt;For a SaaS homepage, I normally begin with &lt;code&gt;Organization&lt;/code&gt; and &lt;code&gt;SoftwareApplication&lt;/code&gt;. A small graph is enough if it is accurate:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;script &lt;/span&gt;&lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"application/ld+json"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;@context&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;https://schema.org&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;@graph&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;@type&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Organization&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;@id&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;https://example.com/#organization&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;name&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Example&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;url&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;https://example.com/&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;logo&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;https://example.com/logo.png&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;sameAs&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;https://www.linkedin.com/company/example&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;https://github.com/example&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
      &lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;@type&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;SoftwareApplication&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;name&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Example App&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;url&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;https://example.com/&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;applicationCategory&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;BusinessApplication&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;operatingSystem&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Web&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;publisher&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;@id&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;https://example.com/#organization&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
      &lt;span class="p"&gt;},&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;offers&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;@type&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Offer&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;price&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;0&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;priceCurrency&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;USD&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
      &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The important part is consistency. The name, URL, logo, price, and social profiles should agree with what a person sees on the page. Do not add ratings, reviews, prices, or affiliations that are not visible and true.&lt;/p&gt;

&lt;p&gt;I validate the result with the &lt;a href="https://validator.schema.org/" rel="noopener noreferrer"&gt;Schema.org validator&lt;/a&gt; and &lt;a href="https://search.google.com/test/rich-results" rel="noopener noreferrer"&gt;Google's Rich Results Test&lt;/a&gt;. Google also documents the supported properties for &lt;a href="https://developers.google.com/search/docs/appearance/structured-data/organization" rel="noopener noreferrer"&gt;&lt;code&gt;Organization&lt;/code&gt;&lt;/a&gt; and &lt;a href="https://developers.google.com/search/docs/appearance/structured-data/software-app" rel="noopener noreferrer"&gt;&lt;code&gt;SoftwareApplication&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Treat llms.txt as a map, not a ranking file
&lt;/h2&gt;

&lt;p&gt;I would not make &lt;code&gt;llms.txt&lt;/code&gt; the first AEO task on a backlog.&lt;/p&gt;

&lt;p&gt;The file is an emerging proposal for giving agents a short Markdown map of useful resources. It can be handy for a documentation-heavy product, but it is not an IETF standard and does not guarantee that commercial answer engines will use it.&lt;/p&gt;

&lt;p&gt;A basic version might look like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# Example&lt;/span&gt;
&lt;span class="gt"&gt;
&amp;gt; Example monitors distributed jobs and alerts teams when a run fails.&lt;/span&gt;

&lt;span class="gu"&gt;## Documentation&lt;/span&gt;
&lt;span class="p"&gt;
-&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;Quick start&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://example.com/docs/quick-start.md&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;: Run the first job.
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;API reference&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://example.com/docs/api.md&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;: Endpoints and authentication.

&lt;span class="gu"&gt;## Product&lt;/span&gt;
&lt;span class="p"&gt;
-&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;Pricing&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://example.com/pricing&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;: Current plans and limits.
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;Security&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://example.com/security&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;: Data handling and compliance.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Keep it short and point it at pages you maintain. It does not replace &lt;code&gt;robots.txt&lt;/code&gt;, &lt;code&gt;sitemap.xml&lt;/code&gt;, canonical tags, semantic HTML, or normal internal links. The proposal is documented at &lt;a href="https://llmstxt.org/" rel="noopener noreferrer"&gt;llmstxt.org&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Write sections that can stand on their own
&lt;/h2&gt;

&lt;p&gt;AI retrieval systems often work with passages. That changes how I edit a page.&lt;/p&gt;

&lt;p&gt;I ask whether a useful section still makes sense when it is lifted out of the surrounding article. If the answer depends on three earlier paragraphs, the passage is harder to reuse accurately.&lt;/p&gt;

&lt;p&gt;The formats that work well are not exotic:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a direct definition below a question heading&lt;/li&gt;
&lt;li&gt;a comparison table with named criteria&lt;/li&gt;
&lt;li&gt;numbered steps with a clear outcome&lt;/li&gt;
&lt;li&gt;examples that show an input and an output&lt;/li&gt;
&lt;li&gt;a claim followed by its source&lt;/li&gt;
&lt;li&gt;version numbers, prerequisites, and known failure cases&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Specific wording helps. “A modern platform for intelligent growth” tells a reader almost nothing. “A tool that checks brand mentions in five answer engines and exports the cited URLs” describes an entity and a job.&lt;/p&gt;

&lt;p&gt;This is also why I avoid filling a page with synonyms for the same idea. One clear term, used consistently, is easier for both people and machines to follow.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Measure mentions and citations separately
&lt;/h2&gt;

&lt;p&gt;A single “AI visibility” score can hide what actually changed.&lt;/p&gt;

&lt;p&gt;I keep at least four signals separate:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Signal&lt;/th&gt;
&lt;th&gt;What it tells you&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Mention rate&lt;/td&gt;
&lt;td&gt;How often the answer names the brand&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Citation rate&lt;/td&gt;
&lt;td&gt;How often the answer links to the brand's pages&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sentiment&lt;/td&gt;
&lt;td&gt;Whether the answer recommends, describes, or criticizes the brand&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Share of voice&lt;/td&gt;
&lt;td&gt;How often the brand appears compared with competitors&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Use a fixed prompt set, run it on a schedule, and keep the raw answers. AI output varies, so one good response is not a trend.&lt;/p&gt;

&lt;p&gt;For example, 20 prompts across 5 engines, checked weekly for 4 weeks, produce 400 observations. That is enough to see direction while still acknowledging that the output is non-deterministic.&lt;/p&gt;

&lt;p&gt;Referral traffic belongs in the same review, but it answers a different question. A citation can influence brand consideration even when nobody clicks it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The checklist I use
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;[ ] Important pages return &lt;code&gt;200&lt;/code&gt; without authentication&lt;/li&gt;
&lt;li&gt;[ ] Canonical URLs point to the intended originals&lt;/li&gt;
&lt;li&gt;[ ] Search-oriented AI crawlers are not blocked by mistake&lt;/li&gt;
&lt;li&gt;[ ] CDN and firewall rules agree with &lt;code&gt;robots.txt&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;[ ] Primary information is present in reliable HTML&lt;/li&gt;
&lt;li&gt;[ ] Each page has one descriptive H1 and a logical heading order&lt;/li&gt;
&lt;li&gt;[ ] &lt;code&gt;Organization&lt;/code&gt; data matches the visible company details&lt;/li&gt;
&lt;li&gt;[ ] Product pages use accurate &lt;code&gt;SoftwareApplication&lt;/code&gt; or &lt;code&gt;Product&lt;/code&gt; data&lt;/li&gt;
&lt;li&gt;[ ] JSON-LD validates without critical errors&lt;/li&gt;
&lt;li&gt;[ ] Sitemap dates represent real updates&lt;/li&gt;
&lt;li&gt;[ ] Optional &lt;code&gt;llms.txt&lt;/code&gt; links to maintained pages&lt;/li&gt;
&lt;li&gt;[ ] Important claims have named evidence&lt;/li&gt;
&lt;li&gt;[ ] Mentions and citations are reported separately&lt;/li&gt;
&lt;li&gt;[ ] Raw answers are saved for comparison&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Three questions I hear often
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Is AEO different from SEO?
&lt;/h3&gt;

&lt;p&gt;Yes, but the two share the same foundation. SEO helps a page get crawled, indexed, and ranked. AEO adds work that helps answer systems extract a useful passage, connect it to the correct entity, and cite it. Skipping technical SEO usually creates AEO problems too.&lt;/p&gt;

&lt;h3&gt;
  
  
  Will llms.txt improve visibility on its own?
&lt;/h3&gt;

&lt;p&gt;No. Use it as a navigation aid if it suits your site. Fix access, HTML, canonical tags, structured data, and internal links first.&lt;/p&gt;

&lt;h3&gt;
  
  
  Does schema guarantee a citation?
&lt;/h3&gt;

&lt;p&gt;No. Accurate JSON-LD can remove ambiguity, but the answer engine still decides what to retrieve and cite. Good schema supports accessible pages and well-sourced content; it does not replace them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where I would start
&lt;/h2&gt;

&lt;p&gt;If a site is missing from AI answers, I would not begin with a large content rewrite. I would fetch the important pages, check the response codes and HTML, compare the visible information with the JSON-LD, and verify the crawler policy.&lt;/p&gt;

&lt;p&gt;Once that foundation is clean, improve the passages and start measuring a fixed prompt set. That order makes the investigation easier because each change has a clear reason.&lt;/p&gt;

&lt;p&gt;If you want a starting point, FixAEO has a free &lt;a href="https://fixaeo.com/aeo-audit-tool/" rel="noopener noreferrer"&gt;AEO audit&lt;/a&gt;. I also wrote a longer overview of the topic here: &lt;a href="https://fixaeo.com/blogs/what-is-aeo/" rel="noopener noreferrer"&gt;What is AEO?&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>seo</category>
      <category>webdev</category>
    </item>
    <item>
      <title>How AI engines actually decide what to cite (ChatGPT, Perplexity, Gemini, AI Overviews)</title>
      <dc:creator>Nitish Kumar Yadav</dc:creator>
      <pubDate>Sun, 21 Jun 2026 05:19:39 +0000</pubDate>
      <link>https://dev.to/nitishyadav/how-ai-engines-actually-decide-what-to-cite-chatgpt-perplexity-gemini-ai-overviews-6bh</link>
      <guid>https://dev.to/nitishyadav/how-ai-engines-actually-decide-what-to-cite-chatgpt-perplexity-gemini-ai-overviews-6bh</guid>
      <description>&lt;p&gt;Everyone keeps asking "is SEO dead." Wrong question.&lt;/p&gt;

&lt;p&gt;AI search doesn't show ten blue links. It generates one answer and names a few brands. If you're not in that answer, you don't exist for that query. So the real question is: how do these engines decide who to name?&lt;/p&gt;

&lt;p&gt;I went down a rabbit hole on how four of them actually retrieve and cite sources. Here's what's true in 2026, with real numbers.&lt;/p&gt;

&lt;h2&gt;
  
  
  ChatGPT: being known beats ranking
&lt;/h2&gt;

&lt;p&gt;ChatGPT answers in two modes. Default mode answers from trained-in memory, no live web. Search mode browses and attaches citations. The key fact: when it browses, it cites only about &lt;strong&gt;15% of the pages it pulls&lt;/strong&gt; (AirOps study of 548k pages). And it names brands roughly 3x more often than it links them.&lt;/p&gt;

&lt;p&gt;So two things get you in:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Entity strength.&lt;/strong&gt; If you're a consistent entity across Wikipedia, Wikidata, Reddit and press, ChatGPT names you from memory without browsing at all. Being a known entity beats ranking #1 anywhere.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Allow OAI-SearchBot&lt;/strong&gt; in robots.txt. It's separate from GPTBot (training). Block it and you vanish from ChatGPT Search. A lot of sites do this by accident.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Perplexity: it's mostly Reddit
&lt;/h2&gt;

&lt;p&gt;Perplexity does live retrieval and grounds every answer in sources. Its defining trait: it leans on community content hard. One 2025 study found &lt;strong&gt;Reddit was its most-cited source, ~47% of top citations&lt;/strong&gt;. It also rewards answer-first pages, because its reranker scores for how cleanly it can extract a passage. A page can rank #1 on Google and never get cited here if the answer is buried.&lt;/p&gt;

&lt;h2&gt;
  
  
  Gemini: it's basically Google + the Knowledge Graph
&lt;/h2&gt;

&lt;p&gt;Gemini is the only major assistant running on Google's own live index plus the Knowledge Graph. So classical SEO is the floor, not optional. The twist: ranking #1 isn't enough anymore. Only about &lt;strong&gt;38% of Google's AI Overview citations come from the top 10 results, down from ~76% a year earlier.&lt;/strong&gt; It pulls from deeper now, via sub-queries.&lt;/p&gt;

&lt;h2&gt;
  
  
  Google AI Overviews: authority over freshness
&lt;/h2&gt;

&lt;p&gt;AI Overviews uses "query fan-out" - it splits your question into 8-12 sub-queries and pools the results. Most citations come from &lt;strong&gt;below position #1&lt;/strong&gt; (roughly 63% from below the top 10). And counterintuitively, it has the &lt;strong&gt;weakest freshness bias&lt;/strong&gt; of the major engines. Established, authoritative pages keep getting cited even without recent updates, which is the opposite of ChatGPT and Perplexity.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this means if you're building something
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Lead every page with the answer in the first few lines. Most AI citations come from the top of the page.&lt;/li&gt;
&lt;li&gt;Be a real entity (Wikipedia, Wikidata, Crunchbase, consistent name everywhere).&lt;/li&gt;
&lt;li&gt;Let the AI crawlers in. Check robots.txt for OAI-SearchBot, PerplexityBot, Google-Extended.&lt;/li&gt;
&lt;li&gt;Show up off your own site - Reddit and YouTube get cited constantly.&lt;/li&gt;
&lt;li&gt;Track over time, not off one screenshot. These answers are non-deterministic; the same prompt gives different brands run to run.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I got tired of checking this by hand, so I built &lt;a href="https://fixaeo.com/" rel="noopener noreferrer"&gt;FixAEO&lt;/a&gt; - a free tool to see how AI engines describe and recommend your brand across 8 engines, plus a free &lt;a href="https://fixaeo.com/llms-txt-validator/" rel="noopener noreferrer"&gt;llms.txt validator&lt;/a&gt;. Sharing in case it saves you the manual prompting.&lt;/p&gt;

&lt;p&gt;What have you noticed about getting cited by AI? Curious if others are seeing the same patterns.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>marketing</category>
      <category>seo</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
