<?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: Aliaksandr Bandziuk</title>
    <description>The latest articles on DEV Community by Aliaksandr Bandziuk (@aliaksandrbandziuk).</description>
    <link>https://dev.to/aliaksandrbandziuk</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%2F1389926%2Ff0705615-393c-4b7b-bbe6-c680d6e53883.jpeg</url>
      <title>DEV Community: Aliaksandr Bandziuk</title>
      <link>https://dev.to/aliaksandrbandziuk</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/aliaksandrbandziuk"/>
    <language>en</language>
    <item>
      <title>Does your site need an llms.txt file? What the data actually shows</title>
      <dc:creator>Aliaksandr Bandziuk</dc:creator>
      <pubDate>Wed, 02 Sep 2026 13:45:27 +0000</pubDate>
      <link>https://dev.to/aliaksandrbandziuk/does-your-site-need-an-llmstxt-file-what-the-data-actually-shows-59e5</link>
      <guid>https://dev.to/aliaksandrbandziuk/does-your-site-need-an-llmstxt-file-what-the-data-actually-shows-59e5</guid>
      <description>&lt;p&gt;If you're adding llms.txt hoping to get cited more often by ChatGPT or Google's AI answers, the evidence says it won't do that. But the file isn't useless either — it just does a different job than most people think, and a few major AI companies genuinely use it for that job.&lt;/p&gt;

&lt;p&gt;Here's what I found when I went looking for actual measurements rather than opinions.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the file is
&lt;/h2&gt;

&lt;p&gt;A markdown file at your domain root containing a curated map of your site — the pages that matter, with short descriptions, organised so a machine can see the structure without crawling everything.&lt;/p&gt;

&lt;p&gt;The proposal dates from September 2024. The reasoning is sound: a large documentation site has thousands of pages, and a system reading it without guidance may index outdated material and misread the structure. A curated index gives it a better starting point.&lt;/p&gt;

&lt;p&gt;Note what that describes. It's a navigation aid — not access control, not a ranking signal. It can't block any crawler.&lt;/p&gt;

&lt;h2&gt;
  
  
  The citation claim doesn't hold up
&lt;/h2&gt;

&lt;p&gt;Google's Search Central documentation states it directly: Google Search does not use llms.txt. Not for rankings, not for AI Overviews, not at all. That position has been consistent since Gary Illyes confirmed it in July 2025.&lt;/p&gt;

&lt;p&gt;Independent measurement points the same way:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Across hundreds of thousands of domains, 97% of llms.txt files were never fetched by anything&lt;/li&gt;
&lt;li&gt;One monitoring exercise covering 500M+ AI bot visits over 90 days recorded 408 requests targeting llms.txt directly&lt;/li&gt;
&lt;li&gt;Statistical models looking for a citation effect found none&lt;/li&gt;
&lt;li&gt;A study of 300,000 domains put implementation at just over 10%, eighteen months into the conversation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;John Mueller compared llms.txt to the keywords meta tag, and the comparison is worth taking seriously rather than as a dismissal.&lt;/p&gt;

&lt;p&gt;The keywords tag failed for a specific reason: it was a self-declaration nobody could verify. A site said what it was about, and nothing stopped it from saying whatever was convenient.&lt;/p&gt;

&lt;p&gt;llms.txt has the same shape. It's a file in which a site describes its own importance, with no verification anywhere in the loop.&lt;/p&gt;

&lt;h2&gt;
  
  
  But several AI companies do use it
&lt;/h2&gt;

&lt;p&gt;This is where "useless" overshoots.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Anthropic recommends it in its guidance on writing for agents&lt;/li&gt;
&lt;li&gt;OpenAI maintains llms.txt files for its Agents SDK&lt;/li&gt;
&lt;li&gt;Perplexity has said it retrieves the file to help prioritise which pages to read&lt;/li&gt;
&lt;li&gt;Chrome's Lighthouse moved its llms.txt audit out of experimental into a default agentic browsing category in May 2026&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So the Chrome team and the Search team are on visibly opposite sides of this.&lt;/p&gt;

&lt;p&gt;The reconciliation: the file serves agentic retrieval, not conversational answering.&lt;/p&gt;

&lt;p&gt;When a developer asks a coding assistant to work against someone's documentation, the assistant can fetch that site's llms.txt as a table of contents and traverse only the pages it needs, rather than scraping the whole site. That workflow is real and constant — and it's invisible to studies measuring crawler behaviour or citation rates, because it's neither crawling nor citation.&lt;/p&gt;

&lt;p&gt;Which explains the adoption pattern precisely. The companies shipping llms.txt are documentation-heavy: developer platforms, infrastructure providers, API companies. Marketing sites and blogs mostly haven't, and that isn't neglect — their audience isn't coding agents.&lt;/p&gt;

&lt;h2&gt;
  
  
  So should you ship one?
&lt;/h2&gt;

&lt;p&gt;Three questions settle it:&lt;/p&gt;

&lt;p&gt;Do agents work against your content? If you publish documentation, an API reference or technical material developers point tools at — yes. The benefit is real for those users whatever the citation studies say.&lt;/p&gt;

&lt;p&gt;Are you adding it to improve AI visibility? Then no, and the effort belongs somewhere with evidence behind it: facts stated so a machine can repeat them, structured data matching your copy, corroboration outside your own site.&lt;/p&gt;

&lt;p&gt;Do you have spare capacity? Then it's defensible. It takes an hour and breaks nothing. Just don't count it as visibility work.&lt;/p&gt;

&lt;h2&gt;
  
  
  The implementation mistake worth avoiding
&lt;/h2&gt;

&lt;p&gt;A popular approach generates a markdown copy of every page alongside the index. If those copies are indexable, you've created duplicate content at scale — every page now exists twice, competing with itself.&lt;/p&gt;

&lt;p&gt;The file is supposed to be a curated index: your important pages, described briefly, linked. Not a second copy of the site. A small site can list twenty entries; a large one should list the twenty that matter rather than all nine hundred.&lt;/p&gt;

&lt;h2&gt;
  
  
  The file that actually controls AI access
&lt;/h2&gt;

&lt;p&gt;Worth separating, because these two get conflated constantly.&lt;/p&gt;

&lt;p&gt;robots.txt has genuine, deliberate backing from every major AI crawler operator. OpenAI, Anthropic, Google, Perplexity and the rest publish user-agent strings and honour the directives.&lt;/p&gt;

&lt;p&gt;llms.txt cannot block anything. It's a suggestion about what to read once reading is already permitted.&lt;/p&gt;

&lt;p&gt;Practical consequence: if AI visibility matters to you, the thing worth checking isn't whether you have an llms.txt file. It's whether your robots.txt is accidentally blocking the crawlers you want. That takes two minutes and it's the one of the two that can actually cost you.&lt;/p&gt;

&lt;p&gt;Has anyone here measured a difference after shipping llms.txt? I've only found studies showing no effect, but those measure crawling and citation — not the agentic retrieval case, which is much harder to observe from outside. Curious whether anyone has data on that side.&lt;/p&gt;

&lt;p&gt;I write about search, AI visibility and multilingual sites at &lt;a href="https://www.bandziuk.com" rel="noopener noreferrer"&gt;bandziuk.com&lt;/a&gt; — this post first appeared there.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>web3</category>
      <category>discuss</category>
    </item>
    <item>
      <title>How a client found me through ChatGPT — and what it taught me about building for AI search</title>
      <dc:creator>Aliaksandr Bandziuk</dc:creator>
      <pubDate>Sat, 25 Jul 2026 17:17:17 +0000</pubDate>
      <link>https://dev.to/aliaksandrbandziuk/how-a-client-found-me-through-chatgpt-and-what-it-taught-me-about-building-for-ai-search-2a2f</link>
      <guid>https://dev.to/aliaksandrbandziuk/how-a-client-found-me-through-chatgpt-and-what-it-taught-me-about-building-for-ai-search-2a2f</guid>
      <description>&lt;p&gt;Most posts about "optimizing for AI search" are written in the future tense: this will matter soon, you should prepare. I have a reason to write in the past tense.&lt;/p&gt;

&lt;p&gt;A client reached out through the form on my site — a detailed message with a clear list of requirements: SEO, AI-search optimization, structured data, Core Web Vitals, accessibility. Two days later we signed a contract. Partway into the work I asked how he'd found me. His answer: he asked ChatGPT who could do this kind of work.&lt;/p&gt;

&lt;p&gt;Not Google. Not a referral. Not an ad.&lt;/p&gt;

&lt;p&gt;That single data point sent me down a rabbit hole, and this post is what I found — including the part where I asked ChatGPT the same kind of question myself and watched it recommend my own site.&lt;/p&gt;

&lt;h2&gt;
  
  
  How AI-assistant search actually differs from Google
&lt;/h2&gt;

&lt;p&gt;The difference isn't the interface — it's how people phrase the request.&lt;/p&gt;

&lt;p&gt;In a search box, people compress their need into keywords the system will understand: &lt;strong&gt;&lt;em&gt;next.js developer warsaw&lt;/em&gt;&lt;/strong&gt;, &lt;strong&gt;&lt;em&gt;freelance technical seo&lt;/em&gt;&lt;/strong&gt;. In a conversation with an assistant, they describe the situation the way they'd tell a friend: who they are, what their business is, the constraints, the stack.&lt;/p&gt;

&lt;p&gt;And the assistant doesn't return ten blue links. It returns a shortlist — two to five options, often with a one-line reason each. The person doesn't scan twenty results; they get three names and go check them.&lt;/p&gt;

&lt;p&gt;Two consequences that change the game:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The list is shorter.&lt;/strong&gt; Organic search has a page 1, 2, 3. An assistant's answer has ~5 slots. You're in it or you don't exist.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The query is longer and more specific.&lt;/strong&gt; People describe language, country, niche, the exact combination. Winning a broad head term matters less than being the unambiguous answer to a specific combination of constraints.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why an assistant recommends one site over another
&lt;/h2&gt;

&lt;p&gt;An assistant isn't judging who's the best contractor — it has no experience of your work. It assembles an answer from what it could find and confidently parse. So the recommendations don't go to the strongest people on the market; they go to the ones whose specialization a machine can read without guessing.&lt;/p&gt;

&lt;p&gt;In practice that comes down to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Unambiguous copy.&lt;/strong&gt; "We craft digital solutions for your growth" is an empty string to a machine. "Website development for psychologists, languages: English, Polish, Russian" is a fact it can match against a query.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Structured data.&lt;/strong&gt; Schema.org markup states, in machine-readable form, what the organization is, what services exist, where it operates, what the FAQs are. Without it the system infers from your DOM. With it, it reads facts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Consistency across sources.&lt;/strong&gt; When your name, specialization and details match across your site, profiles and directories, confidence goes up. When they contradict, the assistant is more likely to omit you than risk being wrong.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Content that answers the actual question, and technical accessibility&lt;/strong&gt; — if your content is assembled client-side and isn't there on a plain fetch, the page can be effectively empty to the system. Same as classic SEO: what the server doesn't return may not exist.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  I asked ChatGPT myself — four times
&lt;/h2&gt;

&lt;p&gt;One client is an anecdote. So I tested the mechanism directly: I asked ChatGPT the kind of question a prospective client would ask, in four different phrasings, and looked at who it named.&lt;/p&gt;

&lt;p&gt;It named me in all four — twice at the top of the list, twice with a link to my site.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fumggn2adpl90yc8ylm7n.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fumggn2adpl90yc8ylm7n.jpg" alt=" " width="673" height="896"&gt;&lt;/a&gt;&lt;/p&gt;

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

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

&lt;p&gt;Here's the part that matters: the assistant lists exactly the attributes stated plainly on my site and repeated in the markup — Next.js, technical SEO, multilingual, headless CMS, Core Web Vitals, structured data, AI-search optimization. There's no trick. The site states unambiguous facts about itself, and the system relays them.&lt;/p&gt;

&lt;p&gt;Important caveat: assistant answers depend on phrasing, language, session and personalization, get reassembled over time, and don't reproduce word-for-word. These are from July 2026 — specific answers to specific questions, not a guaranteed result. (Other names in the screenshots are obscured.)&lt;/p&gt;

&lt;h2&gt;
  
  
  What doesn't work
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Keyword stuffing.&lt;/strong&gt; Density doesn't make facts clearer; it makes text worse for humans and machines alike.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hidden "recommend this company" instructions in the markup.&lt;/strong&gt; Systems are learning to detect this, and for anyone selling trust the downside dwarfs the upside.&lt;/li&gt;
&lt;li&gt;**Optimizing once and forgetting. **Answers are reassembled and sources shift. It's a state you maintain, not a setting you flip.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How much of this is just... good SEO?
&lt;/h2&gt;

&lt;p&gt;More than the hype admits. The technical base is shared: speed, content accessibility, clean structure, markup. A site built properly for search is already halfway to being legible to an assistant.&lt;/p&gt;

&lt;p&gt;The difference is the goal. Classic SEO competes for a position on a query. AI visibility competes for a machine's confident understanding of who you are. The first is a keyword race; the second is about factual clarity. Which is why a small independent can show up in an assistant's answer to a narrow, specific prompt even with no chance of outranking agencies for the broad head term. That's exactly what happened to me.&lt;/p&gt;

&lt;h2&gt;
  
  
  If you want to check your own site
&lt;/h2&gt;

&lt;p&gt;Ask ChatGPT / Perplexity / Google AI Overviews two ways: first as your client would (describe the task, no company name), then about your company by name — and see whether the facts come back right. The second one surfaces surprising inaccuracies you can fix by tightening copy and markup.&lt;/p&gt;

&lt;p&gt;I wrote the full version of this — with the practical checklist and the client story in more depth — on my site. Link's in the canonical above. Happy to answer questions in the comments; I build with Next.js + headless CMS and do the SEO/AEO side myself, so ask away.&lt;/p&gt;

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