Website & app builders · Web hosting platform · Checked 2026-10-21

Netlify SEO for ChatGPT, Perplexity & AI search

Built your site with Netlify? Here is what Netlify's own documentation says about how AI crawlers see it, and the exact settings for robots.txt, llms.txt, structured data and your sitemap. Sources are listed at the bottom.

How Netlify delivers pages to crawlers

Rendering
Depends on what you deploy
Depends on your project

Netlify serves the files your build puts in the publish directory, and server-side rendered pages run on Netlify Functions. Both send crawlers real HTML. A single-page app built with React, Vue or Angular is different: Netlify's own docs say SPAs leave "the HTML body mostly empty" and that many AI agents, chat services and crawlers can't run JavaScript. For those, Netlify offers the Prerender extension, which serves rendered HTML to crawlers and agents while visitors get the normal app. Run RankRoot's audit to see which case you're in.

Why it matters: many AI crawlers don't run JavaScript. If your text only appears after scripts run, they may see an empty page.

Make your content readable without JavaScript

  1. If your site is a client-side SPA, install the Netlify Prerender extension (a Team Owner installs it), open Extensions > Prerender in the project, check Enable prerendering, save and redeploy. Netlify says it needs Node.js 20 or later and is free on all plans, apart from normal billing for the functions it runs.
  2. If you still use Netlify's legacy prerendering setting, turn it off under Project configuration > Build & deploy > Prerendering first. Netlify has deprecated it in favor of the extension.
  3. Connect your custom domain. Netlify says yoursite.netlify.app URLs keep working after you add one, so put a canonical tag pointing to your domain on every page.
  4. Run the free audit on your live URL to confirm crawlers see your text without JavaScript.

robots.txt: let AI search crawlers in

  1. Put robots.txt in your publish directory, or in your framework's static folder so the build copies it there. Netlify says only files in the publish directory are deployed.
  2. On Next.js, Astro or another framework that generates robots.txt, use the framework's own option instead (for Next.js, app/robots.ts).
  3. Deploy and open yourdomain.com/robots.txt to confirm the live file. The AI crawler checker tests each AI bot against it.
robots.txt that lets AI search crawlers in
User-agent: OAI-SearchBot
Allow: /

User-agent: ChatGPT-User
Allow: /

User-agent: PerplexityBot
Allow: /

User-agent: Claude-SearchBot
Allow: /

User-agent: Claude-User
Allow: /

User-agent: *
Allow: /

Sitemap: https://yourdomain.com/sitemap.xml

Which bots to allow or block: robots.txt for AI crawlers and the AI crawler list.

Add llms.txt

  1. Netlify has no llms.txt setting, but it serves any file in your publish directory. Write the file with the llms.txt generator and save it as llms.txt next to robots.txt.
  2. Deploy, open yourdomain.com/llms.txt and check it with the llms.txt validator.

Add JSON-LD and head code

  1. Set titles, meta descriptions and JSON-LD in your framework's layout or head component. That works on every kind of page.
  2. No access to the code? Netlify's snippet injection adds code before </head> or </body> when pages are served: Project configuration > Developer settings > Post processing > Snippet Injection > Add Snippet. No redeploy is needed.
  3. Netlify says snippets are not injected on routes handled by a function, on SSR pages (they run on Netlify Functions) or on proxied content. Use it for static HTML only.
Example: Organization JSON-LD as a snippet injected before </head>
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Your brand",
  "url": "https://yourdomain.com/",
  "description": "One sentence on what you do and who it's for."
}
</script>

Sitemap

  1. Netlify's docs don't describe a built-in sitemap generator. Use your framework's sitemap option (for Next.js, app/sitemap.ts) or a static sitemap.xml in the publish directory.
  2. Add a Sitemap: line to robots.txt and submit the sitemap in Google Search Console and Bing Webmaster Tools.

Common mistakes

Get the files for your Netlify site
Generate an llms.txt, then validate the live file once it's published.
llms.txt generatorValidate llms.txt

Rather have this done for you?

The AI Visibility Employee looks after AI visibility for your Netlify site every month, fully by email, no calls:

$149/month, cancel anytime. The first 10 customers pay $99/month with code FOUNDING10.

See the AI Visibility Employee

FAQ

Is my Netlify site visible to ChatGPT?

If your pages are static HTML or server-rendered, yes, as long as robots.txt allows OAI-SearchBot. A client-side SPA may look empty to AI crawlers; Netlify's Prerender extension fixes that. Run the free audit to check.

Where does robots.txt go on Netlify?

In your publish directory (for example dist/robots.txt), or in your framework's static folder so the build copies it there. Only files in the publish directory are deployed.

Does Netlify Prerender work for AI crawlers?

Netlify says the extension serves pre-rendered HTML to crawlers, AI agents and preview services, while visitors get your normal JavaScript app. Install it, enable it in the project and redeploy. It needs Node.js 20 or later.

Are Netlify Deploy Previews indexed?

Netlify adds X-Robots-Tag: noindex to Deploy Previews and older branch deploys, but not to the latest deploy of each branch. It recommends password protection or private visibility to keep previews out of search.

Sources

Facts checked against Netlify's documentation on 2026-10-21. RankRoot is not affiliated with Netlify. Settings move around; if a step has changed, email rankroot.support@proton.me.

Other builders

Lovable · Bolt.new · Replit · v0 · Framer · Webflow · Wix · Squarespace · Shopify · WordPress · Ghost · GitHub Pages · Carrd · Hostinger AI Builder · Notion Sites · Vercel · Cloudflare Pages & Workers