C
Why this grade
A middle-of-the-pack C. Credit on robots.txt AI-agent rules, but the biggest gaps are on Public MCP registry listing and SDK availability across languages — closing those would lift this toward a B.
Get notified when this grade changes
Subscribe to grade-change alerts for ainglish.org — we'll email you when a new scan moves the grade or score.
Quick wins
Low-cost fixes that would nudge this grade up.
- /ai.txt AI-crawler directives Add a short `/ai.txt` at the site root declaring your AI-crawler usage terms (see spawning.ai/ai-txt).
- /llms-full.txt long-form index Add a `/llms-full.txt` — the full-text companion to llms.txt with your key docs inlined for LLMs (see llmstxt.org).
- /.well-known/ai-plugin.json manifest Publish a `/.well-known/ai-plugin.json` manifest with name_for_model, description_for_model, and an api block.
Blocking issues
High-weight checks that aren't passing.
- TLS + HSTS + HTTPS redirect Cert valid, but `http://` did not redirect to `https://`. (HSTS max-age=31536000 — informational.)
- Public MCP registry listing Host ainglish.org not listed in any of 2 registry/registries consulted.
Per-category breakdown
| Category | Score | Percent |
|---|---|---|
| Anti Bot | 15 / 15 | |
| Api | 15 / 15 | |
| Crawl | 13 / 13 | |
| Docs | 3 / 14 | |
| Html Meta | 4 / 8 | |
| Identity | 5 / 10 | |
| Onboarding | 3 / 6 | |
| Protocols | 8 / 18 | |
| Root Level | 8 / 8 | |
| Well Known | 18 / 18 |
Findings (33)
Anti Bot · 2
| Check | Status | Points | Notes |
|---|---|---|---|
| Anti-bot interstitial | pass | 10 / 10 | No anti-bot interstitial markers on a single polite homepage request — behavioural anti-bot can still challenge real crawler traffic. |
| User-agent sniffing | pass | 5 / 5 | Homepage responses for default and curl UAs are effectively identical. |
Api · 3
| Check | Status | Points | Notes |
|---|---|---|---|
| GraphQL introspection | skip | — | No GraphQL endpoint found at any of 3 conventional paths. |
| JSON error bodies for API callers | pass | 5 / 5 | HTTP 404 with parseable JSON body (Content-Type: application/json). |
| OpenAPI specification discovery | pass | 10 / 10 | OpenAPI 3.1.0 served at /openapi.json (19 paths, 3 schemas). |
Crawl · 3
| Check | Status | Points | Notes |
|---|---|---|---|
| RSS/Atom feed | skip | — | No RSS/Atom feed found at probed paths or via `<link rel="alternate">`. |
| robots.txt AI-agent rules | pass | 13 / 13 | All 13 documented AI user-agents can crawl /. |
| XML sitemap discovery | skip | — | No sitemap at the conventional paths or linked from robots.txt. |
Docs · 2
| Check | Status | Points | Notes |
|---|---|---|---|
| Docs platform discoverability | warn | 3 / 6 | Docs found at /developers but platform is custom — crawler-friendliness is unknown. |
| SDK availability across languages | fail | 0 / 8 | No SDKs discoverable via npm, PyPI, or the docs page. |
Html Meta · 3
| Check | Status | Points | Notes |
|---|---|---|---|
| JSON-LD structured data | pass | 4 / 8 | JSON-LD present (WebSite); missing a machine-targeted `@type: WebAPI`/`SoftwareApplication` for full credit. |
| meta description | info | — | Meta description present (119 characters) (informational — not graded). |
| Open Graph tags | info | — | All three core Open Graph tags present on the homepage (informational — not graded). |
Identity · 3
| Check | Status | Points | Notes |
|---|---|---|---|
| Email auth (SPF, DMARC, DKIM) | info | — | No SPF / DMARC / DKIM found — domain has no email auth (informational — email trust, not agent discoverability). |
| security.txt responsible-disclosure declaration | skip | — | No security.txt found at either probed path — secondary signal, not a negative one. |
| TLS + HSTS + HTTPS redirect | warn | 5 / 10 | Cert valid, but `http://` did not redirect to `https://`. (HSTS max-age=31536000 — informational.) |
Llm Training · 3
| Check | Status | Points | Notes |
|---|---|---|---|
| Common Crawl index presence | skip | — | Common Crawl CDX endpoint was unreachable — not penalising target. |
| Hacker News mentions | info | — | 0 verified HN mention(s) of ainglish.org (0 raw search hits) — informational, HN chatter is a popularity signal and not graded. |
| Wikipedia article | info | — | 1 Wikipedia article(s) match "ainglish" (Aron Wieder) but none link to ainglish.org — a name match without a domain link is not attribution (informational — not graded). |
Onboarding · 1
| Check | Status | Points | Notes |
|---|---|---|---|
| API-key / signup path discoverability | warn | 3 / 6 | Signup/API-key page found at /register but nothing on the homepage or docs links to it — a crawler would have to guess. |
Protocols · 2
| Check | Status | Points | Notes |
|---|---|---|---|
| Public MCP registry listing | fail | 0 / 10 | Host ainglish.org not listed in any of 2 registry/registries consulted. |
| A2A AgentCard conformance | pass | 8 / 8 | Conformant AgentCard (version 1.0.0, 9 skills, 12 endpoints). |
Registries · 3
| Check | Status | Points | Notes |
|---|---|---|---|
| GitHub public repository | skip | — | No GitHub repositories attributable to ainglish.org — name matches without a verifiable attribution signal are not counted. |
| npm SDK package | skip | — | No npm packages attributable to ainglish.org — name matches without a verifiable attribution signal are not counted. |
| PyPI SDK package | skip | — | No PyPI package at the 2 name(s) probed for ainglish.org. |
Root Level · 3
| Check | Status | Points | Notes |
|---|---|---|---|
| /ai.txt AI-crawler directives | skip | — | No /ai.txt present (404) — this is a secondary signal, not a negative one. |
| /llms-full.txt long-form index | skip | — | No /llms-full.txt present (404). |
| /llms.txt index for LLMs | pass | 8 / 8 | llms.txt present, 2.2 KB, starts with '# The Ainglish Project'. |
Well Known · 5
| Check | Status | Points | Notes |
|---|---|---|---|
| /.well-known/agent.json (A2A AgentCard) | pass | 10 / 10 | agent.json present with all required keys (9 skills, 12 endpoints). |
| /.well-known/ai-plugin.json manifest | skip | — | No /.well-known/ai-plugin.json present (404). |
| /.well-known/mcp.json (Model Context Protocol) | pass | 8 / 8 | mcp.json present with indicator keys: capabilities. |
| OpenID Connect configuration + dynamic registration | skip | — | No /.well-known/openid-configuration — site does not advertise an OIDC provider. |
| /.well-known/openapi.{json,yaml} | skip | — | No OpenAPI spec at either well-known path. |
Score over time
- Latest
- 69 ▲ 5
- Best
- 69
- Worst
- 64
- Scans
- 2