Site platforms

HubSpot CMS, and what an answer engine can read of it

HubSpot CMS gives you everything you need for these checks and buries each of it somewhere different. robots.txt is per connected domain, root files come out of Design Manager, and schema goes in a template — three separate places, none of which are where you would look first.

The trap specific to HubSpot is the per-domain robots.txt. Sites with a marketing domain, a blog subdomain and a landing-page domain have three of them, and fixing the one you happened to open does nothing for the domain that was actually failing.

How we recognise it: the HubSpot tracking script, pages on hs-sites.com, or assets on HubSpot's CDN. Run the free readiness check and the fixes it gives you are the HubSpot CMS ones below.

What to do

  1. 1.Check the robots.txt for the right domain

    Settings → Content → Pages, then pick the domain from the list before opening the Robots.txt tab. On a multi-domain portal this is the difference between fixing the problem and editing a file nobody fetches.

  2. 2.Add the Organization block to the site header template

    Settings → Content → Pages → Templates → site header HTML. HubSpot emits no Organization schema on its own, so this is not an override — it is the only one on the site.

    Site header HTML

    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "Organization",
      "name": "Your company",
      "url": "https://yourdomain.com",
      "sameAs": ["https://www.linkedin.com/company/yourcompany"]
    }
    </script>
  3. 3.Publish llms.txt from Design Manager

    Create it as a file rather than a page, and publish it to the root of the domain being checked. A page slugged llms.txt renders as HTML and reads as absent.

The readiness checks on HubSpot CMS

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

AI crawlers allowed in robots.txt

Settings → Content → Pages → the domain, then the Robots.txt tab. HubSpot keeps one robots.txt per connected domain, so check the one that matches the site being graded.

llms.txt present and parseable

Design Manager → create a new file → llms.txt, then publish it to the domain root. HubSpot serves files from the manager at the path you give them.

Organization schema with sameAs links

Settings → Content → Pages → Templates → the site header HTML, or the individual template's head. HubSpot generates no Organization schema of its own.

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

What this does not do

  • Everything is per-domain: robots.txt, published files, sometimes the templates. A portal with several domains needs the work repeating on each.
  • HubSpot writes no Organization schema, so the schema checks start from nothing.
  • CueScout reads your public pages over HTTP. It is not a HubSpot app, holds no portal key, and sees no CRM data.

Frequently asked questions

Is there a CueScout app in the HubSpot marketplace?

No. The checks are HTTP requests against your public pages, so there is nothing to install and no portal access involved.

Why does the check fail when I fixed robots.txt yesterday?

Usually because the fix landed on a different connected domain. HubSpot keeps one robots.txt per domain and the site being graded may not be the one you edited.

Do HubSpot landing pages get cited?

They can be, and they mostly are not, for a reason unrelated to HubSpot: a landing page written to convert a click rarely answers a question in the form somebody asked it. The pages that get quoted explain something.

Related

Every integration we publish

See where your HubSpot CMS 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.