How to add llms.txt to Webflow
Webflow is the honest hard case. There's no /public folder and no way to drop a raw text file at the domain root — the asset manager puts uploads on a CDN path, and any page you build is served as HTML. So serving a spec-compliant text/plain file takes a layer in front of Webflow. Below are the three approaches that actually work.
Generate the file first — paste your Webflow site URL and get a spec-compliant llms.txt from your real pages. You'll paste its contents into one of the methods below.
Generate my llms.txt →Method A — Cloudflare Worker (best, if your DNS is on Cloudflare)
Point your domain's DNS through Cloudflare (proxied / orange cloud) and add a Worker that intercepts /llms.txt before the request reaches Webflow:
// Cloudflare Worker — route: yoursite.com/llms.txt
export default {
async fetch(request) {
const body = `# My Company
> One-line description of what you do.
## Pages
- [Home](https://yoursite.com/): overview
- [Pricing](https://yoursite.com/pricing): plans
- [Blog](https://yoursite.com/blog): articles
`;
return new Response(body, {
headers: { "content-type": "text/plain; charset=utf-8" },
});
},
};Add a route matching yoursite.com/llms.txt so only that path hits the Worker; everything else passes through to Webflow untouched.
Method B — Redirect to a hosted file
No Cloudflare? Host the file anywhere that serves plain text (a GitHub Gist raw URL, an S3/R2 bucket, a one-file Netlify site) and add a 301 redirect from /llms.txt to it. Webflow's Site Settings → Publishing → 301 Redirects handles this. It's a redirect, not a same-origin file, so it's a fallback — some crawlers follow it, but a Worker (Method A) is cleaner.
Method C — Front Webflow with any reverse proxy
If you already proxy Webflow through Netlify, Vercel, or an Nginx box for other reasons, add a rule that serves /llms.txt from that layer and forwards everything else to Webflow. Same idea as the Worker, at whatever edge you already run.
What to watch for
- Don't use a Webflow page — a page at slug
llms.txtrenders as HTML, not text/plain. It won't validate. - Content type matters — the whole point is a raw
text/plainresponse. Methods A and C give you that; a redirect (B) depends on the destination. - Don't block AI bots — check robots.txt under Site Settings → SEO, plus any Cloudflare bot rules if you added a Worker.
Generate llms.txt from your URL, then paste it into a Worker (A) or host-and-redirect (B).
Try the free llms.txt generator →Related: llms.txt for Framer · llms.txt for WordPress · How to create llms.txt · Do AI crawlers read it?