AX Rush

Prontezza IA di mercadona.es

Rapporto del sito: 1 pagina misurata. Valutazione complessiva: Discreto.

Punteggio del sito · mercadona.es

Combina l'origine e 1 pagina misurata. Il report qui sotto dettaglia soltanto la pagina di origine.

mercadona.es

Discreto · 33 controlli superati, 34 avvisi, 8 controlli non superati · 3,7s

Condividi questo rapporto con il team tecnico

Porta i risultati a chi può risolverli. Copia un riepilogo pronto per Slack, Teams o la prossima riunione.

Email

Questo rapporto è pubblico. Il team può aprirlo senza un account.

Contenuto

47/100

C'è sostanza che un agente possa leggere?

  • 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.

  • No JSON-LD structured data found

    Add a <script type="application/ld+json"> block in your HTML <head> with schema.org structured data describing your site, organization, or person.

  • Sparse server-rendered content (1 words, 9 chars)

    Render at least the main page content server-side. Many AI crawlers (GPTBot, ClaudeBot, CCBot) do not execute JavaScript and will see only the static HTML.

  • Low text-to-markup ratio (1.6%)

    A very low text-to-markup ratio is a typical SPA-shell symptom. Inline more content directly into the HTML response.

  • Empty SPA mount point detected: #root

    The static HTML contains an empty SPA mount node, which means content is rendered only client-side. Enable SSR/SSG so the initial HTML response includes meaningful content.

  • Semantic landmarks present (section, footer, nav)

  • No <h1> heading found

    Add a single <h1> describing the page. Agents and search engines treat the H1 as the primary topic indicator.

  • <title> is too short (9 chars): "Mercadona"

    Lengthen the title to 20-70 characters with a clear topic indicator.

  • Meta description length 122 chars

  • Canonical URL: https://www.mercadona.es/

  • <html lang="es">

  • UTF-8 charset declared

  • Viewport meta present: "width=device-width,initial-scale=1,shrink-to-fit=no"

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

Accesso

93/100

Un agente riesce a recuperarla?

  • Response compressed with gzip

  • 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 (2.2 KB decompressed)

  • Roughly 2 tokens of content in 556 tokens of response (100% markup)

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

  • Homepage responded in 254ms

  • 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 is short (86400s = ~1 days)

    Use at least max-age=15768000 (~6 months); preload list submission requires max-age=31536000 (1 year).

  • 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

  • notranslate declared — assistants should not offer a translated version

  • No directive restricts how AI assistants may use this page

Individuabilità

56/100

Un agente trova ciò che pubblichi?

  • Sitemap located: https://mercadona.es/sitemap.xml

  • Sitemap response does not look like XML

    Serve the sitemap with valid XML and Content-Type: application/xml. Confirm the file starts with <?xml ...?> and contains <urlset> or <sitemapindex>.

  • 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 missing: og:type

    Add these meta tags: <meta property="og:type" content="...">.

  • Twitter Card required tags missing: twitter:title, twitter:description

    Add these meta tags: <meta name="twitter:title" content="...">, <meta name="twitter:description" 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.

  • No Sitemap directive found

    Add a Sitemap directive to your robots.txt: Sitemap: https://your-site.com/sitemap.xml

  • 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.

  • /llms.txt exists

  • /llms.txt Content-Type is "text/html"

    Configure your server to serve /llms.txt as text/plain so AI agents parse it correctly.

  • Missing H1 heading (first line should start with "# ")

    Add an H1 heading as the first line of your llms.txt file, e.g.: # Your Site Name

  • No blockquote description found ("> ...")

    Add a blockquote description after the H1 heading, e.g.: > A brief summary of your site for AI agents.

  • No section headings found (## ...)

    Organize your llms.txt content with ## section headings (e.g., ## About, ## API, ## Documentation).

  • No Markdown links found

    Add Markdown links to relevant pages: [Page Title](https://example.com/page). This helps AI agents navigate your site.

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

  • 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.

  • 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

  • 6/7 security headers present

  • 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 CORS headers on .well-known resources

    Add Access-Control-Allow-Origin: * to responses from /.well-known/* so AI agents from other domains can fetch your discovery files.

  • 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.

Protocolli

0/100

Che cosa può chiamare un agente?

  • 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-facing surface — an Agent Card does not apply to this site

  • /.well-known/api-catalog served as "text/html"

    Serve the catalog as application/linkset+json.

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

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

  • No developer-facing surface — skills do not apply to this site

  • No commerce surface — agentic-commerce discovery does not apply to this site

  • Nothing on this site requires authorization — auth discovery does not apply

  • No forms and no WebMCP code — nothing here for an agent to invoke as a tool

Criteri

33/100

Quali diritti d'uso sono dichiarati?

  • 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.

  • /.well-known/security.txt exists

  • Required field "Contact" missing (RFC 9116)

    Add "Contact:" to your security.txt. Use a mailto: or https: URI, e.g., Contact: mailto:security@example.com

  • Required field "Expires" missing (RFC 9116)

    Add "Expires:" to your security.txt. Use an ISO 8601 date, e.g., Expires: 2026-12-31T23:59:59.000Z

  • No optional fields (Canonical, Preferred-Languages, Policy, etc.)

    Consider adding Canonical: (canonical URL), Preferred-Languages: (e.g., en), and Policy: (link to your security policy).

Dettagli tecnici

Motore
ax-audit@4.2.1
Scansionato
8 set 2026, 16:13:10 UTC
Durata
3729 ms
Check eseguiti
26

Trasforma questo rapporto in miglioramenti continui

Dai al team rapporti completi, correzioni prioritarie e monitoraggio per mantenere i miglioramenti dopo ogni rilascio.

Leggere questo report tramite l'API o il server MCP