Build your AI-readiness file

Scan a live URL

Improve AI readiness

Publish at /llms.txt

How to publish your AI-readiness file on your website.

The rule is simple: your file needs to load publicly at https://yourdomain.com/llms.txt. Everything else is just the platform-specific way to make that happen.

Do these four things.

If you remember nothing else, remember this sequence: build the file, place it at the root, load it in a browser, then keep it updated.

01

Generate the file

Use the builder to create your first draft.

02

Place it at the root

The file must be reachable at /llms.txt, not buried in an assets folder.

03

Open the live URL

Visit https://yourdomain.com/llms.txt and confirm it loads publicly.

04

Update it when things change

Refresh the file whenever your canonical pages, product names, or structure change.

Choose the route that matches how your site is hosted.

These instructions stay honest to the real constraint: some platforms let you publish a root file directly, and some require a proxy, edge function, or developer layer.

Add the file directly to your project.

Best case
  1. Create a file named llms.txt in your public root or static output folder.
  2. Paste the output from the builder.
  3. Deploy your site.
  4. Open https://yourdomain.com/llms.txt and confirm the file loads.

If your framework has a public directory, that is usually the right place.

Upload llms.txt to the same root that serves your homepage.

Hosting access needed
  1. Generate the file in the builder.
  2. Open your hosting file manager, SFTP client, or deployment workflow.
  3. Upload the file as llms.txt to the site root, usually the same folder that contains wp-config.php or serves index.php.
  4. Visit /llms.txt in your browser and confirm it loads without a login.

Do not upload it to the media library. That creates an asset URL, not a root file.

Use the platform’s static file or hosting layer if it supports root files.

Plan-dependent
  1. Check whether your plan supports custom static files at the root of the domain.
  2. If it does, add a plain text file named llms.txt and paste your builder output.
  3. Publish the site and test /llms.txt.
  4. If it does not, use an external hosting layer or reverse proxy that can serve the file at the root.

An asset URL is not enough. The file needs to live at the root path.

Use a proxy, app, or edge layer that can serve /llms.txt.

Usually indirect
  1. Generate your file.
  2. Check whether your current Shopify setup can expose a root text file on the primary domain.
  3. If not, use a proxy app, edge function, or connected hosting layer that maps /llms.txt correctly.
  4. Load the live URL and verify that it returns plain text on your real storefront domain.

This is one of the platforms where “I uploaded the file somewhere” often still means it is not published correctly.

Use a developer layer or external routing if root files are not supported directly.

May require workaround
  1. Confirm whether your Squarespace setup can expose a custom root text file.
  2. If it cannot, use a reverse proxy, CDN rule, or external host that serves /llms.txt on the same domain.
  3. Paste the generated content exactly as text.
  4. Test the live root URL in a browser.

The finished test is always the same: does /llms.txt load publicly on your primary domain?

Serve a plain text response at /llms.txt.

Most flexible
  1. Create a static file or route handler for /llms.txt.
  2. Set the response to plain text or a text-friendly content type.
  3. Deploy the change.
  4. Verify the URL from the public internet, not just a local preview.

If you control the router, CDN, or application server, this is usually straightforward.

Publishing questions.

These are the practical checks that usually matter most once the file has been generated.

Where should llms.txt live on my site?

At the root of your main domain, usually https://yourdomain.com/llms.txt. That root path is the whole point.

Can I upload it to a media library or assets folder?

No. A media or asset URL is not the same thing as a root file. The final test is always whether /llms.txt loads publicly on the live domain.

What if my platform does not support custom root files?

Use a proxy, CDN rule, edge function, or connected hosting layer that can serve a plain text response at /llms.txt on the primary domain.

How do I verify that the file is really live?

Open https://yourdomain.com/llms.txt in a private browser window and confirm it loads publicly without redirects, login walls, or preview-only URLs.