# Adding llms.txt to a Ghost site

> Ghost doesn't drop a root file for you, but serving it from your web server, or redirecting to a hosted file, gets a working llms.txt live. Step by step.

Ghost serves posts and pages, not arbitrary root files — but a couple of routes get a real [llms.txt](/guide/what-is-llms-txt) live at `yourdomain.com/llms.txt`.

## Self-hosted: serve it from your web server (best)

If you run Ghost behind Nginx, Caddy or a CDN, serve `/llms.txt` there — before Ghost. In Nginx:

```
location = /llms.txt {
    default_type text/plain;
    alias /var/www/llms.txt;
}
```

This returns your file directly as plain text, with no redirect — the cleanest result.

## Ghost(Pro) or no server access: redirect to a hosted file

Host the raw text somewhere it serves as `text/plain` (object storage, a CDN, a raw file host). Then add a redirect from `/llms.txt` to it — either in Ghost's `redirects.yaml` (**Settings → Labs → Redirects**) or at your CDN. A crawler follows the 301 to your file.

## Keep it discoverable and lean

Add a footer link to `/llms.txt`, keep the file short (title, one-line summary, key pages under H2 headings), and use absolute HTTPS links.

## Validate

Paste your domain into the [validator](/) to confirm it's reachable as plain text and every link resolves.
