Skip to content
50% OFF $299 $599
Lock in
§ 1.6 CLUSTER
Published Verified Every 6 weeks Sources 9 named

Cluster 1F · the technical-authority wedge

llms.txt on Squarespace

Squarespace does not allow root-level file uploads3, so the install pattern the llms.txt spec describes1 does not work as written. The fix takes three minutes: a regular Squarespace page at /llms, a 301 redirect from /llms.txt in URL Mappings2, and a curl check.

This hub is the full procedure with the Content-Type caveat that the forum threads miss, the manifest body that actually ships, and four leaves that go deeper: an alternative Code Injection method, four copy-paste templates tuned to 7.1 collection URLs, the llms-full.txt expanded variant, and a validation routine.

  1. HOW-TO Squarespace llms.txt code injection Code Injection method for llms.txt The alternative install: a /llms page advertised via sitemap and Code Injection. No URL Mapping required. 5-min read
  2. REFERENCE Squarespace llms.txt template llms.txt templates — service, ecom, photographer, therapist Four copy-paste templates tuned to Squarespace 7.1 collection URLs — not the generic boilerplate. 4-min read
  3. HOW-TO llms-full.txt Squarespace llms-full.txt on Squarespace The expanded variant Anthropic and Perplexity both ship — and the call on whether it is worth the work for your site. 4-min read
  4. DIAGNOSTIC validate llms.txt Squarespace Validate llms.txt on a Squarespace site The curl one-liner, the expected response chain, and three free validators that flag spec violations. 3-min read

What llms.txt actually is

llms.txt is a plain-markdown file at the root of a website — /llms.txt — that lists the canonical pages an AI engine should read first. The spec was proposed by Jeremy Howard on 3 September 2024 and requires exactly one element: a top-level H1 with the project or site name. Everything else is optional: a blockquote summary, free-text sections, and H2-delimited file lists with markdown hyperlinks. The file is not robots.txt, not a sitemap, not a paywall. It is a curated reading list for language models.

The function is narrow on purpose. A standard web crawl returns thousands of fragments — paginated indexes, tag pages, search results, outdated drafts — and an AI engine summarising a site has to guess which version of a topic is the canonical one. llms.txt removes the guessing. A photographer's llms.txt might point an AI to one services page, one pricing page, one investment guide, and skip the dozens of gallery permalinks that surface in a standard sitemap. The engine ends up with the authoritative source it needed, not the loudest one.

The spec1 is short. One required section, three optional. That is the whole protocol. The file format is markdown, so a human can read it, but the audience is machine. The location is the site root, because that mirrors robots.txt and sitemap.xml — patterns AI clients already know to look for.

The spec at a glance

1

required section — an H1 with the site name. Everything else is optional per the spec.

llmstxt.org · 2024-09-03
2024-09-03

publication date of the spec by Jeremy Howard.

llmstxt.org · 2024-09-03
0

major AI engines have publicly committed to reading third-party llms.txt at answer time as of Q1 2026.

OpenAI bot docs · 2026-Q1

Who actually reads llms.txt in 2026

Adoption splits two ways. On the publisher side — sites hosting their own llms.txt — adoption is real and growing: Anthropic publishes one at platform.claude.com/docs/llms.txt, Perplexity publishes both llms.txt and llms-full.txt at docs.perplexity.ai, and Cloudflare hosts a marketing-site example at cloudflare.com/llms.txt. On the consumer side — engines reading third-party llms.txt as a retrieval signal — no major engine has publicly committed to it. The honest framing: ship it because the cost is low, not because it is currently a measurable ranking lever.

The publisher list is verifiable. Anthropic's developer-docs llms.txt5 opens with # Anthropic Developer Documentation, a one-line summary of what the docs cover, and an H2 structure mapping API areas to URLs. Perplexity's version6 sits at docs.perplexity.ai/llms-full.txt with the same template. Cloudflare's7 is the cleanest marketing-side example — H1, blockquote describing Cloudflare Workers, then H2 sections for Products, Solutions, Other Pages, and a Full Context Version link.

The consumer side is murkier. OpenAI's bot documentation9 lists GPTBot, ChatGPT-User, and OAI-SearchBot and does not mention llms.txt anywhere. Anthropic's robots policy describes ClaudeBot, Claude-User, and Claude-SearchBot with no llms.txt commitment. Perplexity has not publicly stated that PerplexityBot uses llms.txt at answer time. Where llms.txt unambiguously gets read today is by IDE coding assistants — Cursor, Continue, Claude Code — and by MCP-server integrations that point an AI at a documentation entry-point.

The reason to ship llms.txt now is not 2026 traffic. It is 2027 traffic. The publisher-side adoption pattern — Anthropic, Perplexity, Cloudflare, and a long tail of documentation sites — is what happens before the consumer-side commitment lands. The protocol is the same one that would have looked optional for sitemap.xml in 2005. Ship it because the install is three minutes and the file is markdown, not because Perplexity Search confirms today that it changes anything.

Why Squarespace breaks the standard install

The llms.txt spec says: put the file at the site root. Squarespace does not let you put files at the site root. Page builders like Squarespace 7.1 abstract URL routing entirely — every URL maps to a page in the CMS or a system route. There is no /public folder, no FTP upload, no .htaccess. The forum has been tracking this as an open feature request for over a year. The official Squarespace upload path for any asset is the /s/ prefix, which serves files but is not a place the spec says crawlers should look.

The forum thread3 documents the constraint plainly: there is no built-in way to create a file at /llms.txt on a Squarespace 7.1 site. Kenny Kane's post4 confirms the same and adds the detail that helped — Squarespace uploads land under /s/, so the workaround chain is: upload (or build) the file content somewhere Squarespace will serve, then redirect /llms.txt to it.

Two install paths emerge from that constraint. The cleaner one is a regular Squarespace page at a slug like /llms, containing the manifest body as markdown, with a URL Mapping that 301-redirects /llms.txt to it. The alternative is a static file uploaded to /s/llms.txt with the same redirect. Both reach the same destination from a crawler's point of view — the difference is editability and Content-Type, both covered below.

The URL Mappings install, step by step

Four steps. Create a regular Squarespace page at /llms. Paste the manifest body as markdown. Add a single line in Settings > Advanced > URL Mappings: /llms.txt -> /llms 301. Run curl -IL https://yoursite.com/llms.txt and confirm a 301 chain to a 200. The whole sequence takes about three minutes once you have the manifest body ready, and templates for the manifest body live on the template leaf below.

The install order matters. The redirect points at the destination page, so the destination must exist first. If the URL Mapping is saved before the /llms page is published, the redirect will land on a 404 and some crawlers will cache that result for hours before retrying.

01. Create the destination page

In the Squarespace editor: Pages > + > Page. Title it 'llms', open Page Settings, and set the URL slug to llms. Keep the page in the Not Linked section so it does not show in navigation. Use a blank layout — no header, no footer overrides — to keep the body simple.

The slug must be exactly llms. Any other slug works mechanically, but /llms is the convention community write-ups use4 and it is what the validators below test against by default. Avoid /llms-txt or /s/llms-txt; both work but neither matches the convention.

02. Paste the manifest body

Drop a single Markdown block onto the page. Paste the manifest body — H1 with site name, optional blockquote, optional free-text sections, optional H2 file lists with markdown links. Below is the minimum-viable shape per the spec. The template leaf below ships four longer patterns tuned to service, ecom, photographer, and therapist sites.

markdown Minimum-viable llms.txt body — Markdown block content on /llms
 # Asheville Family Photography > Family and lifestyle photography studio in Asheville, NC. This file lists the canonical pages an AI assistant should read first when summarising the studio.
## Core pages - [Services and packages](https://example.com/services): Sessions offered, deliverables, turnaround.
- [Pricing and what is included](https://example.com/pricing): Investment ranges and inclusions.
- [About](https://example.com/about): Founder bio and approach.
- [Contact](https://example.com/contact): Inquiry form and response time.
## Optional - [Client guide PDF](https://example.com/guide.pdf): Pre-session preparation reference.

The spec is permissive about everything except the H1. The single rule: open with # Site Name. The blockquote and the H2-delimited file lists are conventions that humans and parsers both find easy to read, so use them — but the file remains valid without them.

03. Add the 301 redirect

Settings > Advanced > Developer Tools > URL Mappings. Add one line. Save. The arrow must be a dash followed by a greater-than sign with no space between them. Only 301 and 302 are accepted — pick 301 because the spec calls for the file to live at the same canonical location indefinitely.

URL Mappings The single line you paste into Settings > Advanced > URL Mappings
 /llms.txt -> /llms 301 

Squarespace2 enforces strict syntax: each rule on its own line, the arrow as -> with no surrounding whitespace adjustments, the status code last. External redirect targets are allowed if they begin with https://, but the install above keeps the destination on-site so the page stays editable from inside Squarespace.

04. Verify the install

From a terminal: curl -IL https://yoursite.com/llms.txt. Expect a 301 redirect to /llms, then a 200 OK. Then: curl -L https://yoursite.com/llms.txt and confirm the manifest body returns as the response payload. If a curl pass returns 404 or 500, the destination page either does not exist or is set to Disabled — both are fixable from the page settings panel.

bash The verification one-liner — copy, paste, replace the host
 # Inspect the headers and follow redirects
curl -IL https://yoursite.com/llms.txt
# Fetch the body
curl -L https://yoursite.com/llms.txt

The expected response chain: a single 301 Moved Permanently with Location: /llms, followed by a 200 OK for the destination page. A double 301 means the URL Mapping is correct but the destination page itself is set to redirect — open the page settings and clear any forward.

The Content-Type caveat the forum threads miss

The llms.txt spec does not mandate a Content-Type, but most parsers expect text/plain. Squarespace serves any page — including the /llms destination — as text/html. Some llms.txt clients are tolerant of the mismatch; some are strict. The tolerant ones strip HTML and read the markdown text node by node; the strict ones reject the response and fall back to robots.txt. The realistic 2026 install accepts the text/html behaviour and ships anyway, because the alternative — a true /s/ file upload — costs editability and still does not produce a perfect text/plain at the canonical /llms.txt URL after the 301.

The spec1 is silent on Content-Type, which is part of why client behaviour varies. The validators8 check structural compliance against the markdown spec, not the served MIME type. The IDE assistants known to consume llms.txt today — Cursor, Continue, Claude Code — fetch the response body and parse markdown from it without strict header enforcement.

What gets served on the wire

text/html

Content-Type Squarespace returns for any page in the CMS, including the /llms destination.

Squarespace Help · 2026-Q1
301

redirect code Squarespace returns for the configured URL Mapping. The only other accepted code is 302.

Squarespace Help · 2026-Q1
/s/

path Squarespace uses for uploaded static files — the only place a raw .txt file can live on a 7.1 site.

kenny-kane.com · 2026-01-19

What goes inside the file

A useful llms.txt is a curated reading list, not a sitemap dump. Cap it at the 10-20 pages an AI engine would need to summarise your business accurately. List the services or product overview, the pricing or investment page, the about page, the contact page, and any single canonical guide that answers the most common customer question. Skip blog index pages, tag pages, and paginated archives — those add noise and are exactly what the file is meant to clean up.

The format inside each H2 file list is the markdown link plus an optional short note after a colon, per the spec1. Cloudflare's public file7 follows this pattern exactly: H2 for the section name, then dashed-bullet markdown links with one-line descriptions.

The templates leaf ships four full-length patterns tuned to Squarespace 7.1 collection URLs: a service business, an ecommerce store, a wedding/family photographer, and a therapist or solo-practice professional. Each template lists the specific pages a Squarespace site of that type actually has — Services collection URLs, Store product permalinks, Project gallery items, blog post structure — instead of the generic "/about /pricing /contact" pattern.

The four leaves under this cluster

Four leaves go deeper than this hub. The Code Injection method covers the alternative install where you skip URL Mappings entirely and rely on internal links plus a sitemap entry. The templates leaf ships four manifest bodies you can copy in. The llms-full.txt leaf covers when the expanded variant is worth the work. The validate leaf is the one-page checklist for confirming an AI client can actually read the response.

Frequently asked questions

Five questions Squarespace owners ask most about llms.txt — answered in the format AI engines lift from.

Does Squarespace support llms.txt natively?

No. As of Q2 2026, Squarespace does not allow root-level file uploads, which is what the llms.txt specification calls for. The Squarespace community forum tracks this as an open feature request with no staff confirmation of native support. The workaround is a URL Mapping that redirects /llms.txt to a regular Squarespace page containing the manifest body.

Will AI engines accept a 301 redirect, or do they need the file at the root?

Most retrieval-style clients follow HTTP 301 redirects the same way browsers do — they end up at your destination page and parse what is returned. The behaviour is consistent with curl -L. The risk is at the parser layer: some llms.txt consumers expect text/plain, and Squarespace serves the destination as text/html. Some parsers are tolerant; some are strict.

Do major AI engines read llms.txt today?

Adoption is uneven. Anthropic and Perplexity both publish their own llms.txt files for their developer docs, which signals publisher-side acceptance. None of OpenAI, Anthropic, Google, or Perplexity have publicly committed to reading third-party llms.txt files as a retrieval or ranking signal. The honest 2026 framing: ship it because the cost is low, not because it is currently a measurable lever.

Should I use llms.txt or llms-full.txt?

Start with llms.txt. The expanded variant — llms-full.txt — is for documentation-heavy sites where the full body content fits in one large markdown file (Anthropic and Perplexity both ship one for their API docs). For a service-business Squarespace site, llms.txt alone covers the use case. See the llms-full.txt leaf for the case where the expansion is worth the work.

Can I use Code Injection instead of URL Mappings?

Sort of. The Code Injection method ships a same-page slug like /llms and points crawlers there directly via internal links and a sitemap entry, skipping the /llms.txt root pretence entirely. It is less spec-conformant and harder to verify with curl, but it sidesteps the redirect-and-content-type chain. The Code Injection method leaf covers the trade-off.