All Articles

Where does llms.txt actually go on WordPress, Shopify, and other platforms?

A
AISO Studio
||7 min read

The Direct Answer

llms.txt on WordPress and Shopify means placing a plain-text Markdown file at the root domain path /llms.txt, accessible at yourdomain.com/llms.txt. The file must return with a text/plain or text/markdown content type and a 200 status code.

Every platform handles root-level files differently. Some expose the web root directly. Others hide it behind a CMS layer or require a plugin, redirect rule, or static file upload to serve anything at a custom path.

How llms.txt Works

The llms.txt proposal, published by Jeremy Howard of Answer.AI at llmstxt.org, is defined as a Markdown file served at /llms.txt. The file contains an H1 with the site name, an optional blockquote summary, and H2 sections with bulleted Markdown links.

Each link points to a page or resource. You can add a colon and description after the URL. An H2 named "Optional" marks links that can be skipped when context is short. A companion file at /llms-full.txt may hold the full text of the linked pages.

The proposal defines no licensing fields, usage terms, contact blocks, or metadata. Do not add them. The file is a directory, not a sitemap or a schema document.

What to Check in Client Work

Before you place the file, confirm three things:

  1. Root access. Can you upload or create a file that will be served at /llms.txt without a redirect?
  2. Content type. Will the server return text/plain or text/markdown, or will it serve text/html and wrap the file in a theme?
  3. Status code. Does the file return a 200, or does the platform redirect it to a 404 page or a login wall?

Test the file with curl or a browser's network inspector. If the response is anything other than plain text with a 200 status, the file will not be read as intended.

Platform-by-Platform Placement Checklist

Use this checklist to place llms.txt on the platforms your clients run. Each entry includes the method, the common pitfall, and the verification step.

WordPress (self-hosted)

Method: Upload the file via FTP or cPanel file manager to the WordPress root directory (the same folder that contains wp-config.php, wp-content, and wp-admin).

Common pitfall: Uploading to /wp-content/ or a theme folder. The file must sit at the root, not inside a subdirectory.

Verification: Visit yourdomain.com/llms.txt. Check that the response is plain text, not HTML, and that the status code is 200.

WordPress with Yoast SEO

Method: Same as self-hosted WordPress. Yoast does not block or redirect /llms.txt by default. Upload the file to the root directory.

Common pitfall: Assuming Yoast handles it automatically. It does not. You still need to place the file manually.

Verification: Visit yourdomain.com/llms.txt and confirm plain text with a 200 status.

WooCommerce

Method: WooCommerce runs on WordPress, so the process is identical. Upload the file to the WordPress root directory.

Common pitfall: Placing the file inside /wp-content/plugins/woocommerce/. The file must be at the root.

Verification: Visit yourdomain.com/llms.txt and confirm plain text with a 200 status.

Shopify

Method: Shopify does not expose the web root. You cannot upload a file directly to /llms.txt. Instead, create a page template that outputs plain text, or use a redirect rule in the Shopify admin to point /llms.txt to a hosted file on a CDN or a subdomain you control.

Common pitfall: Creating a Shopify page at /pages/llms-txt. This serves HTML, not plain text, and the URL is wrong.

Verification: Visit yourdomain.com/llms.txt. If the response is HTML or a 404, the setup failed.

Next.js

Method: Place the file in the /public directory of your Next.js project. Files in /public are served at the root path. Name it llms.txt.

Common pitfall: Placing the file in /pages or /app. Those directories are for routes, not static files.

Verification: Run the dev server or deploy, then visit yourdomain.com/llms.txt. Confirm plain text with a 200 status.

Webflow

Method: Webflow does not allow direct file uploads to the root. Host the file on a CDN or a subdomain, then create a 301 redirect in Webflow's hosting settings from /llms.txt to the hosted file URL.

Common pitfall: Creating a Webflow page at /llms-txt. This serves HTML, not plain text, and the URL is wrong.

Verification: Visit yourdomain.com/llms.txt and confirm the redirect points to a plain-text file with a 200 status.

Framer

Method: Framer does not expose the web root. Host the file externally (on a CDN or a subdomain), then use a custom code component or a redirect rule to serve it at /llms.txt.

Common pitfall: Creating a Framer page at /llms-txt. This serves HTML, not plain text, and the URL is wrong.

Verification: Visit yourdomain.com/llms.txt and confirm plain text with a 200 status.

Drupal

Method: Upload the file to the Drupal root directory (the same folder that contains index.php, core, and sites). Drupal will serve it as a static file.

Common pitfall: Uploading to /sites/default/files/. The file must be at the root.

Verification: Visit yourdomain.com/llms.txt and confirm plain text with a 200 status.

Magento 2

Method: Upload the file to the /pub directory in your Magento installation. Magento serves static files from /pub.

Common pitfall: Uploading to the Magento root instead of /pub. The web server points to /pub, so the file must go there.

Verification: Visit yourdomain.com/llms.txt and confirm plain text with a 200 status.

BigCommerce

Method: BigCommerce does not expose the web root. Host the file externally, then use a redirect rule in the BigCommerce control panel to point /llms.txt to the hosted file.

Common pitfall: Creating a BigCommerce page at /llms-txt. This serves HTML, not plain text, and the URL is wrong.

Verification: Visit yourdomain.com/llms.txt and confirm the redirect points to a plain-text file with a 200 status.

Umbraco

Method: Upload the file to the root directory of your Umbraco installation (the same folder that contains /umbraco, /bin, and web.config). Umbraco will serve it as a static file.

Common pitfall: Uploading to /media/ or /content/. The file must be at the root.

Verification: Visit yourdomain.com/llms.txt and confirm plain text with a 200 status.

Hostinger Website Builder

Method: Hostinger's website builder does not expose the web root. Host the file externally, then use a redirect rule or custom code block to serve it at /llms.txt.

Common pitfall: Creating a page at /llms-txt. This serves HTML, not plain text, and the URL is wrong.

Verification: Visit yourdomain.com/llms.txt and confirm plain text with a 200 status.

What to Put in the File

Start with the H1. Use the client's site name or project name. This is the only required element.

Add a blockquote summary if the site needs context. Keep it to one paragraph.

Then add H2 sections. Each section is a bulleted list of Markdown links. Example:

# [Client name]

> [One-sentence description of what the site does]

## Key Pages

- [https://example.com/about](https://example.com/about): About [Client name]
- [https://example.com/services](https://example.com/services): Service offerings

## Optional

- [https://example.com/blog](https://example.com/blog): Blog archive

Do not add licensing terms, usage restrictions, contact fields, or metadata. The proposal does not define them.

Frequently Asked Questions

Question: Does llms.txt work on Next.js static exports?

Yes. Place the file in the /public directory before you run the build. The static export will include it at the root path.

Question: Can I use llms.txt on Framer without hosting it externally?

No. Framer does not expose the web root. You must host the file on a CDN or a subdomain and redirect /llms.txt to it.

Question: Does Webflow serve plain text files?

No. Webflow does not allow direct file uploads to the root. Host the file externally and use a redirect.

Question: Where does llms.txt go in a Drupal multisite setup?

Place the file in the root directory of the Drupal installation, not inside /sites/[sitename]/. All sites in the multisite will share the same file unless you use a redirect rule to serve different files per domain.

Question: Can I place llms.txt in a subdirectory on Magento 2?

No. The file must be served at /llms.txt, not /pub/llms.txt or /static/llms.txt. Upload it to /pub so Magento serves it at the root path.

Question: Does Umbraco cache the llms.txt file?

No. Umbraco serves static files directly. The file is read from disk on each request unless you add caching rules at the web server level.

Question: Can I test llms.txt locally on Hostinger?

Hostinger's website builder does not run locally. You must publish the site and test the live URL.

Key Takeaways

  • llms.txt on WordPress and Shopify refers to a plain-text Markdown file served at /llms.txt, accessible at the root domain path.
  • Platforms with direct root access (WordPress, Drupal, Umbraco, Magento) let you upload the file directly.
  • Platforms without root access (Shopify, Webflow, Framer, BigCommerce, Hostinger) require external hosting and a redirect rule.
  • The file must return text/plain or text/markdown with a 200 status code.
  • Test the file with curl or a browser's network inspector before you hand it off to the client.
  • The llms.txt proposal defines only the file structure, not licensing, contact, or metadata fields.
  • Google's John Mueller has said publicly that he is not aware of any AI system using llms.txt.

See It on a Client's Site

If you would rather see llms.txt on a client's site than read about it, run a free 7-dimension content audit at aiso.studio/audit. No account needed for the first three audits.

The audit scans for factual accuracy, accessibility, readability, SEO, and engagement. Every claim is verified. Sentences that claim evidence without naming a source are reported.

Try the full platform for 14 days with no credit card required. White-label PDF reports, client portal pages with your agency branding, and direct WordPress publishing are included. Cancel any time from the dashboard.

Ready to optimize your content for AI?

Get full agency-tier access for 14 days. Run audits, generate content, find leads — no credit card required.

Start Your 14-Day Pass