How to Add llms.txt to HubSpot CMS
HubSpot's CMS Hub is a managed platform: you upload assets, but they are served from HubSpot's CDN under their own paths rather than your domain root. Getting a llms.txt to live at /llms.txt therefore takes one extra mapping step. Here are the options that work.
Generate the content
Start by generating the file. Our tool reads your published HubSpot pages and drafts a properly structured llms.txt. Enter your domain, review, and keep the file to upload in the next step.
Generate your file:
The file structure
For a marketing site, curate the pages that matter most — product, solutions, pricing, and cornerstone resources — rather than every landing page. Markdown structure:
# Your Company > One sentence on what your company does and > the customers you serve. ## Product - [Platform](https://yourdomain.com/platform): Overview. - [Pricing](https://yourdomain.com/pricing): Plans. ## Solutions - [By Industry](https://yourdomain.com/solutions): Use cases. ## Resources - [Blog](https://yourdomain.com/blog): Articles. - [Guides](https://yourdomain.com/resources): Downloads. ## Company - [About](https://yourdomain.com/about): Our story. - [Contact](https://yourdomain.com/contact): Talk to us.
Save it as plain text named llms.txt.
Method 1: Upload + URL redirect (recommended)
This is the most reliable path on CMS Hub:
In HubSpot, open Marketing → Files and Templates → Files and upload your llms.txt. Copy the resulting file URL (it will look like https://yourbrand.hubfs.com/hubfs/llms.txt or a similar CDN path).
Go to Settings → Content → URL Redirects and add a new redirect.
Set the original path to /llms.txt and the destination to the File Manager URL you copied. Choose a 301 (permanent) redirect.
Save and publish. Requests to /llms.txt now resolve to your uploaded file.
The honest caveat: a request to /llms.txt returns a redirect, not the content directly. Reputable crawlers follow 301s, so this works in practice, but if you want a direct response see Method 2.
Method 2: A reverse proxy for a direct 200
If your HubSpot domain is fronted by a CDN you control, you can intercept the single path and return the file in place. With Cloudflare, for example, add a Worker that returns your Markdown for /llms.txt and forwards every other request to HubSpot:
export default {
async fetch(request, env) {
const url = new URL(request.url);
if (url.pathname === "/llms.txt") {
return new Response(env.LLMS_TXT, {
headers: { "content-type": "text/plain; charset=utf-8" },
});
}
return fetch(request); // pass through to HubSpot
},
};This yields a clean, cache-friendly text/plain response at the canonical URL. It requires that you manage your DNS/CDN layer, so it is best suited to teams already using a proxy in front of HubSpot.
Verify it works
Open the URL
Visit https://yourdomain.com/llms.txt and confirm you reach your Markdown, whether directly (Method 2) or via the redirect (Method 1).
Inspect headers
curl -I to confirm a 301 resolving to your file, or a direct 200 as text/plain if you used a proxy.
Validate links
Every URL in the file must resolve on your live HubSpot site. Update the file when you launch new cornerstone pages.
Run a visibility check
Use our AI Visibility tool to confirm the file is reachable and parseable from outside HubSpot.
Frequently Asked Questions
Can I just upload llms.txt in the HubSpot File Manager?
You can upload it, but File Manager assets are served from HubSpot's CDN under a path like /hubfs/…, not at your-domain.com/llms.txt. So the upload alone does not put the file at your root — you still need a redirect from /llms.txt to that hosted URL, or a coded template.
Does a HubSpot URL redirect work for this?
Yes. Under Settings → Content → URL Redirects you can 301 /llms.txt to the File Manager URL of your uploaded file. Crawlers that follow redirects will reach it. The response is a redirect rather than a direct 200, which works but is slightly less clean than serving the content in place.
Can I make a coded page that returns plain text?
On CMS Hub you can build a template or serverless function that outputs the Markdown, but HubSpot renders through its page pipeline, so getting a true text/plain response at exactly /llms.txt can be fiddly and page slugs may not accept a dotted name. For most teams the redirect approach is simpler and more predictable.
What if my HubSpot site sits behind a CDN I control?
If you front your domain with Cloudflare or another proxy, add a Worker or rule that returns the file for /llms.txt and passes everything else to HubSpot. That gives a direct 200 at the canonical path without depending on a redirect.
Will llms.txt guarantee AI systems use my HubSpot content?
No. As of mid-2026 llms.txt is a proposed, advisory standard with no enforcement mechanism, and support varies across AI systems. There is no guarantee any model will fetch or use the file. It is a low-cost best practice, not a guaranteed result.
Generate Your llms.txt for HubSpot
Enter your domain and get Markdown ready to upload and map with a redirect or proxy.