AX Rush

Préparation de nomadgoods.com à l'IA

Rapport du site : 1 page mesurée. Note globale : Bon.

Score du site · nomadgoods.com

Combine l'origine et 1 page mesurée. Le rapport ci-dessous détaille uniquement la page d'origine.

nomadgoods.com

Moyen · 53 vérifications réussies, 35 avertissements, 4 échecs · 18,2 s

Partagez ce rapport avec votre équipe technique

Transmettez les constats à ceux qui peuvent les résoudre. Copiez un résumé prêt pour Slack, Teams ou votre prochaine réunion.

E-mail

Ce rapport est public. Votre équipe peut l’ouvrir sans compte.

Contenu

83/100

Y a-t-il de la substance qu'un agent puisse lire ?

  • Homepage does not serve Markdown via content negotiation

    Serve a Markdown representation of your pages when agents request "Accept: text/markdown". Agents like Claude Code and Cursor ask for it, and Markdown cuts token usage by roughly 80% against HTML. Cloudflare ("Markdown for Agents") and Vercel can enable this without code changes.

  • No <link rel="alternate" type="text/markdown"> fallback found on the homepage

    If you cannot enable content negotiation, advertise a Markdown version with <link rel="alternate" type="text/markdown" href="/index.md"> so agents can discover it.

  • 2 JSON-LD block(s) found

  • @context references schema.org

  • No @graph array (single-entity only)

    Use an @graph array to define multiple entities in one JSON-LD block: { "@context": "https://schema.org", "@graph": [...] }

  • Key types found: Organization, WebPage

  • No BreadcrumbList found

    Add a BreadcrumbList entity to help AI agents understand your site navigation hierarchy.

  • No author declared in structured data

    An assistant deciding whether to cite a page weighs where it came from. Add author as a Person or Organization, not a bare string.

  • 3 sameAs link(s) tie your entity to external identifiers

  • No dateModified or datePublished in structured data

    Assistants weigh recency when they answer time-sensitive questions, and a page with no date cannot be weighed at all. Add dateModified to anything that changes.

  • Structured-data headings appear in the visible text

  • Server-rendered content detected (1090 words, 6749 chars of visible text)

  • Markup-heavy page (text is 2.8% of structural markup)

    The visible text clears the content thresholds, so agents can read this page. Trimming wrapper markup would still make it cheaper to consume.

  • Semantic landmarks present (main, section, header, footer, nav)

  • 2 <h1> headings found (recommend exactly 1)

    Use a single <h1> per page to clearly mark the primary topic. Demote secondary headings to <h2>+.

  • 109/112 <img> tags have alt attributes

  • 363/364 interactive elements have an accessible name

  • 3/3 form controls are labelled

  • Heading hierarchy skips 5 level(s)

    Agents outline a page from its headings. A skipped level puts a section under the wrong parent, so a summary attributes it to the wrong topic.

  • Method note: this reads markup, not a rendered accessibility tree

  • <title> length 54 chars: "NOMAD | Premium iPhone Cases, Watch Bands and Chargers"

  • Meta description length 139 chars

  • Canonical URL: https://nomadgoods.com/eu

  • <html lang="EN">

  • UTF-8 charset declared

  • Viewport meta present: "width=device-width,initial-scale=1"

Accès

93/100

Un agent peut-il seulement la récupérer ?

  • Response compressed with Brotli (br)

  • No ETag or Last-Modified header — conditional requests unsupported

    Send an ETag or Last-Modified header so crawlers can revalidate with If-None-Match / If-Modified-Since and receive a cheap 304 Not Modified instead of the full body.

  • Homepage size is reasonable (480.4 KB decompressed)

  • Roughly 1,687 tokens of content in 122,943 tokens of response (99% markup)

    An agent pays to receive the markup and then discards it. Serving Markdown on Accept negotiation is the direct fix.

  • Homepage responded in 500ms

  • A missing page redirects (302) instead of returning 404

    A redirect on a nonexistent path hides the error. Return 404 or 410 so a client can tell the difference.

  • Homepage answers after 1 redirect

  • HEAD requests are supported

  • Character encoding declared in the document (not in the Content-Type header)

  • Site is served over HTTPS

  • HTTP requests redirect to HTTPS

  • HSTS max-age=31536000

  • HSTS does not include subdomains

    Add includeSubDomains to apply HSTS across api., docs., etc. Required for preload list submission.

  • HSTS lacks the preload directive

    Add preload (and ensure max-age >= 31536000 + includeSubDomains) and submit the domain at https://hstspreload.org for browser-built-in HTTPS enforcement.

  • All 10 core AI crawler user-agents receive the same page as a regular client

  • Homepage is indexable

  • No directive restricts how AI assistants may use this page

Découverte

76/100

Un agent trouve-t-il ce que vous publiez ?

  • No AI meta tags (ai:*) found

    Add AI meta tags to your HTML <head>: <meta name="ai:summary" content="Brief description">, <meta name="ai:content_type" content="website">, <meta name="ai:author" content="Your Name">.

  • No rel="alternate" link to llms.txt in HTML

    Add to your <head>: <link rel="alternate" type="text/plain" href="/llms.txt" title="LLM-optimized content">

  • No rel="alternate" link to the Agent Card in HTML

    Add to your <head>: <link rel="alternate" type="application/json" href="/.well-known/agent-card.json" title="Agent Card">

  • No rel="me" identity links found

    Add rel="me" links to verify your identity across platforms: <link rel="me" href="https://github.com/yourname">, <link rel="me" href="https://twitter.com/yourname">.

  • OpenGraph required tags present (og:title, og:description, og:url, og:type)

  • OpenGraph recommended tags missing: og:site_name

    Add these for richer previews: og:site_name.

  • Twitter Card required tags missing: twitter:card

    Add these meta tags: <meta name="twitter:card" content="...">.

  • /robots.txt exists

  • No core AI crawlers explicitly configured

    Add User-agent entries for core AI crawlers in your robots.txt. For each crawler, add: User-agent: <name> followed by Allow: / on the next line.

  • Sitemap directive present

  • No Content-Signal directive found (optional)

    Declare how crawlers may use your content after access with the Content Signals Policy, e.g.: Content-Signal: search=yes, ai-train=no. Known signals: search, ai-input, ai-train, plus the optional use=immediate|reference|full. Generate yours at contentsignals.org.

  • 0/57 known AI crawlers have explicit rules

    Add explicit User-agent entries for more AI crawlers to maximize discoverability.

  • Only 3/7 security headers present

    Add security headers like Strict-Transport-Security, X-Content-Type-Options, X-Frame-Options, and Referrer-Policy to your server response.

  • No Link header for AI discovery (llms.txt, Agent Card)

    Add a Link response header pointing to your AI discovery files: Link: </llms.txt>; rel="alternate"; type="text/plain", </.well-known/agent-card.json>; rel="alternate"; type="application/json"

  • No machine-readable discovery relations beyond llms.txt and the Agent Card

    Advertise what you publish with Link relations so agents stop guessing paths. Add the ones that apply, for example: Link: </llms.txt>; rel="describedby", </.well-known/api-catalog>; rel="api-catalog". Informational in 3.x: this does not affect your score.

  • /llms.txt exists

  • /llms.txt Content-Type OK (text/plain)

  • H1 heading: "Nomad"

  • Blockquote description present

  • 5 section heading(s) found

  • 473 link(s) found

  • /llms-full.txt also available (bonus)

  • /llms.txt is 107 KB

    An index this large competes with the content it points at for context budget. Keep llms.txt to a map of links and move the prose into llms-full.txt or the pages themselves.

  • No rel="describedby" link to llms.txt

    llms.txt v2 uses this relation so a page can name the file that covers it. Add <link rel="describedby" href="/llms.txt"> or the equivalent Link header, so an agent that landed on a deep page does not have to guess that an index exists.

  • 15 sampled link(s) resolve

  • 15 sampled link(s) redirect

    Point llms.txt at the final URL. Each redirect is a round trip the agent pays for on every visit.

  • No per-page Markdown mirror found

    llms.txt v2 documents appending .md to a URL for its Markdown version. The index tells an agent which pages exist; the mirrors are what make reading them cheap.

  • Consumer note: llms.txt is read by coding agents, not by search

  • Sitemap located: https://nomadgoods.com/sitemap.xml

  • Content-Type is XML (application/xml)

  • 570 URL(s) declared

  • 100% of URLs have <lastmod>

  • Newest <lastmod> is recent (0 day(s) ago)

Protocoles

0/100

Qu'un agent peut-il appeler ?

  • No agent resource catalog found

    A catalog is one document listing everything an agent can call here — agent cards, MCP servers, APIs, skills — so a client stops probing four conventions to find out. Worth publishing once you have more than one of those. Informational: both ai-catalog.json and ard.json are still drafts, so this never affects your score.

  • No Agent Skills published

    This site has documentation, so it has procedures worth teaching. A skill is a SKILL.md an agent installs and follows: setup steps, argument shapes, the mistakes to avoid. Publish one per task at /.well-known/agent-skills/{name}/SKILL.md and list them in /.well-known/agent-skills/index.json.

  • Site exposes a commerce profile but publishes no OAuth metadata

    If any of that surface needs credentials, an agent hitting a 401 has nowhere to look — it cannot read your documentation. Publish RFC 9728 metadata at /.well-known/oauth-protected-resource naming your authorization server. If everything is public, this is nothing to fix.

  • UCP profile published at /.well-known/ucp

  • UCP version 2026-08-25

  • 1 commerce service(s) declared: dev.ucp.shopping

  • 2 declared schema URL(s) resolve

  • UCP profile declares no payment handlers

    Without a payment handler an agent can read your catalog but cannot complete a purchase. Declare the handlers you accept.

  • UCP profile declares no signing keys

    Publish the public keys an agent uses to verify your responses. Money is moving; identity should not rest on DNS alone.

  • 3 form(s) on the page, none declared as agent tools

    A declared form is called by an agent rather than driven pixel by pixel. Add toolname and tooldescription to the forms worth automating — search, filter, subscribe — and toolparamdescription to each field.

  • No agent-facing surface — an Agent Card does not apply to this site

  • No API surface — API discovery does not apply to this site

  • No MCP server — MCP discovery does not apply to this site

Politique

18/100

Quels droits d'usage sont déclarés ?

  • /.well-known/security.txt not found

    Create a /.well-known/security.txt file per RFC 9116. At minimum, include Contact: and Expires: fields. See https://securitytxt.org/ for a generator.

  • No RSL license discovery found

    Declare machine-readable licensing terms for your content with Really Simple Licensing. Add to robots.txt: License: https://your-site.com/license.xml — then publish the RSL document. See https://rslstandard.org.

  • No machine-readable usage policy declared

    State your terms where they can be read without a lawyer. The lowest-effort option is a Content-Signal line in robots.txt: Content-Signal: search=yes, ai-input=yes, ai-train=no. Absence is neutral, not permission — but it also gives you nothing to point at.

Détails techniques

Moteur
axrush-engine@6.0.0
Analysé
10 sept. 2026, 19:02:21 UTC
Durée
18 206 ms
Checks exécutés
26

Transformez ce rapport en améliorations continues

Offrez à votre équipe des rapports complets, des corrections prioritaires et un suivi pour préserver les progrès après chaque livraison.

Lire ce rapport via l'API ou le serveur MCP