- Scanned
- Markdown
- Read this report
Good for Bots report
redhat.com scores 57 of 100: 37 of the 50 base points, 20 of the 50 agent-layer points, no penalties.
robots.txt is present and valid. robots.txt is valid, with 1 user-agent group.
Sitemap is present and parses. Sitemap declared in robots.txt, listing at least 421 URLs.
Content is marked up so a reader can find it. 1 of 2 pages read pass; 1 partly. The page at /en/blog/channel/devops-and-devsecops is partly structured: The outline jumps from h1 to h3, which the standard forbids. +5 with its prompt in Pro.
Navigation links expose usable destinations. 113 of 113 assessed homepage navigation links expose usable destinations.
Links and buttons have accessible names. 312 of 312 assessed homepage links and buttons have a nonempty accessible name.
Form fields have names and recognizable semantics. 3 of 3 assessed homepage form fields meet the static naming and field-semantics checks.
Controls expose roles, states and relationships. 336 of 336 assessed homepage controls and role declarations meet the static role, state and relationship checks.
Each page declares one usable canonical URL. Both pages read pass. The homepage declares itself as its canonical URL.
Section links reach an element on the page. Both pages read pass. The homepage has 1 section link, and every one reaches an element on the page.
Describes itself to machines with schema.org JSON-LD. Neither page read passes. The homepage publishes no structured data at all: no JSON-LD, no microdata, no RDFa. +8.3 with its prompt.
llms.txt is present and well formed. /llms.txt is well formed: 28 links across 7 sections.
llms.txt is descriptive, not a bare link list. /llms.txt is descriptive: a summary plus descriptions on 100% of links.
Advertises machine-readable resources with typed links. Both pages read pass. The homepage points at a markdown version of itself through a Link header.
Serves markdown at its own URL. No /llms-full.txt and no markdown versions linked from llms.txt. +12.5 with its prompt.
Serves markdown when asked for it. Asking the homepage for markdown still returns text/html. +10 with its prompt.
States a position on AI crawlers. robots.txt names no AI crawlers, so every operator has to guess. +5 with its prompt in Pro.
Declares AI usage preferences. No usage declaration found in robots.txt or the final successful homepage response header. +2.5 with its prompt in Pro.
Earned
37 of the 50 base points above the line, 20 of the 50 agent-layer points below it.
3 prompts away
Still open
Behind the checks below, with prompts in Pro.
For the owner of redhat.com
3 prompts, 31 points
They are in the owner view, ready to paste into Claude Code, Cursor or Codex, beside the badge and rescans.
All 36 checks
Evidence for each, in Markdown →Select a check to see what we found and how it is graded.
Readable base
36.7 / 50
3.3 of 3.3 points.
robots.txt is valid, with 1 user-agent group.
8.3 of 8.3 points.
Sitemap declared in robots.txt, listing at least 421 URLs.
0 of 8.3 points.
Neither page read passes. The homepage publishes no structured data at all: no JSON-LD, no microdata, no RDFa.
5 of 10 points.
1 of 2 pages read pass; 1 partly. The page at /en/blog/channel/devops-and-devsecops is partly structured: The outline jumps from h1 to h3, which the standard forbids.
4.2 of 4.2 points.
312 of 312 assessed homepage links and buttons have a nonempty accessible name.
2.5 of 2.5 points.
3 of 3 assessed homepage form fields meet the static naming and field-semantics checks.
2.5 of 2.5 points.
336 of 336 assessed homepage controls and role declarations meet the static role, state and relationship checks.
1.7 of 1.7 points.
Both pages read pass. The homepage declares itself as its canonical URL.
0.8 of 0.8 points.
Both pages read pass. The homepage has 1 section link, and every one reaches an element on the page.
Agent layer
20 / 50
11.3 of 11.3 points.
/llms.txt is well formed: 28 links across 7 sections.
7.5 of 7.5 points.
/llms.txt is descriptive: a summary plus descriptions on 100% of links.
0 of 12.5 points.
No /llms-full.txt and no markdown versions linked from llms.txt.
0 of 10 points.
Asking the homepage for markdown still returns text/html.
0 of 5 points.
robots.txt names no AI crawlers, so every operator has to guess.
0 of 2.5 points.
No usage declaration found in robots.txt or the final successful homepage response header.
1.3 of 1.3 points.
Both pages read pass. The homepage points at a markdown version of itself through a Link header.
Penalties
− 0
Penalty: 0 of 15 points.
Our crawler reaches the page without being challenged.
Penalty: 0 of 20 points.
Nothing on the homepage tells a crawler to skip it or to withhold its snippet.
Penalty: 0 of 25 points.
The captured homepage HTML contains 1705 content words; completeness is not assessed.
Penalty: 0 of 25 points.
robots.txt allows every known search and user-fetch crawler to reach the homepage.
Penalty: 0 of 10 points.
The homepage is served over HTTPS and returns HTTP 200.
Penalty: 0 of 3 points.
The homepage provides both a non-empty title and meta description.
Penalty: 0 of 3 points.
The homepage is reached in 1 redirect.
Penalty: 0 of 3 points.
The homepage reached a plain crawler in 389 ms.
Agent capabilities
1 of 11 · no points
Each one found adds +1 to the badge.
+1 on the badge.
Publishes an API catalog describing 1 API.
Adds +1 to the badge when found.
No /auth.md published.
Adds +1 to the badge when found.
No AI Catalog published, so no MCP server card can be discovered.
Adds +1 to the badge when found.
No A2A Agent Card at /.well-known/agent-card.json, and none listed in an AI Catalog.
Adds +1 to the badge when found.
No usable Agent Skills index was found at either well-known path or in the AI Catalog.
Adds +1 to the badge when found.
No WebMCP declarations were found in the collected HTML or inline scripts. External scripts were not inspected.
Adds +1 to the badge when found.
No Web Bot Auth key directory at /.well-known/http-message-signatures-directory.
Adds +1 to the badge when found.
No HTTP 402 payment challenge on the homepage or robots.txt, and no manifest at /.well-known/x402.
Adds +1 to the badge when found.
No ACP discovery declaration established at /.well-known/acp.json.
Adds +1 to the badge when found.
No UCP discovery declaration established at /.well-known/ucp.
Adds +1 to the badge when found.
No public AMP discovery declaration established. Private or hidden agents may not advertise one to our crawler.
Site profile
- Login
- Not established
- API
- Detected
- An API catalog
- Commerce
- Not established
It decides which conditional checks apply. “Not established” means no proof in what we read, not proof of absence.
Access & usage policy
Who can read this page, and for what purpose?
GoodForBotsBot received HTTP 200 via a direct request. No indexing restriction was observed in the supported homepage directives.
Sampled URL: https://www.redhat.com/en
Declared crawling rules
No matching refusal for this URL was found for the listed identities.
Sources and scope: declared crawling rules
Declared allow · Scan admission
- GoodForBotsBot/1.0 (+https://goodforbots.com/bot)
The recorded robots admission decision allowed our crawler to proceed.
GoodForBotsBot admission along the homepage request chain
https://redhat.com/
Declared allow · robots.txt
- goodforbotsbot (Site diagnostics)
- * (Default robots group)
- oai-searchbot (ai-search)
- claude-searchbot (ai-search)
- perplexitybot (ai-search)
- mistralai-index (ai-search)
- kimi-searchbot (ai-search)
- amzn-searchbot (ai-search)
- meta-webindexer (ai-search)
- exasearchbot (ai-search)
- aiwebindex (ai-search)
- duckassistbot (ai-search)
- shapbot (ai-search)
- yandexadditional (ai-search)
- yandexadditionalbot (ai-search)
- gptbot (ai-training)
- claudebot (ai-training)
- mistralai-training (ai-training)
- kimibot (ai-training)
- ai2bot (Unknown)
- applebot-extended (ai-training)
- webzio-extended (ai-training)
- chatgpt-user (user-fetch)
- claude-user (user-fetch)
- perplexity-user (user-fetch)
- mistralai-user (user-fetch)
- kimi-user (user-fetch)
- amzn-user (user-fetch)
- diffbot-user (user-fetch)
- firecrawlagent (extraction)
- webzio (extraction)
- meta-externalfetcher (user-fetch, agent)
- google-extended (ai-training, grounding)
- meta-externalagent (ai-training, product-improvement)
- amazonbot (ai-training, product-improvement)
- ccbot (open-dataset, ai-training)
- googlebot (search)
- bingbot (search)
No matching refusal for this URL in the applicable robots group. This is a declaration, not an access test.
Acquisition of https://www.redhat.com/en
https://www.redhat.com/robots.txt
User-agent: *
robots.txt is present and validStates a position on AI crawlersAllows search and user-fetch crawlers
Observed access
GoodForBotsBot received HTTP 200 via a direct request.
Sources and scope: observed access
Observed · Direct request
- GoodForBotsBot/1.0 (+https://goodforbots.com/bot)
Our request received HTTP 200. A status alone does not identify a WAF.
Our recorded direct transport attempt; intermediate attempt URLs are not retained
https://redhat.com
HTTP 200
Observed · Final homepage response
- GoodForBotsBot/1.0 (+https://goodforbots.com/bot)
GoodForBotsBot received HTTP 200 via a direct request.
homepage response
https://www.redhat.com/en
HTTP 200 Transport: direct
Serves the homepage over HTTPS with HTTP 200Serves our crawler without a challenge
Indexing directives
No indexing restriction was observed in the supported homepage directives.
Sources and scope: indexing directives
Not observed · Homepage directives
No indexing restriction was observed in the supported homepage directives.
homepage response
https://www.redhat.com/en
Search snippets
No snippet restriction was observed in the supported homepage directives.
Sources and scope: search snippets
Not observed · Homepage directives
No snippet restriction was observed in the supported homepage directives.
homepage response
https://www.redhat.com/en
Search usage
No applicable preference for this use was established.
Sources and scope: search usage
Unstated · AIPREF Content-Usage
- goodforbotsbot (Site diagnostics)
- * (Default robots group)
- oai-searchbot (ai-search)
- claude-searchbot (ai-search)
- perplexitybot (ai-search)
- mistralai-index (ai-search)
- kimi-searchbot (ai-search)
- amzn-searchbot (ai-search)
- meta-webindexer (ai-search)
- exasearchbot (ai-search)
- aiwebindex (ai-search)
- duckassistbot (ai-search)
- shapbot (ai-search)
- yandexadditional (ai-search)
- yandexadditionalbot (ai-search)
- gptbot (ai-training)
- claudebot (ai-training)
- mistralai-training (ai-training)
- kimibot (ai-training)
- ai2bot (Unknown)
- applebot-extended (ai-training)
- webzio-extended (ai-training)
- chatgpt-user (user-fetch)
- claude-user (user-fetch)
- perplexity-user (user-fetch)
- mistralai-user (user-fetch)
- kimi-user (user-fetch)
- amzn-user (user-fetch)
- diffbot-user (user-fetch)
- firecrawlagent (extraction)
- webzio (extraction)
- meta-externalfetcher (user-fetch, agent)
- google-extended (ai-training, grounding)
- meta-externalagent (ai-training, product-improvement)
- amazonbot (ai-training, product-improvement)
- ccbot (open-dataset, ai-training)
- googlebot (search)
- bingbot (search)
No applicable AIPREF preference was established for this purpose.
Purpose: search; applicable robots group/path and this response's header
https://www.redhat.com/en
AI input and use
No applicable preference for this use was established.
Sources and scope: ai input and use
Unstated · AIPREF Content-Usage
- goodforbotsbot (Site diagnostics)
- * (Default robots group)
- oai-searchbot (ai-search)
- claude-searchbot (ai-search)
- perplexitybot (ai-search)
- mistralai-index (ai-search)
- kimi-searchbot (ai-search)
- amzn-searchbot (ai-search)
- meta-webindexer (ai-search)
- exasearchbot (ai-search)
- aiwebindex (ai-search)
- duckassistbot (ai-search)
- shapbot (ai-search)
- yandexadditional (ai-search)
- yandexadditionalbot (ai-search)
- gptbot (ai-training)
- claudebot (ai-training)
- mistralai-training (ai-training)
- kimibot (ai-training)
- ai2bot (Unknown)
- applebot-extended (ai-training)
- webzio-extended (ai-training)
- chatgpt-user (user-fetch)
- claude-user (user-fetch)
- perplexity-user (user-fetch)
- mistralai-user (user-fetch)
- kimi-user (user-fetch)
- amzn-user (user-fetch)
- diffbot-user (user-fetch)
- firecrawlagent (extraction)
- webzio (extraction)
- meta-externalfetcher (user-fetch, agent)
- google-extended (ai-training, grounding)
- meta-externalagent (ai-training, product-improvement)
- amazonbot (ai-training, product-improvement)
- ccbot (open-dataset, ai-training)
- googlebot (search)
- bingbot (search)
No applicable AIPREF preference was established for this purpose.
Purpose: ai-use; applicable robots group/path and this response's header
https://www.redhat.com/en
AI training
No applicable preference for this use was established.
Sources and scope: ai training
Unstated · AIPREF Content-Usage
- goodforbotsbot (Site diagnostics)
- * (Default robots group)
- oai-searchbot (ai-search)
- claude-searchbot (ai-search)
- perplexitybot (ai-search)
- mistralai-index (ai-search)
- kimi-searchbot (ai-search)
- amzn-searchbot (ai-search)
- meta-webindexer (ai-search)
- exasearchbot (ai-search)
- aiwebindex (ai-search)
- duckassistbot (ai-search)
- shapbot (ai-search)
- yandexadditional (ai-search)
- yandexadditionalbot (ai-search)
- gptbot (ai-training)
- claudebot (ai-training)
- mistralai-training (ai-training)
- kimibot (ai-training)
- ai2bot (Unknown)
- applebot-extended (ai-training)
- webzio-extended (ai-training)
- chatgpt-user (user-fetch)
- claude-user (user-fetch)
- perplexity-user (user-fetch)
- mistralai-user (user-fetch)
- kimi-user (user-fetch)
- amzn-user (user-fetch)
- diffbot-user (user-fetch)
- firecrawlagent (extraction)
- webzio (extraction)
- meta-externalfetcher (user-fetch, agent)
- google-extended (ai-training, grounding)
- meta-externalagent (ai-training, product-improvement)
- amazonbot (ai-training, product-improvement)
- ccbot (open-dataset, ai-training)
- googlebot (search)
- bingbot (search)
No applicable AIPREF preference was established for this purpose.
Purpose: train-ai; applicable robots group/path and this response's header
https://www.redhat.com/en
Coverage and interpretation
- Crawler coverage includes the registered identities and up to 50 user-agent entries from robots.txt. Source excerpts and detail groups are bounded; omissions are labelled.
- Observed access describes GoodForBotsBot only. Other crawler entries describe declared rules, not tests of those operators' access.
- Coverage is the sampled homepage response and collected robots.txt files. No indexing or citation is guaranteed. Usage preferences are declarations, not a legal determination of permission.
- This explanation adds no points or penalties. Any score effects belong to the linked checks.
- AIPREF and Content Signals keep their own definitions. AIPREF search can include processing used exclusively for search; training preferences are not a blanket ruling on every search process.
Scan details
Every scan is kept. Pro draws the history as a chart →
- Scanned
- 7 Nov 2026
- Rubric
- 0.9.0
- Requests
- 23
- Fetched
- 6.8 MB
- Took
- 246.7 s
- Homepage
- 389 ms · direct
- Pages read
- 2
- robots.txt
- allowed
Which pages the scan read
The homepage and up to three pages from the sitemap and homepage links. Structured data, page structure, Markdown negotiation and typed links check each page read and take the median page; other checks read the homepage.
- Homepagealways read
- /en/blog/channel/devops-and-devsecopsarticle · linked from the homepage · read
- /en/products/aiproduct · linked from the homepage · not read: the scan's request budget ran out
- /en/solutions/security-and-compliance-approachservice · linked from the homepage · not read: the scan's request budget ran out
Similar reports
The whole directory →saascubes.com
Curated SaaS directory offering permanent do-follow backlinks for modern software products
goodforbots.com
Evaluates website readability for AI crawlers and language models with a scoring rubric
Also Fair
tracerhq.co
SEO-to-revenue attribution platform connecting search data to signups and MRR for SaaS teams
Do you run redhat.com? Open the owner view → Removing the listing is free. Remove →
