ARI-100 report · scanned 2026-11-11T23:02:04.171Z · 6518 ms · engine ARI-100
Agent readiness — orvanipeptides.com
85
Grade B — Agent-aware
Level L4 · Agent-operable
Domains
| Domain | Weight | Score | Passed | Scored |
|---|---|---|---|---|
| Reachability & Access | 20 | 95.6 | 13 | 15 |
| Render & Delivery | 10 | 86.7 | 8 | 11 |
| Structure & Semantics | 12 | 100 | 13 | 13 |
| Structured Data | 12 | 85.7 | 8 | 11 |
| Discovery Files | 14 | 91.9 | 15 | 18 |
| Agent Interfaces | 14 | 54.3 | 10 | 27 |
| Operability & Commerce | 10 | 38.9 | 3 | 12 |
| Trust & Authority | 8 | 88.9 | 8 | 10 |
Crawler reachability
Each agent was fetched with its own user-agent string and matched against robots.txt with RFC 9309 longest-match rules. A verdict is one of allowed, blocked, challenged, rate limited or unverifiable.
| Crawler | Platform | Role | Weight | HTTP | Verdict |
|---|---|---|---|---|---|
| OAI-SearchBot | ChatGPT search | search | 10 | 200 | allowed |
| ChatGPT-User | ChatGPT | user | 9 | 200 | allowed |
| Claude-SearchBot | Claude search | search | 10 | 200 | allowed |
| Claude-User | Claude | user | 9 | 200 | allowed |
| PerplexityBot | Perplexity | search | 10 | 200 | allowed |
| Perplexity-User | Perplexity | user | 9 | 200 | allowed |
| Googlebot | Google / AI Overviews | search | 10 | 200 | allowed |
| Google-Agent | Google AI Mode | user | 7 | 200 | allowed |
| Google-GeminiNotebook | Gemini | user | 5 | 200 | allowed |
| bingbot | Bing / Copilot | search | 8 | 200 | allowed |
| Applebot | Siri / Apple Intelligence | search | 6 | 200 | allowed |
| meta-webindexer | Meta AI | search | 5 | 200 | allowed |
| meta-externalfetcher | Meta AI | user | 5 | 200 | allowed |
| MistralAI-Index | Mistral Le Chat | search | 4 | 200 | allowed |
| MistralAI-User | Mistral Le Chat | user | 4 | 200 | allowed |
| Amzn-SearchBot | Alexa | search | 4 | 200 | allowed |
| Amzn-User | Alexa | user | 3 | 200 | allowed |
| DuckAssistBot | DuckDuckGo AI | search | 3 | 200 | allowed |
| YouBot | You.com | search | 3 | 200 | allowed |
| GPTBot | OpenAI training | train | 0 | 200 | allowed |
| ClaudeBot | Anthropic training | train | 0 | 200 | allowed |
| Google-Extended | Gemini training | train | 0 | 200 | allowed |
| Applebot-Extended | Apple training | train | 0 | 200 | allowed |
| CCBot | Common Crawl | train | 0 | 200 | allowed |
| Bytespider | ByteDance | train | 0 | 200 | allowed |
| meta-externalagent | Meta training | train | 0 | 200 | allowed |
| cohere-ai | Cohere training | train | 0 | 200 | allowed |
| AI2Bot | Allen Institute | train | 0 | 200 | allowed |
| Diffbot | Diffbot | other | 1 | 200 | allowed |
| Amazonbot | Amazon | train | 0 | 200 | allowed |
| GoogleOther | Google other | other | 1 | 200 | allowed |
| Google-CloudVertexBot | Vertex AI | train | 0 | 200 | allowed |
Failing checks, most recoverable first
39 checks are not passing. The first 3 fix prompts are free; the rest are part of the paid pack. Every prompt is written to be pasted into a coding agent verbatim.
A commerce profile is published
commerce/ucp-profile · weight 3 · fail · +3 recoverable · HTTP 404
Publish a commerce profile at /.well-known/ucp on https://orvanipeptides.com declaring the merchant, the catalogue, and the endpoints an agent may call. Evidence: HTTP 404.
Add-to-cart is a real labelled control
commerce/add-to-cart · weight 3 · fail · +3 recoverable · no add-to-cart control
Replace the add-to-cart div on https://orvanipeptides.com/us with a real <button type="submit"> inside a <form>, with an accessible name that includes the product. Evidence: no add-to-cart control.
Variant pickers are real form controls
commerce/variant-controls · weight 3 · fail · +3 recoverable · no variant form controls
Convert the variant pickers on https://orvanipeptides.com/us to real form controls (select or radio inputs) with a label per option, so an agent can set a value. Evidence: no variant form controls.
Text-to-markup ratio is workable
render/text-ratio · weight 2 · fail · +2 recoverable · text/markup 1.9%
Raise the text-to-markup ratio on https://orvanipeptides.com/us to at least 5%: trim wrapper divs and inline styles, and put the copy in plain elements. Evidence: text/markup 1.9%.
Variants are modelled
data/product-variants · weight 2 · fail · +2 recoverable · variants not modelled
Model the variants of https://orvanipeptides.com/us in schema with hasVariant (or a ProductGroup with variesBy) including each size/colour and its own offer. Evidence: variants not modelled.
Protected resources declare their authorization server
interfaces/oauth-protected-resource · weight 2 · fail · +2 recoverable · HTTP 404
Publish /.well-known/oauth-protected-resource on https://orvanipeptides.com naming the resource and its authorization server, so an agent can discover how to get a token without scraping docs. Evidence: HTTP 404.
Authorization server metadata is published
interfaces/oauth-as · weight 2 · fail · +2 recoverable · HTTP 404
Publish /.well-known/oauth-authorization-server on https://orvanipeptides.com with issuer, authorization_endpoint, token_endpoint and grant types. Evidence: HTTP 404.
A developer portal is reachable from the homepage
interfaces/dev-portal · weight 2 · fail · +2 recoverable · no developer link
Link the developer docs from the homepage and main navigation of https://orvanipeptides.com — one hop, not three. Evidence: no developer link.
The site tells an agent when to use it
interfaces/agent-instruction · weight 2 · fail · +2 recoverable · no when-to-use block
Add a when-to-use block to https://orvanipeptides.com (in llms.txt, the MCP card or the agent manifest) stating what the agent is for, what it must not do, and one worked call. Evidence: no when-to-use block.
A cart can be handed back to a shopper
commerce/checkout-permalink · weight 2 · fail · +2 recoverable · no cart permalink
Add a shareable cart/checkout permalink on https://orvanipeptides.com that carries line items in the URL, so an agent can build a cart and hand the link to a person. Evidence: no cart permalink.
Response is fast enough for an agent timeout
render/ttfb · weight 3 · partial · +1.5 recoverable · 1602 ms to first byte
Speed up the server response for https://orvanipeptides.com/us: TTFB should land under 800 ms. Cache the HTML at the edge, and remove synchronous calls from the render path. Evidence: 1602 ms to first byte.
A public API answers without a human
interfaces/public-api · weight 3 · partial · +1.5 recoverable · GET paths declared
Expose at least one unauthenticated read endpoint on https://orvanipeptides.com that returns the site's core facts as JSON, and document it in the OpenAPI spec. Evidence: GET paths declared.
Search works through a GET URL
commerce/site-search · weight 3 · partial · +1.5 recoverable · no GET search form
Make site search on https://orvanipeptides.com work over GET with a ?q= parameter that returns results in the server HTML, so an agent can construct a search URL. Evidence: no GET search form.
Snippets and large image previews are allowed
access/snippets-allowed · weight 2 · partial · +1 recoverable · snippet directives incomplete
On https://orvanipeptides.com set "max-snippet:-1, max-image-preview:large" in the meta robots tag or X-Robots-Tag so assistants can quote the page. Evidence: snippet directives incomplete.
Published and modified dates are declared
data/dates · weight 2 · partial · +1 recoverable · no dates in schema
Add datePublished and dateModified to the schema on https://orvanipeptides.com/us, kept in sync with the visible date. Evidence: no dates in schema.
Structured data matches visible content
data/jsonld-truthful · weight 2 · partial · +1 recoverable · schema 30.40 vs page 9.99
Reconcile JSON-LD with the visible page on https://orvanipeptides.com/us: schema 30.40 vs page 9.99 — the declared values must equal what a human sees.
Sitemap entries carry real lastmod
discovery/sitemap-lastmod · weight 2 · partial · +1 recoverable · no lastmod
Add truthful <lastmod> values to the sitemap on https://orvanipeptides.com from real content timestamps. Evidence: no lastmod.
DNS advertises agent endpoints
discovery/dns-aid · weight 1 · fail · +1 recoverable · no _agents TXT record
Publish a DNS discovery record for https://orvanipeptides.com (a TXT record listing the agent endpoints the site exposes) so an agent learns the surface before fetching a page. Evidence: no _agents TXT record.
Site actions are exposed to in-browser agents
interfaces/webmcp · weight 1 · fail · +1 recoverable · no WebMCP registration
Register the site's real actions (search, filter, add to cart) as WebMCP tools on https://orvanipeptides.com so a browser agent can call them without guessing at the DOM. Evidence: no WebMCP registration.
One index lists every agent interface
interfaces/ard · weight 1 · fail · +1 recoverable · HTTP 404
Publish an ARD manifest at /.well-known/ard.json on https://orvanipeptides.com listing every agentic artefact with its type and URL, and advertise it with rel="ard". Evidence: HTTP 404.
A wildcard agent manifest is published
interfaces/agents-json · weight 1 · fail · +1 recoverable · HTTP 404
Publish /.well-known/agents.json on https://orvanipeptides.com: a JSON document naming each agent or action the site accepts, with the URL to call and the input it expects. Evidence: HTTP 404.
Per-action permissions are declared
interfaces/agent-permissions · weight 1 · fail · +1 recoverable · HTTP 404
Publish /.well-known/agent-permissions.json on https://orvanipeptides.com mapping each action an agent may take to the scope it needs and whether a human must confirm it. Evidence: HTTP 404.
A natural-language query endpoint answers
interfaces/nlweb-ask · weight 1 · fail · +1 recoverable · /ask → HTTP 404, text/html; charset=utf-8
Expose a natural-language query endpoint at https://orvanipeptides.com/ask that accepts ?query= and returns JSON (answer plus result URLs), so an agent can ask the site directly instead of crawling it. Evidence: /ask → HTTP 404, text/html; charset=utf-8.
The interface is declared for agent-driven UI
interfaces/a2ui · weight 1 · fail · +1 recoverable · no A2UI declaration
Declare an agent-driven UI surface on https://orvanipeptides.com: mark the page (or publish a manifest) as A2UI so a reviewing agent knows the controls are renderable from a declared schema rather than inferred from the DOM. Evidence: no A2UI declaration.
A personal-agent profile is published
interfaces/pap · weight 1 · fail · +1 recoverable · HTTP 404
Publish /.well-known/personal-agent.json on https://orvanipeptides.com describing how an agent acting for a signed-in person is identified and what it may do on their behalf. Evidence: HTTP 404.
The site publishes its own bot signing keys
access/web-bot-auth · weight 1 · fail · +1 recoverable · HTTP 404
Publish a signing-key directory at https://orvanipeptides.com/.well-known/http-message-signatures-directory so another site can verify requests this site's bots send. Evidence: HTTP 404.
Errors are machine-readable
interfaces/json-errors · weight 2 · partial · +1 recoverable · unknown API path returned text/html; charset=utf-8
Return RFC 9457 problem-details JSON for every error on https://orvanipeptides.com, including unknown routes, so an agent can recover instead of parsing an HTML error page. Evidence: unknown API path returned text/html; charset=utf-8.
Rate limits are declared in headers
interfaces/rate-limit-headers · weight 1 · fail · +1 recoverable · no rate-limit headers
Emit RateLimit-Limit / RateLimit-Remaining / RateLimit-Reset (and Retry-After on 429) from the API on https://orvanipeptides.com. Evidence: no rate-limit headers.
The API is easy to call from a model
interfaces/fc-friendly · weight 2 · partial · +1 recoverable · 0 described properties in the schema
Simplify the API surface on https://orvanipeptides.com for function calling: flat named parameters, enums instead of free-text where possible, and a description on every field in the OpenAPI spec. Evidence: 0 described properties in the schema.
Writes are retry-safe
interfaces/idempotency · weight 1 · fail · +1 recoverable · Idempotency-Key documented
Accept an Idempotency-Key header on mutating endpoints of https://orvanipeptides.com and document it, so an agent can retry without duplicating work. Evidence: Idempotency-Key documented.
Paid access is discoverable by an agent
interfaces/payment-negotiation · weight 1 · fail · +1 recoverable · x402 discovery HTTP 404
Make paid access discoverable on https://orvanipeptides.com: return HTTP 402 with a machine-readable list of accepted payment options, or publish a machine-readable price list. Evidence: x402 discovery HTTP 404.
Machine payment is accepted
commerce/x402 · weight 1 · fail · +1 recoverable · no x402 accepts array
Accept machine payment on https://orvanipeptides.com: answer with HTTP 402 and an x402 accepts array (asset, amount, network, payTo) on the paid resource. Evidence: no x402 accepts array.
Delegated payment authorization is advertised
commerce/ap2 · weight 1 · fail · +1 recoverable · AP2 advertised
Advertise delegated payment authorization on https://orvanipeptides.com (AP2 extension on the agent card or commerce profile) with the mandate shapes you accept. Evidence: AP2 advertised.
A checkout protocol profile is published
commerce/acp-profile · weight 1 · fail · +1 recoverable · acp profile HTTP 404
Publish a checkout-protocol profile at /.well-known/acp.json on https://orvanipeptides.com naming the checkout endpoint and supported payment methods. Evidence: acp profile HTTP 404.
Checkout terms an agent needs are documented
commerce/checkout-docs · weight 2 · partial · +1 recoverable · checkout terms incomplete
Document the checkout terms an agent must know on https://orvanipeptides.com: shipping cost and regions, return window, tax handling, and lead time. Evidence: checkout terms incomplete.
A visible publish or update date
trust/visible-date · weight 2 · partial · +1 recoverable · no visible date
Show a visible publish or last-updated date on https://orvanipeptides.com/us that matches dateModified in the schema. Evidence: no visible date.
Claims are checkable
trust/sources · weight 2 · partial · +1 recoverable · 1 outbound source link(s)
Add outbound links to primary sources for the factual claims on https://orvanipeptides.com/us — the operator documentation, study or specification, not another summary. Evidence: 1 outbound source link(s).
Text responses are compressed
render/compression · weight 1 · partial · +0.5 recoverable · no compression header relayed
Enable Brotli/gzip compression for HTML and JSON on https://orvanipeptides.com. Evidence: no compression header relayed.
The skill file is substantive
discovery/agents-md-depth · weight 1 · partial · +0.5 recoverable · 1/3 of install, configuration, examples
Deepen /AGENTS.md on https://orvanipeptides.com to include install steps, configuration, and at least one complete usage example. Evidence: 1/3 of install, configuration, examples.
Unlock the full fix pack
Pro shows every prompt, keeps the report on a schedule, and exposes the same scan over the API and MCP so your agent can close the loop without a human copying text.
Take the report with you
- /report/orvanipeptides.com.json — cached JSON, 6-hour TTL
- /report/orvanipeptides.com.md — Markdown mirror, text/markdown
- /badge/orvanipeptides.com.svg — score badge
- /api/scan?url=… — the same number as JSON
A snapshot is not a guarantee: one scan is one request per surface at one moment. Re-scan after every deploy.