llms.txt on Webflow
Webflow now serves an llms.txt you upload in site settings, so the file is a setting rather than a workaround. What the upload covers, what it does not, and how to confirm the file is live.
Webflow serves pages it generates, assets from its CDN, and the root-level files it has built features for - robots.txt, and now an llms.txt you upload in site settings.
Serving /llms.txt from Webflow.
Write the file first, then upload it
Write the index before you go looking for the setting. The upload takes whatever you hand it, and Webflow documents nothing about checking the format, so the quality of the file is yours to own and the upload is the last step rather than the first. The field lives under Site settings, then SEO, then LLMs.txt, and publishes to your domain root; Webflow documents the upload as a UTF-8 file under 100 KB. Its launch announcement says the file is kept out of search engines' index, which is right for something written for models rather than searchers - though note that the announcement is the only place Webflow says it, and the current help article does not repeat it.
Publish, then fetch the live domain
An upload that has not been published is not live, and Webflow documents the file as publishing to your connected domain rather than the .webflow.io staging one. Fetch the published domain and read the first lines back, rather than trusting the settings screen.
curl -sI https://your-custom-domain.com/llms.txt | head -1
curl -s https://your-custom-domain.com/llms.txt | head -5On Enterprise, there is an API for it
Webflow added llms.txt endpoints to its Beta API in October 2025: GET, PATCH and DELETE on /sites/{site_id}/llms_txt, behind the site_config:read and site_config:write scopes. It needs an Enterprise workspace, and it is the route to reach for when the file should be written by your own pipeline rather than uploaded by hand. On any other plan the settings field is the whole story.
If the upload is not available to you, a proxy still works
The upload is the simple path, and it is not the only one. Anything in front of your domain can answer /llms.txt before the request reaches Webflow: in a probe of the 10,000 most popular sites, a handful of Webflow sites served the file from their own infrastructure rather than from Webflow. If your domain is already behind Cloudflare, a Worker on that route returns the file in a few lines and leaves the rest of the site untouched.
const FILE = `# Acme
> What Acme does, in one sentence.
## Pages
- [Product](https://acme.com/product): What it does and who it is for
`;
export default {
fetch(request) {
const { pathname } = new URL(request.url);
if (pathname === '/llms.txt') {
return new Response(FILE, {
headers: { 'Content-Type': 'text/plain; charset=utf-8' },
});
}
return fetch(request); // Everything else goes to Webflow untouched.
},
};Check the response, not the upload screen
A file can be uploaded and still not be what a client receives: a redirect rule or a proxy in front of the domain can answer the path first, and what comes back is then your site's HTML with a 200. Run the URL through a checker that reads the body rather than the status code.
What Webflow gets wrong.
The failures below are specific to Webflow. A generic llms.txt guide will not mention any of them.
Webflow's own docs disagree about whether it generates one
The Webflow-specific trap, and it is now a documentation problem rather than a behaviour you can rely on. The Help Center documents an upload-only flow with no generate button, and Webflow's own blog tells you to build the file with a third-party tool before uploading it - while its AEO solutions page claims every site "automatically generates" schema markup and llms.txt files. Those cannot both be true of your site, so assume neither and fetch the path to see what is actually there. Either way the field takes whatever you hand it, so a half-finished draft or a dump of every page is served exactly as uploaded, and Webflow documents nothing about validating the format - an upload is not evidence the file is any good.
Custom code in site settings cannot create a URL
Webflow documents custom code as injected before the closing head or body tag of pages that already exist, supporting HTML, CSS and JavaScript only, with no server-side languages and a 50,000 character limit per section. Nothing in that can answer a request for a path with no page behind it, so whatever you paste there, /llms.txt still 404s. If you need to serve a raw file some other way, the supported route is a /.well-known upload - .json, .txt or .md, up to 100 KB, 30 files, on a Premium site plan and not on the staging domain. That is not the domain root, so it will not serve /llms.txt, but it is the one place Webflow hands back a file you uploaded.
The .webflow.io staging domain behaving differently
Webflow documents the uploaded file as publishing to your connected domain rather than to the staging one, so there may be nothing at the path on .webflow.io even after a successful upload. The staging domain is noindexed and does not always behave identically to the custom domain besides, particularly once a proxy is in front of the latter. Test against the domain that is actually published.
Expecting the file to show up in search
Webflow says it keeps the uploaded llms.txt out of the search index deliberately. That is the correct behaviour and worth knowing before you go looking for it in Search Console: the file is a machine-readable index for models, not a page that ranks, and Google has said separately that its own AI features do not need it.
Next to read.
Questions, answered.
Can you add an llms.txt file to a Webflow site?
Does Webflow write the llms.txt for me?
Does a Webflow page at /llms work instead?
Is a Cloudflare Worker worth it for one file?
Is Markdown for AI agents the same thing as llms.txt?
LintPage is not affiliated with any platform or plugin named on this page. The claims here were last checked against vendor documentation on 2026-09-18. Settings and defaults move quickly, so confirm against your own install before relying on one.
An llms.txt will not fix a site AI cannot read.
Before writing an index for AI clients, check that they can fetch your pages at all. LintPage runs 60 checks against a URL in about 30 seconds - free, no signup.
run a full scan →