llms.txt: What it is and why ChatGPT is ignoring your site
Check your server logs. Most of what you see isnāt humans anymore; itās agents, crawlers, and LLMs trying to parse your value proposition. The reality is simple: if Iām looking for a software provider today, I donāt browse through ten pages of Google ads.
I ask Perplexity, Claude, or my IDEās AI directly.
And here lies the problem. If your website or technical documentation is designed exclusively for humans to read, you are forcing Artificial Intelligence to do a dirty job it hates doing. The result? They ignore you and recommend your competitors instead.
The Problem with āOver-Designedā Websites
Humans love dropdown menus, glassmorphism effects, and smooth animations (we love them too, but we use them with technical purpose). However, AIs detest visual clutter.
For a Large Language Model (LLM), every unnecessary <div> tag or Tailwind class on your site is dead weight. Itās āvisual noiseā that consumes processing tokens, distracts from what truly matters (your content), and increases the chances of hallucinations. Just like a broken semantic hierarchy confuses Googlebot, the lack of a machine-readable version confuses GPT-4.
To solve this, the developer community created a shockingly simple standard: the llms.txt file.
Traditional HTML
- Overload: The bot reads thousands of lines of code before finding a single useful data point.
- Hallucinations: It mixes your cookie policy text with your core service description.
- Latency: Autonomous agents discard you because you take too long to process.
llms.txt Standard
- Precision: You deliver information pre-digested in pure, direct Markdown format.
- Zero Noise: The AI instantly understands what you do and what problems you solve.
- Direct Citations: You drastically increase the chances of appearing as a source in ChatGPT.
Universal Guide: How to Implement it on Your Platform
Regardless of the technology you use, implementing llms.txt is a matter of minutes. Here are the best strategies for the most common systems:
// In Astro: src/pages/llms.txt.ts
export async function GET() {
const content = `# Your Brand\n\nAI summary of your services...`;
return new Response(content, {
headers: { 'Content-Type': 'text/plain; charset=utf-8' }
});
}
Ideal if you generate content from a database or CMS. It updates itself.
// Add to your theme's functions.php
add_action('init', function() {
add_rewrite_rule('^llms\.txt$', 'index.php?llms_txt=1', 'top');
});
add_filter('query_vars', function($vars) {
$vars[] = 'llms_txt'; return $vars;
});
add_action('template_redirect', function() {
if (get_query_var('llms_txt')) {
header('Content-Type: text/plain; charset=utf-8');
echo "# My WordPress Site\n\nAI-readable content goes here...";
exit;
}
});
You don't need heavy plugins. This snippet handles the dynamic route cleanly.
Shopify
Shopify is more restrictive with root files. The best strategy is to create a Collection Page or a Metafield and use a URL Redirect in the admin panel:
- 1. Create a page at `/pages/ai-docs` with your Markdown content.
- 2. In the Shopify Admin, go to Online Store > Navigation > URL Redirects.
- 3. Redirect `/llms.txt` to your new page.
Conclusion: SEO is No Longer Just for Humans
Traditional SEOāchasing keywords and praying for the first page of Googleāisnāt dead, but itās no longer enough. Today, you are either in your clientās chat context, or you donāt exist. Optimize your site for humans because they pay, but leave the llms.txt file ready for the machines because they decide what to recommend.
If you are already using advanced tools like our SEO Expert or ProText Expander, you know that efficiency is the only way forward.
THE PING
The AI hits your domain looking for the technical index.
INGESTION
It absorbs your value prop without visual noise.
CITATION
You appear as the recommended solution.
Technical FAQ
Q. Does this hurt my normal SEO?
Not at all. They are independent "lanes". Googlebot will continue to read your sitemap.xml and human-facing code, while AI bots will use this file for generative responses.
Q. Should I hide my llms.txt?
Quite the opposite. It should be at the root (yoursite.com/llms.txt). The goal is to lay out a red carpet for agents, not hide information.