Site platforms

Docusaurus, and what an answer engine can read of it

Docusaurus pre-renders every page at build time, which settles the check that catches most React sites: the prose is in the HTML before any JavaScript runs. Everything else here is a file in the right directory or a few lines in the config, and none of it needs a plugin.

The one that is genuinely worth doing is Organization schema. Docs sites almost never have it — the site is about the product and says nothing about the company — and the engines end up with no way to connect your documentation to whatever else they know about you.

How we recognise it: a Docusaurus generator tag, or Docusaurus build output in the page. Run the free readiness check and the fixes it gives you are the Docusaurus ones below.

What to do

  1. 1.Put both files in static/

    Everything in static/ is copied to the build root verbatim. Both files then live in the repo, which means they are reviewed, versioned, and cannot be lost to a redesign the way theme-held files can.

    Repo layout

    static/
      robots.txt
      llms.txt
  2. 2.Add the Organization block through headTags

    It renders into every page's head at build time. Docs sites are the biggest population of pages on the web with no Organization statement anywhere on them, which is a cheap gap to close.

    docusaurus.config.js

    headTags: [
      {
        tagName: 'script',
        attributes: { type: 'application/ld+json' },
        innerHTML: JSON.stringify({
          '@context': 'https://schema.org',
          '@type': 'Organization',
          name: 'Your company',
          url: 'https://yourdomain.com',
          sameAs: ['https://www.linkedin.com/company/yourcompany'],
        }),
      },
    ],
  3. 3.Keep the sitemap plugin on

    @docusaurus/plugin-sitemap ships in the classic preset and generates sitemap.xml at build. It is on by default, which means the way it usually breaks is somebody trimming the preset config.

The readiness checks on Docusaurus

CueScout runs eight checks on whether an answer engine can read a site at all. These are the ones whose answer is different on Docusaurus — the rest are the same everywhere.

AI crawlers allowed in robots.txt

Put robots.txt in your static/ directory — everything in there is copied to the site root at build time.

llms.txt present and parseable

static/llms.txt, same as robots.txt. It ships to the root on the next build.

Organization schema with sameAs links

docusaurus.config.js → headTags, with tagName: 'script', attributes type 'application/ld+json', and the block as innerHTML.

Content readable without JavaScript

Docusaurus pre-renders every page at build time, so a fail here means the content is being fetched at runtime by a component rather than written in MDX.

These describe Docusaurus’s own settings, which move without warning us. Last checked against the product on 2026-08-14.

What this does not do

  • Everything here is a build-time change, so nothing takes effect until you deploy.
  • Content fetched at runtime by a React component is invisible to crawlers even on Docusaurus. Pre-rendering only covers what is in your MDX.
  • CueScout reads the built site over HTTP. It does not read your repository.

Frequently asked questions

Does Docusaurus generate llms.txt?

Not in core. There are community plugins that build one from your docs; a hand-written static/llms.txt pointing at your main sections is usually enough and does not add a dependency.

Why would the JavaScript check fail on a pre-rendered site?

Because something on the page is fetching its content at runtime — an embedded API reference, a component pulling from a CMS. Pre-rendering captures the component, not what it will later fetch.

Docs on a subdomain or in a subdirectory?

Either works for these checks; they are run per host, so a docs subdomain is graded as its own site with its own robots.txt and schema.

Related

Every integration we publish

See where your Docusaurus site stands

The readiness check is free, needs no signup, and takes about half a minute. It works out what your site is built on and gives you the fixes written for it.