---
title: "How to read the RankReady diagnostics report"
url: https://hostmy.blog/docs/rankready/diagnostics-report-guide/
date: 2026-08-24
modified: 2026-08-25
lang: en
author: "Aditya Sharma"
description: "Read each RankReady signal correctly: which status codes mean a real problem, which are expected, and what a crawler hit does not prove."
word_count: 763
---

# How to read the RankReady diagnostics report

This page teaches you to read RankReady's output the way someone diagnosing a problem would. You will finish with a repeatable check you can run on any site, and a clear sense of which results are genuine faults and which are the plugin working as designed.

## Start with the admin tabs

The **RankReady** menu in wp-admin has five tabs, and each answers a different question:

- **Dashboard** (`tab=dashboard`): what is switched on.
- **AI Visibility** (`tab=crawlers`): the endpoints and crawler rules. Note the slug is `crawlers`. Subtabs are `brand`, `robots`, `llms`, `markdown`, `webmcp` and `okf`.
- **AI Content** (`tab=content`): summaries and FAQs, subtabs `summary` and `faq`.
- **Insights** (`tab=insights`): recorded crawler and referral activity.
- **Settings** (`tab=settings`): providers, keys and global options.

![The RankReady dashboard in wp-admin showing feature status at a glance](https://hostmy.blog/wp-content/uploads/2026/08/rr-dashboard-v2-scaled.png)The Dashboard tells you what is enabled. The endpoints tell you what is actually working.

## Then verify the endpoints yourself

A toggle tells you what was requested. A status code tells you what the internet gets. Run these and write down each result:

`curl -I https://example.com/llms.txt
curl -I https://example.com/llms-full.txt
curl -I https://example.com/index.md
curl -I https://example.com/your-post.md
curl -I https://example.com/okf/
curl -I https://example.com/.well-known/mcp.json
curl https://example.com/robots.txt`

## How to read each result

| Result | What it means | What to do |
| ------ | ------------- | ---------- |
| 200 | Working. | Read the body and confirm the content is yours. |
| 404 on a feature you left off | Correct behaviour. | Nothing. Enable the feature if you want the endpoint. |
| 404 on a feature you enabled | The request never reached RankReady's handler. | Re-save Settings > Permalinks, purge caches, confirm you are on 1.3.0. |
| 403 on /.well-known/mcp.json | The server refused before PHP ran. | Server config change on nginx. No plugin setting will fix it. |
| 406 on a canonical URL | You asked for a content type that is not offered. | Nothing. This is the correct response. |
| 304 on /llms.txt or /okf/ | ETag revalidation working. | Nothing. This is a healthy result, not an error. |

The 403 case deserves emphasis because it is the most misread signal in the whole set. `/.well-known/` is a dotfile path, and nginx denies dotfile paths by default. The request stops at the web server, so RankReady is never consulted. The fix is a server block:

`location ^~ /.well-known/ {
allow all;
default_type text/plain;
try_files $uri $uri/ /index.php?$args;
}`

## Reading robots.txt

Load `/robots.txt` and find the managed section between `# BEGIN RankReady` and `# END RankReady`. Everything RankReady controls is inside those markers. Anything outside them came from WordPress or another plugin, and RankReady is not responsible for it.

Inside, you should find the rules for the 29 named AI crawlers, which include GPTBot, ChatGPT-User, OAI-SearchBot, ClaudeBot, PerplexityBot, Google-Extended, GoogleOther, Applebot-Extended, Meta-ExternalAgent, MistralAI-User, Bytespider, Amazonbot, CCBot and DuckAssistBot. You will also see [Content Signals](https://hostmy.blog/docs/rankready/content-signals-robots-txt/) directives: `ai-train`, `search` and `ai-input`.

One block surprises people. Googlebot and Facebook's link crawler get their own mirrored group that repeats your existing `User-agent: *` rules. They are named so scanners can see them explicitly. Their permissions are unchanged by that group.

## Reading content negotiation

Distinct `.md` URLs always [serve Markdown](https://hostmy.blog/docs/rankready/wordpress-markdown-for-ai/) regardless of the Accept header. That is deliberate, for cache safety, so do not read it as the Accept header being ignored. Negotiation happens on the canonical URL instead:

`curl -H "Accept: text/markdown" https://example.com/your-post/
curl -H "Accept: text/html" https://example.com/your-post/`
Markdown then HTML is a pass. If both return HTML and a cache sits in front of the site, suspect the cache before the plugin.

## Reading a missing Article schema

Empty schema is usually one of two verified situations rather than a fault. First, [Article schema](https://hostmy.blog/docs/rankready/add-article-speakable-schema/) is built from the post's generated [AI summary](https://hostmy.blog/docs/rankready/generate-ai-summaries-wordpress/) and returns nothing when no summary exists, so a post with schema on and no summary emits no Article JSON-LD. Second, when Yoast, [Rank Math](https://hostmy.blog/docs/rankready/rankready-with-yoast-rankmath-aioseo/), AIOSEO or SEOPress is active, RankReady merges into that plugin's graph instead of printing a second block, and the Article count stays at exactly one.

![The RankReady Insights tab showing AI crawler activity over time](https://hostmy.blog/wp-content/uploads/2026/08/rr-insights-v2-scaled.png)Insights shows fetches. Read it for what it is.

## Reading Insights honestly

This is the most important line on the page. **A crawler hit proves your page was fetched. It does not prove your page was quoted.** Insights is a record of requests to your server, which is a real and useful signal about crawlability, and it is not evidence of citation, ranking or traffic.

Insights will also be empty on a new install, because it can only report activity that has already happened. Give it days of normal traffic before drawing conclusions from it.

## A note on what is not here

If you are looking for a check on auto-generation, bulk regeneration, HowTo or ItemList schema, custom post type support, an AI mention tracker, per-language llms.txt or multi-site management, those are listed as coming soon rather than shipping. Do not treat their absence as a fault.