# Adding llms.txt to a Bubble app

> Bubble can't serve a plain-text root file by itself, but an edge proxy or a hosted file with a redirect get a working llms.txt live. Here's how.

Bubble renders your app as HTML and doesn't serve arbitrary plain-text files at the root — so an [llms.txt](/guide/what-is-llms-txt) needs a small layer in front. Two reliable options.

## Option 1 — an edge proxy (most robust)

If your Bubble app is behind Cloudflare (or another CDN) on your custom domain, serve `/llms.txt` directly from a small edge worker that returns your text with `Content-Type: text/plain`. This keeps the canonical root URL and never touches Bubble.

## Option 2 — host the file + redirect

Host the raw text where it serves as plain text (object storage or a CDN), then redirect `/llms.txt` to it at your DNS/CDN layer. A crawler follows the redirect to your file.

## Why not a Bubble page?

A Bubble page named "llms.txt" still renders as the HTML app, not plain text, so it won't validate. The file must be served as `text/plain` — hence the proxy or hosted-file approach.

## Validate

Paste your domain into the [validator](/) to confirm `/llms.txt` is reachable as plain text and every link resolves.
