How to Add llms.txt on Webflow, Framer, Next.js or Any CMS
Webflow and Framer both let you upload an llms.txt file that they serve at your domain root. On Webflow, it is under Site settings, SEO, LLMs.txt, on paid site plans. On Framer, you use Static Files, available on Pro and Enterprise plans. In Next.js, put a static llms.txt in the public folder, or generate it with a route handler so it updates with your content. On other CMSs, use the platform's root-file feature if it has one, then a CDN worker, with a redirect as a last resort. For online stores, generate the file from your catalogue and list categories and key guides rather than every product, so it does not go stale. The file's value for AI visibility is still unproven, so keep the effort proportionate.
Which method suits each platform?
| Platform | Method | Updates | Notes |
|---|---|---|---|
| Webflow | Upload in Site settings > SEO > LLMs.txt | Manual re-upload | UTF-8, under 100 KB; paid site plan; not indexed by search engines |
| Framer | Upload through Static Files | Manual re-upload | Pro and Enterprise plans; markdown versions of pages served automatically |
| Next.js | public/llms.txt or a route handler |
Build-time or on request | Route handler can read from your CMS or catalogue |
| Wix | Automatic | Automatic unless edited | See the Wix guide |
| Squarespace 7.1 | Paste into SEO Settings > LLMS.txt | Manual | Off by default |
| Shopify | Automatic; override with a theme template | Automatic unless overridden | Mirrors /agents.md |
| Other CMSs | Root file, CDN worker, or redirect | Depends | Check the file is at the root and returns 200 |
How to create and publish an llms.txt file on Webflow
According to Webflow's help centre:
- Write the file in Markdown, saved as
llms.txt, UTF-8 encoded and under 100 KB. - Go to Site settings, then SEO, then LLMs.txt.
- Click Upload file and choose your file.
- Save, then publish the site.
- Visit
yourdomain.com/llms.txtto check it.
Webflow says it serves the uploaded file at your domain's root and makes sure it is not indexed by search engines. The feature launched in July 2025 and needs a paid site plan. To update the file, upload a new version and republish.
Webflow Enterprise customers can also turn on Markdown for Agents, which converts pages to Markdown automatically when AI agents request them. It needs a custom domain, Webflow's Cloudflare hosting and an Enterprise workspace plan.
How to add an llms.txt file to a Framer website
Framer hosts static files on your domain through its Static Files feature, on Pro and Enterprise plans:
- Open the Framer dashboard for your project.
- Select your domain and open the Files tab.
- Upload
llms.txt. Framer accepts TXT, and also JSON for structured data. - Publish the site.
- Check
yourdomain.com/llms.txtin a browser.
Framer already serves a Markdown version of every page to AI tools on request, through an Accept: text/markdown header or a ?md parameter, so an llms.txt file mainly adds a curated summary and page list. A plugin in the Framer Marketplace can generate the file from your project's pages, but you still upload and refresh it. Framer's help centre covers both features.
How to implement llms.txt in a Next.js website
For a small site, a static file is enough. Create public/llms.txt, and Next.js will serve it at /llms.txt.
For a site whose content changes, generate it. With the App Router, a route handler can build the file from your CMS or database:
// app/llms.txt/route.ts
import { getCategories, getGuides } from '@/lib/content'
export const revalidate = 3600 // rebuild at most once an hour
export async function GET() {
const categories = await getCategories()
const guides = await getGuides()
const lines = [
'# Northwind Outdoor',
'',
'> Hiking and camping gear, shipped across the UK. Free returns within 30 days.',
'',
'## Shop by category',
...categories.map(c => `- [${c.name}](/${c.slug}): ${c.summary}`),
'',
'## Guides',
...guides.map(g => `- [${g.title}](/guides/${g.slug})`),
]
return new Response(lines.join('\n'), {
headers: { 'Content-Type': 'text/plain; charset=utf-8' },
})
}
The revalidate setting means the file refreshes on a schedule without a full deploy. Use absolute URLs in production if your tools expect them. Serve it as plain text, and make sure your middleware or authentication does not block the path.
How do you add llms.txt on any other CMS?
In order of preference:
- A root file feature, if your CMS or host lets you place files at the domain root.
- A plugin or built-in setting, as on WordPress SEO plugins, Wix, Squarespace and Shopify.
- A CDN worker or edge rule, such as a Cloudflare Worker that answers
/llms.txtwith your file. This works on almost any platform behind a CDN. - A redirect from
/llms.txtto a file elsewhere, as a last resort. The file is then not really at your root, and some tools may not follow the redirect.
Whichever you choose, check that /llms.txt returns a 200 status with text content, not a login page or an HTML error.
How should ecommerce stores keep llms.txt current as product catalogs change?
A static file with product links goes stale as soon as products sell out, change price or are discontinued. Better approaches:
- List categories, not products. Category and collection pages change far less often than individual products.
- Leave prices and stock out. They change too often and belong in product feeds and structured data.
- Generate the file from your catalogue, on a schedule or when products change, as in the Next.js example.
- Link to stable guides, such as size charts, care instructions, shipping and returns.
- Use your platform's managed file where one exists. Shopify's is maintained for you; Wix's updates automatically unless you edit it.
- Review it after big catalogue changes, such as seasonal ranges or a restructure.
Live product data reaches AI shopping systems through feeds, not llms.txt, as covered in how ChatGPT ranks shopping results.
Is it worth doing?
It is cheap on most platforms, but its effect on AI visibility is unproven. Google says it does not use llms.txt, and studies of server logs have found that few AI crawlers request it. Spend the time on content and crawler access first, and treat llms.txt as a tidy extra. The evidence is covered in whether llms.txt improves AI search visibility, and what to write in how to write an llms.txt file. Platform-specific guides cover Wix, Squarespace and Shopify.
We have not deployed these methods across client sites ourselves. This page is based on Webflow's and Framer's documentation and standard Next.js behaviour.
What might this look like in practice?
Consider an illustrative bike parts retailer, Morvstead, running a Next.js storefront. Its first llms.txt, written by hand, listed 300 product pages; within two months a third of them were discontinued. The team replaced it with a route handler that listed its 18 categories, fitting guides and returns policy, rebuilt hourly. The file dropped to a tenth of its size, never pointed to a dead page again, and needed no manual updates when the spring range launched.
What do people ask about adding llms.txt?
Does Webflow support llms.txt?
Yes. Upload the file under Site settings, SEO, LLMs.txt on a paid site plan, then publish.
Can I add llms.txt on Framer's free plan?
No. Framer's Static Files feature, which hosts the file, is available on Pro and Enterprise plans.
Where do I put llms.txt in Next.js?
In the public folder for a static file, or in an app/llms.txt route handler to generate it.
Should an online store list every product in llms.txt?
No. List categories and key guides, and leave live product data to feeds and structured data.
Published by The Kovmere Team · updated Sep 29, 2026 · More resources