<Devsly/>
NotebookLM Watermark Remover
Remove the NotebookLM watermark from PDF slide exports — free, unlimited, and 100% in your browser.
View
NotebookLM Video Watermark Remover
Remove the NotebookLM watermark from every frame of your MP4 and auto-trim the end card — free and unlimited.
View
Gemini Watermark Remover
Remove the Gemini (Veo) sparkle watermark from every frame of your AI-generated MP4 — free and unlimited.
View
MCP https://devsly.io/mcp MCP Tools API Docs

Keyboard Shortcuts

Navigation

Quick Search
/ Ctrl + K
Toggle Dark Mode
/ Ctrl + D
Close Dialogs
Esc

Tool Actions

Execute / Process
/ Ctrl + Enter
Clear Input
/ Ctrl + Shift + C
Copy Output
/ Ctrl + Shift + X

Editor

Select All
/ Ctrl + A
Undo
/ Ctrl + Z
Redo
/ Ctrl + Shift + Z
Questions or ideas? Reach us on LinkedIn — we reply. Connect

docs.stripe.com — llms.txt & GEO score

Re-scan this site
89 /100 A · 82 of 92 points

Built for machines, not just declared

docs.stripe.com publishes an unusually large llms.txt: 453 links across 26 sections, 90 KB in all. Past roughly fifty entries a model has to read the whole file before it can choose, so breadth starts working against precision.

452 of those links (100%) point at clean .md copies rather than HTML pages. That is the strongest single signal here and the one most sites skip: a model reads the content instead of the navigation, cookie banner and footer around it.

The clearest gap is publishes llms-full.txt. Right now: No llms-full.txt alongside the index. Closing it is worth 3 points.

Strong. A model gets almost everything it needs here. Scanned 19 September 2026 against 28 checks — 21 passed, 3 partial, 4 missing.

Scored out of 92 of a possible 100 points: 6 checks could not be measured on this site, so they were left out of the total rather than failed.

docs.stripe.com GEO score card: 89 out of 100, with the score broken down across content, structure, discovery, search-engine basics and depth.
docs.stripe.com scored 89/100 on 19 September 2026. Source file: https://docs.stripe.com/llms.txt.
89/100geo score
453links
26sections
90 KBsize

What it does well

  • Enough links carry a description 417 of 453 described (92%) — for a map-shaped file the bar is 60%, not every line
  • Descriptions say something concrete Average 71 characters across 417 described links
  • Descriptions add to the title No description merely repeats its title
  • Points at clean markdown copies 452 of 453 end in .md or .txt (100%, detected by file extension)

What is missing

  • Publishes llms-full.txt +3 No llms-full.txt alongside the index
  • The index is kept current +2 Cannot be confirmed — the server sends no Last-Modified header
  • No duplicate links +1 5 duplicate URLs — wasted context
  • Server reports when it last changed +1 No Last-Modified header — clients cannot tell when this changed

Among the 22 sites measured here so far, docs.stripe.com ranks 2nd, against a median of 71. That comparison moves as new sites are scanned — it is a snapshot of this list, not of the web.

What docs.stripe.com tells an assistant

Stripe Documentation

Content & links

Can a model pick the right page, first time?

51/52

10 of 11 checks pass. What is left: no duplicate links.

  • Enough links carry a description 417 of 453 described (92%) — for a map-shaped file the bar is 60%, not every line
    10/10
  • Descriptions say something concrete Average 71 characters across 417 described links
    7/7
  • Descriptions add to the title No description merely repeats its title
    4/4
  • Points at clean markdown copies 452 of 453 end in .md or .txt (100%, detected by file extension)
    10/10
  • Link titles are descriptive 7 weak titles (bare URLs, “here”, one-word labels)
    4/4
  • A workable number of links 453 links, nearly all pointing at machine-readable copies — an exhaustive map rather than a short guide, which is a legitimate shape for a documentation site
    4/4
  • Skippable links marked Optional An ## Optional section is present
    3/3
  • No duplicate links 5 duplicate URLs — wasted context
    1/2
  • List items are markdown links 5 of 458 list items are plain text, not links
    4/4
  • Grouped so the map stays navigable Median heading group holds 7 links across 38 groups (15 sub-headings)
    3/3
  • Links are absolute URLs All 453 links are absolute URLs
    1/1

Structure

Does it follow the llms.txt shape?

18/20

5 of 7 checks pass. What is left: summary directly under the title and summary is a usable length.

  • Exactly one H1 project title “Stripe Documentation”
    3/3
  • Summary directly under the title An opening paragraph is there, but not as a "> " blockquote — clients that look for the quoted summary will miss it
    2/3
  • Summary is a usable length 410 characters (from the opening paragraph) — too long
    2/3
  • Concrete language, not marketing filler No marketing filler detected
    3/3
  • Grouped into balanced sections 26 H2 sections and 15 sub-headings, largest group holds 40 of 453 links
    4/4
  • Conforms to the published grammar Markdown only, headings used as the spec defines them
    2/2
  • Section names say what is inside 1 of 26 headings are generic
    2/2

Discovery & access

Can an assistant reach it, and is it allowed to?

11/11

All 5 checks pass in this group.

  • At the root of the domain you typed Found at the standard /llms.txt path
    2/2
  • Sent as plain text Content-Type: text/markdown; charset=utf-8
    1/1
  • robots.txt exists 174 B of crawler rules
    1/1
  • AI crawlers are not blocked No AI user-agent is disallowed at the root
    6/6
  • robots.txt points at a sitemap A Sitemap: line is declared
    1/1

Search-engine basics

What a crawler reads from your homepage today

not scored

The homepage did not answer our request, so these checks were not scored — a failed measurement is not a failing site.

Depth & upkeep

Is there more than the index, and is it current?

2/9

1 of 5 checks pass. What is left: publishes llms-full.txt, the index points at the full file, server reports when it last changed and the index is kept current.

  • Publishes llms-full.txt No llms-full.txt alongside the index
    0/3
  • The index points at the full file No llms-full.txt exists to link to
    0/1
  • Index is a sensible size 90 KB
    2/2
  • Server reports when it last changed No Last-Modified header — clients cannot tell when this changed
    0/1
  • The index is kept current Cannot be confirmed — the server sends no Last-Modified header
    0/2

What docs.stripe.com should fix next

Ordered by what each one is worth. Open a row for the steps.

+10 pts
  • Right now: No llms-full.txt alongside the index

    Generate an llms-full.txt that inlines every linked page. Community convention rather than spec, but assistants with a large context window take the whole thing in one request.

    Where: Your docs build, output at /llms-full.txt

    1. Concatenate the markdown of every page listed in llms.txt into one file.
    2. Keep the heading structure: a client uses those headings to navigate a multi-megabyte file.
    3. Regenerate it in the same build step that publishes the docs, so it cannot drift.
    4. Note that llms-full.txt is a community convention, not part of the proposal — useful, but optional.
  • Right now: Cannot be confirmed — the server sends no Last-Modified header

    Regenerate llms.txt when the docs change. A year-old index quietly points models at pages that have moved.

    Where: Your build pipeline

    1. Regenerate llms.txt in the same step that publishes content, so it cannot go stale silently.
    2. Treat it as a build artifact, not a hand-edited file — hand-edited indexes drift within a quarter.
    3. An llms.txt with discontinued products is worse than none: a model will repeat the wrong facts confidently.
  • Right now: 5 duplicate URLs — wasted context

    Remove repeated URLs. Every duplicate costs context the model could have spent elsewhere.

    Where: The link lists in llms.txt

    1. Remove repeated URLs, including the same page listed under two sections.
    2. Every duplicate costs context the model could have spent on a page it has not seen.
  • Right now: No Last-Modified header — clients cannot tell when this changed

    Let the server send Last-Modified on llms.txt. Without it a client has to re-download the whole file to notice a change.

    Where: Your web server configuration

    1. Serve llms.txt as a real file on disk so the server can derive Last-Modified from its mtime.
    2. If it is generated by an application route, set the header yourself from the generation time.
    3. Without it a client has to re-download the whole file to notice a change, and cannot answer "is this current?".
    Instead of
    HTTP/1.1 200 OK\nContent-Type: text/plain
    Do this
    HTTP/1.1 200 OK\nContent-Type: text/plain\nLast-Modified: Wed, 10 Sep 2026 08:14:00 GMT
  • Right now: An opening paragraph is there, but not as a "> " blockquote — clients that look for the quoted summary will miss it

    Put the opening line in a > blockquote. The spec calls it optional, but it is the first thing a model reads and often the only thing it quotes back.

    Where: The line directly under the H1

    1. Add a single line starting with "> ".
    2. Answer three things in it: what you do, for whom, and what makes it specific.
    3. This is the sentence a model is most likely to quote back, so write it last, after the rest of the file.
    Instead of
    > We are an innovative company delivering world-class solutions.
    Do this
    > Industrial spare parts for food processing lines, shipped across Europe with same-week dispatch.
  • Right now: 410 characters (from the opening paragraph) — too long

    Aim for 80–350 characters: one or two sentences that make sense read aloud on their own.

    Where: The "> " line in llms.txt

    1. Aim for 80–350 characters: one or two sentences that stand on their own when read aloud.
    2. Under 80 and it says nothing specific; over 350 and a model summarises your summary.
    3. Cut adjectives first — they are the part that carries no information.
  • Right now: No llms-full.txt exists to link to

    Mention llms-full.txt inside llms.txt. Guessing the filename works often enough to be tempting and not often enough to rely on.

    Where: Inside llms.txt

    1. Mention the full file in llms.txt itself, as a link or a line of context.
    2. Guessing the filename works often enough to be tempting and not often enough to rely on.
    Do this
    Full inlined text: https://acme.example/llms-full.txt

This score is Devsly’s own heuristic, not an official standard — llms.txt has no scoring body. It measures how well a file serves an AI assistant, and it does not predict whether any assistant will cite the site. The reading is a snapshot from 19 September 2026; run it again for the current state, or check a different site.