Skip to content
Crawlable

Can AI crawlers read Gatsby sites?

Baseline
84/100

Static HTML

AI crawlers can read this platform by default.

Gatsby builds static HTML per route, so content is readable — the risk is components that only render after hydration.

What is actually happening

Gatsby compiles every page to HTML at build time from its GraphQL data layer, so content sourced through a page query is in the response before any script runs. The exceptions are specific and worth knowing: anything fetched in useEffect, anything gated behind a window check, and any route registered as client-only. Those render nothing at build time and therefore nothing for a crawler.

13 of the major AI crawlers — including GPTBot, OAI-SearchBot, ChatGPT-User — fetch your HTML and parse it without running a JavaScript engine. Anything your page adds after hydration is not part of what they read.

What to do on Gatsby

  1. 01Source content through page queries rather than runtime fetches, so it is baked into the build output.
  2. 02Use the Gatsby Head API for metadata so titles and descriptions are emitted at build time rather than set by the browser after load.
  3. 03Audit every component gated on typeof window !== "undefined". That guard is correct for avoiding build errors and also means the component contributes nothing to the HTML.
  4. 04Generate llms.txt from your GraphQL data in gatsby-node, so the file is rebuilt from the same source as your pages and cannot drift.
  5. 05Emit Organization schema from your layout and Article schema from the blog template, both at build time.

What trips people up

Where the files go on Gatsby

Put llms.txt and robots.txt in the /static folder, which is copied to the build root.

Stop guessing where your site sits

The baseline above is the platform. The free scan measures your actual site: how many words a crawler reads, whether your pages come back as empty shells, and which crawlers your robots.txt lets in.

Scan my Gatsby site

Other platforms