> ## Documentation Index
> Fetch the complete documentation index at: https://portfolio.subinb.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Fern's Agent Scores vs Cloudflare's Is Your Site Agent-Ready

> I compared Fern's agent scores against Cloudflare's _Is Your Site Agent-Ready?_ and found a key gap most docs teams haven't addressed yet.

<Frame>
  <img src="https://mintcdn.com/na-329bd696/bG4iuJKIahtpuAJ7/images/agent-scores/fern_vs_cloudflare_scores.png?fit=max&auto=format&n=bG4iuJKIahtpuAJ7&q=85&s=69a09cc47a8f1ba00e92d0a60dcbaf9e" alt="Fern's agent scores vs Cloudflare's Is Your Site Agent-Ready?" width="2400" height="1600" data-path="images/agent-scores/fern_vs_cloudflare_scores.png" />
</Frame>

Last week, Fern published [Agent Score](https://buildwithfern.com/agent-score), a tool to check the agent-friendliness of documentation portals in collaboration with [Dachary Carey](https://www.linkedin.com/in/dachary/). Cloudflare now has a similar offering called [Is Your Site Agent-Ready?](https://isitagentready.com/).

In theory, both tools should give similar results since they are both checking for agent-friendliness. However, the results are quite different.

Why did that happen? That's what I set out to find out.

# Background

Fern publishes a leaderboard of the top documentation portals based on their agent-friendliness. Of these, I picked the top 10 portals and ran them through Cloudflare's *Is Your Site Agent-Ready?* tool.

Here are the top 10 portals from Fern's leaderboard and their scores:

| #  | Docs Portal                                     | Fern's Agent Score |
| -- | ----------------------------------------------- | ------------------ |
| 1  | [Agora](https://docs.agora.io/)                 | 100                |
| 2  | [Promptless](https://promptless.ai/)            | 100                |
| 3  | [Requesty](https://docs.requesty.ai/)           | 99                 |
| 4  | [Ollang](https://api-docs.ollang.com/)          | 99                 |
| 5  | [Bolt](https://support.bolt.new/)               | 99                 |
| 6  | [Resend](https://resend.com/docs)               | 99                 |
| 7  | [Granola](https://docs.granola.ai/introduction) | 99                 |
| 8  | [Feather](https://docs.featherhq.com/)          | 98                 |
| 9  | [Runpod](https://docs.runpod.io/)               | 98                 |
| 10 | [Skyflow](https://docs.skyflow.com/)            | 97                 |

# Approach

Cloudflare's *Is Your Site Agent-Ready?* tool offers three types of scans:

1. **All checks**: Run all default checks. Best for comprehensive audits.
2. **Content Site**: Run checks relevant to content sites. Focuses on discoverability and content accessibility.
3. **API / Application**: Run checks relevant to API / Application sites, except commerce.

To ensure fairness, I ran the content site scan for all 10 portals. As of this writing, that involves the following checks:

<Frame caption="Cloudflare content site checks">
  <img src="https://mintcdn.com/na-329bd696/bG4iuJKIahtpuAJ7/images/agent-scores/Cloudflare_checks.png?fit=max&auto=format&n=bG4iuJKIahtpuAJ7&q=85&s=6978dc38a98b36558d8addf672b69832" alt="Cloudflare content site checks" width="1542" height="1050" data-path="images/agent-scores/Cloudflare_checks.png" />
</Frame>

# Results

The results were quite surprising. None of the portals scored above 90, with Resend coming closest at 83.

Here is how the scores compare side by side:

| #  | Docs Portal                                     | Fern's Agent Score | Cloudflare's Is Your Site Agent-Ready |
| -- | ----------------------------------------------- | ------------------ | ------------------------------------- |
| 1  | [Agora](https://docs.agora.io/)                 | 100                | 17                                    |
| 2  | [Promptless](https://promptless.ai/)            | 100                | 67                                    |
| 3  | [Requesty](https://docs.requesty.ai/)           | 99                 | 67                                    |
| 4  | [Ollang](https://api-docs.ollang.com/)          | 99                 | 67                                    |
| 5  | [Bolt](https://support.bolt.new/)               | 99                 | 67                                    |
| 6  | [Resend](https://resend.com/docs)               | 99                 | 83                                    |
| 7  | [Granola](https://docs.granola.ai/introduction) | 99                 | 67                                    |
| 8  | [Feather](https://docs.featherhq.com/)          | 98                 | 67                                    |
| 9  | [Runpod](https://docs.runpod.io/)               | 98                 | 67                                    |
| 10 | [Skyflow](https://docs.skyflow.com/)            | 97                 | 67                                    |

<Info>[Cloudflare's own developer documentation](https://developers.cloudflare.com/) scores 100 on *Is Your Site Agent-Ready?* and 97 on Fern's Agent Score.</Info>

# Understanding the results

The scores are clearly different, but why are they *so* different? To find out, I looked at how these tools suggest improvements. Both Fern and Cloudflare offer an agent prompt to fix the issues they flag.

The idea was to understand common patterns that both tools flag and where their suggestions diverge.

I copied the suggestions from Fern and Cloudflare, exported them as Markdown, and ran them through Claude Sonnet 4.6 Thinking via Perplexity.

<Tip>
  I don't have an active subscription to Claude Opus 4.7 or GPT-5 Pro. If you do and are interested in running the results through other models, see [Resources](#resources).
</Tip>

<AccordionGroup>
  <Accordion title="Prompt" defaultOpen={true}>
    Fern\_Cloudflare\_agent\_score\_comparison.csv contains comparison between the agent scores from Fern's agent score checker ([https://buildwithfern.com/agent-score](https://buildwithfern.com/agent-score)) and Cloudflare's Is Your Site Agent-Ready? ([https://isitagentready.com/](https://isitagentready.com/)).

    Cloudflare\_agent\_readiness\_improvement\_suggestions.md and Fern\_agent\_readiness\_improvement\_suggestions.md contain suggestions from Cloudflare and Fern to improve agent scores respectively.

    Based on this data, find out:

    1. Why do the scores differ vastly?
    2. What is the common pattern in the suggestions from Fern and Cloudflare?
    3. Which change has the greatest ROI?
    4. What are the key takeaways? Analyze the findings and share an executive summary.
  </Accordion>

  <Accordion title="Executive summary" defaultOpen={true}>
    The two tools measure fundamentally different dimensions of "agent readiness", which is why scores diverge so dramatically — Fern scores cluster in the 97–100 range while Cloudflare scores range from 17 to 83. The gap is not a measurement error; it reflects two distinct philosophies: **content accessibility vs. web infrastructure governance**.
  </Accordion>

  <Accordion title="1. Why the Scores Differ Vastly">
    The tools operate on completely different evaluation frameworks:

    **Fern (buildwithfern.com/agent-score)** measures how well an AI agent can *read and consume* your documentation content. Its checks focus on:

    * Whether `llms.txt` exists and is properly structured
    * Whether pages serve clean Markdown (`.md` URLs, content negotiation via `Accept: text/markdown`)
    * Whether page content starts early (low boilerplate ratio)
    * Whether Markdown and HTML representations are in parity (no hidden JS-only content)
    * Whether sitemaps exist for discovery

    **Cloudflare (isitagentready.com)** measures *web infrastructure and governance* for agent interaction. Its checks focus on:

    * Whether `robots.txt` exists with explicit AI crawler rules (GPTBot, Claude-Web, Google-Extended)
    * Whether the site supports **Markdown for Agents** (HTTP content negotiation returning `text/markdown`)
    * Whether **RFC 8288 Link headers** are present for agent discovery
    * Whether **Content Signals** (`ai-train=no/yes`, `ai-input=no/yes`) are declared in `robots.txt`
    * Whether `sitemap.xml` exists with canonical URLs

    In short: Fern asks *Can an agent *read* your docs?*, while Cloudflare asks *Does your site *talk to agents* like a good web citizen?* Sites built on modern docs platforms naturally score high on Fern's content checks, but almost universally fail Cloudflare's infrastructure-level governance checks —  Content Signals are missing on all 10 sites, and Link headers are missing or inadequate on 9/10 sites, with Resend being the only genuine pass on the latter.
  </Accordion>

  <Accordion title="2. Common Patterns in Both Sets of Suggestions">
    Both tools converge on **two themes**: structured content discoverability and clean machine-readable responses.

    | Suggestion Theme             | Fern's Version                                                   | Cloudflare's Version                                                   |
    | ---------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------------- |
    | **Machine-readable content** | Serve `.md` URLs; return Markdown on `Accept: text/markdown`     | Enable "Markdown for Agents" via HTTP content negotiation              |
    | **Sitemap / crawlability**   | Generate `/sitemap.xml` listing all doc pages                    | Generate `/sitemap.xml` and reference it from `robots.txt`             |
    | **`llms.txt` / agent index** | Create proper `/llms.txt` with blockquote summaries              | N/A (Cloudflare focuses on `robots.txt` AI rules instead)              |
    | **Content parity**           | Ensure HTML and Markdown have the same content (no JS-only tabs) | Ensure no auth walls block agent crawlers                              |
    | **Signal declaration**       | `llms.txt` directive on all pages                                | `Content-Signal` directives for `ai-train`, `ai-input` in `robots.txt` |

    The single most universal gap across both tools is the **absence of machine-readable content negotiation** — every site either lacks `.md` URLs, a proper Markdown response header, or both.
  </Accordion>

  <Accordion title="3. Change with the Greatest ROI">
    Enabling Markdown content negotiation and adding`Content Signals` to `robots.txt` offer the highest ROI, and here's why:

    * **Markdown content negotiation (`Accept: text/markdown`)**: Both Fern and Cloudflare flag this. On the Fern side, it eliminates the `Markdown Content Parity` warning (affects 2–3 pages on most sites). On Cloudflare's side, it converts a hard fail into a pass for the "Markdown for Agents" check. Enabling this via a CDN/middleware rule is typically a single configuration change.

    * **`Content Signals` in `robots.txt`**: This is flagged as a failing check on *every single site* across all 10 in Cloudflare's report. It requires a one-line edit to an existing file (`Content-Signal: ai-train=no, search=yes, ai-input=no`) — zero engineering effort, but unlocks Cloudflare's governance score immediately.

    * **RFC 8288 Link headers**: Flagged on 8/10 sites by Cloudflare. Adding `Link: </.well-known/api-catalog>; rel="api-catalog"` at the server/CDN level is a one-time header rule that immediately improves agent discovery.

    The trifecta of **Markdown negotiation + Content Signals + Link headers** can be implemented with no content changes, purely at the infrastructure layer, and would boost Cloudflare scores from 67 → \~90+ for most sites.
  </Accordion>

  <Accordion title="4. Key Takeaways">
    * **Two tools, two different definitions of "ready"**: Fern assesses content quality and LLM-specific formats; Cloudflare assesses governance, HTTP standards, and web infrastructure. You need *both* to be truly agent-ready — a site can score 99 on Fern while being woefully unprepared on the Cloudflare dimensions.
    * **Agora is the most egregious outlier**: It scores 100 on Fern but only 17 on Cloudflare — it has excellent documentation content but *zero infrastructure governance* (no `robots.txt`, no sitemap, no AI rules). A perfect content score is meaningless if agents can't determine whether they're allowed to use the content.
    * **The "67 plateau" on Cloudflare is structural**: Eight out of ten sites share the exact same Cloudflare score of 67. This strongly suggests they're all passing the same baseline checks (e.g., `robots.txt` exists, sitemap exists) but uniformly failing the newer governance checks (`Content Signals`, `Link headers`). This is an industry-wide blind spot, not a site-specific issue.
    * **`llms.txt` quality is a near-universal Fern warning**: Even sites scoring 98–99 on Fern have `llms.txt` files that are missing the blockquote summary required by the spec. Fixing this is trivial — add a `> Brief summary of the docs` line to the file.
    * **The highest-scoring site overall is Resend** (99 Fern, 83 Cloudflare), suggesting it has implemented more of the infrastructure-level signals. It serves as the benchmark to emulate.
  </Accordion>
</AccordionGroup>

# Conclusion

As AI agents increasingly become the primary consumers of documentation, being truly *agent-ready* must evolve beyond just writing clean, well-structured content. While having high-quality documentation is foundational (as measured by Fern), adopting proper web infrastructure protocols and governance (as measured by Cloudflare) is the next major frontier for developer platforms.

The current industry-wide blind spot regarding machine-readable content negotiation and `Content Signals` presents a massive opportunity. Documentation teams that proactively bridge this gap by aligning both their content structures and their infrastructure layer won't just score higher on these evaluations, they'll ensure their APIs are the easiest for autonomous agents to discover, understand, and integrate with.

<Note>Dachary Carey has now [published](https://dacharycarey.com/2026/04/18/what-agent-score-can-tell-you/) a companion investigation where she measures the adoption of Cloudflare's standards against actual agent traffic to highlight how agents consume docs today. </Note>

The platforms that will ultimately win in the AI era are the ones that learn to communicate with agents just as fluently as they do with human developers.

# Resources

<CardGroup cols={2}>
  <Card title="Test with Fern" icon="chart-bar" href="https://buildwithfern.com/agent-score">
    Run your docs through Fern's Agent Score and share your results.
  </Card>

  <Card title="Test with Cloudflare" icon="cloud" href="https://isitagentready.com/">
    Check your site's infrastructure readiness with Cloudflare's Is Your Site Agent-Ready?
  </Card>

  <Card title="Analysis resources" icon="folder-open" href="https://drive.google.com/drive/folders/1N7uWxJD1Z46MoIGWrnyUm32oKlF883Ie?usp=sharing">
    Google Drive folder with all the data and files used in this analysis.
  </Card>
</CardGroup>

***

# Share your feedback

Did you find this useful? Have a different take on the results? I'd love to hear from you.

<CardGroup cols={2}>
  <Card title="Contact me" icon="envelope" href="mailto:subi23k@gmail.com">
    Reach out with feedback, corrections, or suggestions.
  </Card>

  <Card title="Connect on LinkedIn" icon="linkedin" href="https://www.linkedin.com/in/subin">
    Follow me on LinkedIn for more posts like this.
  </Card>
</CardGroup>
