Skip to content
Docs menu

Single H1

Exactly one H1 naming the site

In short: Start the file with exactly one # heading that names your site or organization, and use ## for every other heading.

  • Category: Spec Conformance · weight 25 of 100 within the category
  • Spec Conformance is worth 10 in every profile (points of 100, by scoring profile)
  • Audit ID S1 (as shown on reports) · rubric v2.1

What it checks

Whether the file has exactly one H1, and it names your site or organization.

Why it matters

The H1 is the one element the llms.txt spec requires. It tells an agent whose file this is; tooling that can’t find it can’t consume the file.

When it applies

Always, for any llms.txt that exists. A file with no H1 also triggers the “no H1” cap of 30 on the whole score.

An audit that doesn't apply, or that we couldn't verify, is removed from your score and its weight shared among the Spec Conformance audits that do apply. It is never scored as a zero.

How it's scored

1.0 exactly one H1 · 0.7 two H1s · 0.4 three or more · 0 none. An H1 is a line starting with # and a space; lines inside ``` fenced code blocks are ignored, and an underlined (setext) title isn’t recognised.

How to fix

  1. Start the file with a single line: # followed by your site or organization name.
  2. Don’t use # anywhere else; use ## for sections.
  3. Avoid generic titles like “# llms.txt” or “# Documentation”.

Example

# Acme Payments

Frequently asked questions

Why is my whole score stuck at 30 when the rest of my file looks fine?
A file with no H1 triggers the no_h1 cap: the total can’t go above 30 however well the other audits score. The H1 is the only section the llms.txt format requires, so adding one line such as # Acme Payments at the top lifts the cap and is usually the single biggest gain available.

Sources: llms.txt format (v2) · LLMSRank method

I pasted in a README and now the file has two H1s. How much does that cost?
Our parser takes the first # line as the title and counts every other one as extra. With exactly two H1s this check scores 0.7 instead of 1.0; with three or more it scores 0.4, because a stack of H1s usually means pasted content or comment blocks, not a title. Demote the pasted headings to ## or ### and keep one # line naming the site.

Sources: llms.txt format (v2) · Single H1

Do a “#Title” without a space, an underlined title, or a # line inside a code block count as the H1?
No. In CommonMark a # must be followed by a space to start a heading, so #Acme is plain text; our parser matches # at the start of a line and nothing else, so an underlined (setext) title with === below it is not read as the H1 either. Lines inside a `` fenced code block are ignored, so a # comment` in a shell example neither counts as your title nor as an extra H1.

Sources: CommonMark: ATX headings · CommonMark: fenced code blocks

Can I put a tagline in the H1, or a version comment above it?
The llms.txt format says the H1 is “the name of the project or site”, so keep it to the name (# Acme Payments) and put the tagline in the summary blockquote underneath, where agents expect the description. HTML comments at the very top of the file, such as <!-- version: 1.2 -->, are stripped before parsing and don’t stop the H1 from being found.

Sources: llms.txt format (v2)

In our research, how many sites get the single H1 right?
Across 187 llms.txt files (corpus captured 2026-10-10, scored with rubric v2.1), the check applied to all 187 (0 not applicable), 90.9% scored full marks and the mean score was 0.94. netlify.com, aflac.com, expedia.com, tavily.com and www.khov.com are examples with one clean H1.

Sources: LLMSRank method · Single H1