How to Add llms.txt to Your Website
Where llms.txt goes, how WordPress, Squarespace, Wix and Shopify each handle it, the developer brief to send, and how to confirm it is actually live.
What you are publishing
One plain text file, no extension other than .txt, living at the top level of your domain so it answers at yourbusiness.com/llms.txt. It is not linked from anywhere and it does not need to be — AI crawlers request it directly by convention, the same way they request robots.txt. If you have been given a drafted file on a task card, that draft is already written from your verified business facts; your job is only to get it onto the domain at the right path.
The two things that must be right
Everything else can be fixed later, but these two cannot be wrong. First, the path: it must be the domain root, not a subfolder and not a page in your CMS. A file at yourbusiness.com/blog/llms.txt is not the file anyone is looking for. Second, the content type: the server must return it as plain text. If your browser downloads the file instead of displaying it, the server is sending the wrong content type and you should fix that before counting the file as live.
If your site is on WordPress
The reliable route is your host's file manager or an SFTP client, placing the file in the public root — usually called public_html, www, or htdocs. Note that WordPress does not write to this folder, so the file cannot be overwritten by a plugin update and needs no maintenance. If you would rather stay inside the dashboard, a file-manager plugin can create the file at the server root, but be sure it targets the root and not the uploads directory. Do not create a Page or Post called llms.txt: that produces a URL that looks right and returns HTML, which is worse than having no file because it states the wrong facts in the wrong format.
If your site is on Squarespace, Wix, or Shopify
These platforms do not give you a general-purpose file drop, so the practical options are the developer route or a redirect. The cleanest fix is to host the file somewhere you control — a subdomain you own, a static host, or a small CDN bucket — and have your developer serve it at yourbusiness.com/llms.txt with a server-side rewrite. If a rewrite is not possible, ask for it to be proxied rather than redirected: a 301 to another domain is often not followed by crawlers, whereas serving the same content at your own URL is exactly equivalent to hosting it yourself.
If your site has a developer
This is a five-minute job for them and it is worth saying so, because a vague request often gets queued behind larger work. Send them this: create a static text file named llms.txt in the web root so it resolves at the domain root; serve it with Content-Type text/plain; do not add it to robots.txt as disallowed; do not place it behind authentication; return 200 rather than a redirect to another domain; and confirm the exact URL that answers. The file contents need no build step, no templating, and no deployment pipeline — it is a static asset.
If you build the site yourself
If your project has a public or static folder — the directory whose contents are served directly, often called public, static, or dist — drop the file there and redeploy. Confirm afterwards that the built output still contains llms.txt at the root, because some build tools copy only known asset types and will silently skip an unfamiliar extension. Keep the source file in the repository so it survives a rebuild rather than existing only on the live server.
Confirm it is actually live
Open yourbusiness.com/llms.txt in a private browser window. You should see the plain text of the file rendered in the browser, with no download prompt, no sign-in, and no redirect to another address. Then check the response directly: a quick way is an online header checker or your browser's developer tools, looking for a 200 status and a content type beginning with text/plain. Finally, confirm the visible text contains no placeholder wording — a file that still says YOUR BUSINESS NAME is telling a model your business is literally called that.
Keep it matching everything else
The facts in this file will be compared against your website copy, your schema markup and your directory listings. If the file claims a service area or a service that your site contradicts, you have created a discrepancy rather than resolved one, and a model that finds two versions of your business trusts both less. Whenever you change something a customer could be told — a new service, a moved address, a changed phone number — update this file in the same sitting as the site.
How to tell whether it worked
Judge it over weeks, not days. Re-run the customer questions you measured before and look at which pages the answers cite: if the file is being read, the pages you listed in it become more likely to be quoted as the supporting source. Provider support varies and none of them announce whether they read it, so the honest reading is that this is one contributing signal. It is worth publishing because it is a few minutes of work with no downside; it is not worth expecting it alone to move a score.
Did this guide answer your question?
See how visible your business is to AI
Get your free 0–100 AEO score across ChatGPT, Perplexity, Gemini, Claude, and Google AI Overviews.
