URL analizzato

https://audiovisual.ec.europa.eu/en

Analizza un altro URL

Punteggio AI-Ready

39 / F

Insufficiente

su 100

Risparmio di token

Token HTML 509
Token Markdown 1
Risparmio 100%

Dettaglio del punteggio

HTML Semantico 35/100
Efficienza dei contenuti 70/100
Scopribilità IA 15/100
Dati Strutturati 0/100
Accessibilità 70/100

Il tuo sito non ha un file llms.txt. Questo è lo standard emergente per aiutare gli agenti IA a comprendere la struttura del tuo sito.

Come implementare

Crea un file /llms.txt seguendo la specifica llmstxt.org. Includi una descrizione del sito e link alle tue pagine principali.

La tua pagina non utilizza elementi <article> o <main>. Questi contenitori semantici aiutano gli agenti IA a identificare l'area del contenuto principale e ignorare navigazione, barre laterali e piè di pagina.

Come implementare

Aggiungi un elemento <main> attorno al contenuto principale della tua pagina e usa <article> per blocchi di contenuto autonomi come post del blog o descrizioni di prodotti.

La struttura delle intestazioni presenta problemi (livelli saltati o tag h1 multipli). Una gerarchia pulita aiuta gli agenti IA a comprendere l'organizzazione dei contenuti.

Come implementare

Assicurati di avere esattamente un <h1> per pagina e che le intestazioni seguano un ordine sequenziale: h1 > h2 > h3. Non saltare livelli (es. da h1 direttamente a h3).

La tua pagina ha un basso rapporto tra contenuto reale e HTML totale. Gran parte del peso della pagina è markup, script o stili anziché contenuto.

Come implementare

Sposta i CSS in fogli di stile esterni, rimuovi gli stili inline, minimizza JavaScript e assicurati che l'HTML si concentri sulla struttura del contenuto.

Il tuo sito non supporta Markdown for Agents. Questo standard Cloudflare permette agli agenti IA di richiedere contenuti in formato markdown, riducendo l'uso dei token di ~80%.

Come implementare

Implementa uno o più: (1) Rispondere a Accept: text/markdown con contenuto markdown. (2) Servire URL .md (es: /pagina.md). (3) Aggiungere tag <link rel="alternate" type="text/markdown">. (4) Aggiungere header HTTP Link per la scoperta markdown.

Il tuo sito non ha un file robots.txt. Questo file controlla come i bot (inclusi gli agenti IA) accedono al tuo sito.

Come implementare

Crea un file /robots.txt che consenta l'accesso alle tue pagine di contenuto. Includi una direttiva Sitemap che punti al tuo sitemap.xml.

Nessuna sitemap trovata. Una sitemap aiuta gli agenti IA a scoprire tutte le pagine del tuo sito.

Come implementare

Crea un /sitemap.xml che elenchi tutte le tue pagine pubbliche. La maggior parte delle piattaforme CMS può generarla automaticamente.

Nessuna direttiva Content-Signal trovata. Queste indicano agli agenti IA come possono usare i tuoi contenuti (indicizzazione, input IA, dati di addestramento). La posizione consigliata è robots.txt.

Come implementare

Aggiungi Content-Signal al tuo robots.txt: User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no. Puoi anche aggiungerlo come header HTTP nelle risposte markdown.

La tua pagina si basa molto sugli elementi <div>. Elementi semantici come <section>, <nav>, <header>, <footer> e <aside> forniscono una struttura significativa per gli agenti IA.

Come implementare

Sostituisci i contenitori <div> generici con elementi semantici appropriati. Usa <section> per gruppi tematici, <nav> per la navigazione, <header>/<footer> per intestazioni e piè di pagina.

Nessun dato strutturato Schema.org trovato. JSON-LD aiuta gli agenti IA a estrarre informazioni fattuali e strutturate dalle tue pagine.

Come implementare

Aggiungi un blocco <script type="application/ld+json"> con markup Schema.org. Usa tipi appropriati: Article per post del blog, Product per pagine prodotto, Organization per la pagina aziendale.

Token Markdown: 1

  
Audiovisual Service

Carica questo file come /en.md sul tuo server affinché gli agenti IA possano accedere a una versione pulita della tua pagina. Puoi anche configurare la negoziazione dei contenuti Accept: text/markdown per servirlo automaticamente.

llms.txt generato per questa singola pagina

Scarica llms.txt
# audiovisual.ec.europa.eu

## Main
- [Audiovisual Service](https://audiovisual.ec.europa.eu/en)

Il llms.txt completo richiede un'analisi dell'intero dominio (prossimamente)

Carica questo file come https://audiovisual.ec.europa.eu/llms.txt nella radice del tuo dominio. Agenti IA come ChatGPT, Claude e Perplexity controllano questo file per comprendere la struttura del tuo sito.

HTML Semantico

Utilizza elemento article o main (0/100)

Missing <article> and <main> elements

Gerarchia di intestazioni corretta (0/100)

No headings found

Utilizza elementi HTML semantici (0/100)

0 semantic elements, 2 divs (ratio: 0%)

Testi alt delle immagini significativi (100/100)

No images found

Bassa profondità di annidamento div (100/100)

Avg div depth: 0.5, max: 1

Efficienza dei contenuti

Buon rapporto di riduzione token (100/100)

100% token reduction (HTML→Markdown)

Buon rapporto contenuto-rumore (0/100)

Content ratio: 0.0% (0 content chars / 1713 HTML bytes)

Stili inline minimi (100/100)

0/27 elements with inline styles (0.0%)

Peso della pagina ragionevole (100/100)

HTML size: 2KB

Scopribilità IA

Ha file llms.txt (0/100)

No llms.txt found

Ha file robots.txt (0/100)

No robots.txt found

robots.txt consente bot IA (100/100)

No robots.txt — AI bots allowed by default

Ha sitemap.xml (0/100)

No sitemap found

Supporto Markdown for Agents (0/100)
&#10007; Accept: text/markdown &#10007; .md URL &#10007; <link> tag &#10007; Link header
Ha Content-Signal (robots.txt o header HTTP) (0/100)
&#10003; robots.txt &#10003; HTTP header &#10007; Policy

Dati Strutturati

Ha Schema.org / JSON-LD (0/100)

No JSON-LD / Schema.org found

Ha tag Open Graph (0/100)

0/3 OG tags present

Ha meta descrizione (0/100)

No meta description

Ha URL canonico (0/100)

No canonical URL

Ha attributo lang (0/100)

No lang attribute on <html>

Accessibilità

Contenuto disponibile senza JavaScript (100/100)

Content available without JavaScript

Dimensione della pagina ragionevole (100/100)

Page size: 2KB

Il contenuto appare presto nell'HTML (0/100)

Main content starts at 100% of HTML

{
  "url": "https://audiovisual.ec.europa.eu/en",
  "timestamp": 1771573481651,
  "fetch": {
    "mode": "simple",
    "timeMs": 91,
    "htmlSizeBytes": 1713,
    "supportsMarkdown": false,
    "markdownAgents": {
      "contentNegotiation": false,
      "mdUrl": {
        "found": false,
        "url": null
      },
      "linkTag": {
        "found": false,
        "url": null
      },
      "linkHeader": {
        "found": false,
        "url": null
      },
      "responseHeaders": {
        "contentSignal": null,
        "xMarkdownTokens": null,
        "vary": null
      },
      "frontmatter": {
        "present": false,
        "fields": [],
        "level": "none"
      },
      "level": "none"
    },
    "statusCode": 200
  },
  "extraction": {
    "title": "Audiovisual Service",
    "excerpt": "",
    "byline": null,
    "siteName": null,
    "lang": null,
    "contentLength": 0,
    "metadata": {
      "description": null,
      "ogTitle": null,
      "ogDescription": null,
      "ogImage": null,
      "ogType": null,
      "canonical": null,
      "lang": null,
      "schemas": [],
      "robotsMeta": null,
      "author": null,
      "generator": null,
      "markdownAlternateHref": null
    }
  },
  "markdown": "\n",
  "fullPageMarkdown": "Audiovisual Service\n",
  "markdownStats": {
    "images": 0,
    "links": 0,
    "tables": 0,
    "codeBlocks": 0,
    "headings": 0
  },
  "tokens": {
    "htmlTokens": 509,
    "markdownTokens": 1,
    "reduction": 508,
    "reductionPercent": 100
  },
  "score": {
    "score": 39,
    "grade": "F",
    "dimensions": {
      "semanticHtml": {
        "score": 35,
        "weight": 20,
        "grade": "F",
        "checks": {
          "uses_article_or_main": {
            "score": 0,
            "weight": 20,
            "details": "Missing <article> and <main> elements"
          },
          "proper_heading_hierarchy": {
            "score": 0,
            "weight": 25,
            "details": "No headings found"
          },
          "semantic_elements": {
            "score": 0,
            "weight": 20,
            "details": "0 semantic elements, 2 divs (ratio: 0%)"
          },
          "meaningful_alt_texts": {
            "score": 100,
            "weight": 15,
            "details": "No images found"
          },
          "low_div_nesting": {
            "score": 100,
            "weight": 20,
            "details": "Avg div depth: 0.5, max: 1"
          }
        }
      },
      "contentEfficiency": {
        "score": 70,
        "weight": 25,
        "grade": "C",
        "checks": {
          "token_reduction_ratio": {
            "score": 100,
            "weight": 40,
            "details": "100% token reduction (HTML→Markdown)"
          },
          "content_to_noise_ratio": {
            "score": 0,
            "weight": 30,
            "details": "Content ratio: 0.0% (0 content chars / 1713 HTML bytes)"
          },
          "minimal_inline_styles": {
            "score": 100,
            "weight": 15,
            "details": "0/27 elements with inline styles (0.0%)"
          },
          "reasonable_page_weight": {
            "score": 100,
            "weight": 15,
            "details": "HTML size: 2KB"
          }
        }
      },
      "aiDiscoverability": {
        "score": 15,
        "weight": 25,
        "grade": "F",
        "checks": {
          "has_llms_txt": {
            "score": 0,
            "weight": 20,
            "details": "No llms.txt found"
          },
          "has_robots_txt": {
            "score": 0,
            "weight": 10,
            "details": "No robots.txt found"
          },
          "robots_allows_ai_bots": {
            "score": 100,
            "weight": 15,
            "details": "No robots.txt — AI bots allowed by default"
          },
          "has_sitemap": {
            "score": 0,
            "weight": 10,
            "details": "No sitemap found"
          },
          "supports_markdown_negotiation": {
            "score": 0,
            "weight": 25,
            "details": "No Markdown for Agents support detected"
          },
          "has_content_signals": {
            "score": 0,
            "weight": 20,
            "details": "No Content-Signal found (robots.txt or HTTP headers)"
          }
        }
      },
      "structuredData": {
        "score": 0,
        "weight": 15,
        "grade": "F",
        "checks": {
          "has_schema_org": {
            "score": 0,
            "weight": 30,
            "details": "No JSON-LD / Schema.org found"
          },
          "has_open_graph": {
            "score": 0,
            "weight": 25,
            "details": "0/3 OG tags present"
          },
          "has_meta_description": {
            "score": 0,
            "weight": 20,
            "details": "No meta description"
          },
          "has_canonical_url": {
            "score": 0,
            "weight": 15,
            "details": "No canonical URL"
          },
          "has_lang_attribute": {
            "score": 0,
            "weight": 10,
            "details": "No lang attribute on <html>"
          }
        }
      },
      "accessibility": {
        "score": 70,
        "weight": 15,
        "grade": "C",
        "checks": {
          "content_without_js": {
            "score": 100,
            "weight": 40,
            "details": "Content available without JavaScript"
          },
          "reasonable_page_size": {
            "score": 100,
            "weight": 30,
            "details": "Page size: 2KB"
          },
          "fast_content_position": {
            "score": 0,
            "weight": 30,
            "details": "Main content starts at 100% of HTML"
          }
        }
      }
    }
  },
  "recommendations": [
    {
      "id": "add_llms_txt",
      "priority": "critical",
      "category": "aiDiscoverability",
      "titleKey": "rec.add_llms_txt.title",
      "descriptionKey": "rec.add_llms_txt.description",
      "howToKey": "rec.add_llms_txt.howto",
      "effort": "quick-win",
      "estimatedImpact": 10,
      "checkScore": 0,
      "checkDetails": "No llms.txt found"
    },
    {
      "id": "add_article_main",
      "priority": "critical",
      "category": "semanticHtml",
      "titleKey": "rec.add_article_main.title",
      "descriptionKey": "rec.add_article_main.description",
      "howToKey": "rec.add_article_main.howto",
      "effort": "quick-win",
      "estimatedImpact": 8,
      "checkScore": 0,
      "checkDetails": "Missing <article> and <main> elements"
    },
    {
      "id": "fix_heading_hierarchy",
      "priority": "critical",
      "category": "semanticHtml",
      "titleKey": "rec.fix_heading_hierarchy.title",
      "descriptionKey": "rec.fix_heading_hierarchy.description",
      "howToKey": "rec.fix_heading_hierarchy.howto",
      "effort": "quick-win",
      "estimatedImpact": 6,
      "checkScore": 0,
      "checkDetails": "No headings found"
    },
    {
      "id": "improve_content_ratio",
      "priority": "critical",
      "category": "contentEfficiency",
      "titleKey": "rec.improve_content_ratio.title",
      "descriptionKey": "rec.improve_content_ratio.description",
      "howToKey": "rec.improve_content_ratio.howto",
      "effort": "moderate",
      "estimatedImpact": 6,
      "checkScore": 0,
      "checkDetails": "Content ratio: 0.0% (0 content chars / 1713 HTML bytes)"
    },
    {
      "id": "add_markdown_negotiation",
      "priority": "critical",
      "category": "aiDiscoverability",
      "titleKey": "rec.add_markdown_negotiation.title",
      "descriptionKey": "rec.add_markdown_negotiation.description",
      "howToKey": "rec.add_markdown_negotiation.howto",
      "effort": "significant",
      "estimatedImpact": 6,
      "checkScore": 0,
      "checkDetails": "No Markdown for Agents support detected"
    },
    {
      "id": "add_robots_txt",
      "priority": "critical",
      "category": "aiDiscoverability",
      "titleKey": "rec.add_robots_txt.title",
      "descriptionKey": "rec.add_robots_txt.description",
      "howToKey": "rec.add_robots_txt.howto",
      "effort": "quick-win",
      "estimatedImpact": 5,
      "checkScore": 0,
      "checkDetails": "No robots.txt found"
    },
    {
      "id": "add_sitemap",
      "priority": "critical",
      "category": "aiDiscoverability",
      "titleKey": "rec.add_sitemap.title",
      "descriptionKey": "rec.add_sitemap.description",
      "howToKey": "rec.add_sitemap.howto",
      "effort": "quick-win",
      "estimatedImpact": 5,
      "checkScore": 0,
      "checkDetails": "No sitemap found"
    },
    {
      "id": "add_content_signals",
      "priority": "critical",
      "category": "aiDiscoverability",
      "titleKey": "rec.add_content_signals.title",
      "descriptionKey": "rec.add_content_signals.description",
      "howToKey": "rec.add_content_signals.howto",
      "effort": "quick-win",
      "estimatedImpact": 5,
      "checkScore": 0,
      "checkDetails": "No Content-Signal found (robots.txt or HTTP headers)"
    },
    {
      "id": "add_semantic_elements",
      "priority": "critical",
      "category": "semanticHtml",
      "titleKey": "rec.add_semantic_elements.title",
      "descriptionKey": "rec.add_semantic_elements.description",
      "howToKey": "rec.add_semantic_elements.howto",
      "effort": "moderate",
      "estimatedImpact": 5,
      "checkScore": 0,
      "checkDetails": "0 semantic elements, 2 divs (ratio: 0%)"
    },
    {
      "id": "add_schema_org",
      "priority": "high",
      "category": "structuredData",
      "titleKey": "rec.add_schema_org.title",
      "descriptionKey": "rec.add_schema_org.description",
      "howToKey": "rec.add_schema_org.howto",
      "effort": "moderate",
      "estimatedImpact": 6,
      "checkScore": 0,
      "checkDetails": "No JSON-LD / Schema.org found"
    }
  ],
  "llmsTxtPreview": "# audiovisual.ec.europa.eu\n\n## Main\n- [Audiovisual Service](https://audiovisual.ec.europa.eu/en)\n\n",
  "llmsTxtExisting": null,
  "snippets": [
    {
      "id": "add_llms_txt",
      "title": "Create /llms.txt",
      "description": "Upload this file to your web root. It tells AI agents what your site is about and which pages matter.",
      "language": "markdown",
      "code": "# audiovisual.ec.europa.eu\n\n## Main\n- [Audiovisual Service](https://audiovisual.ec.europa.eu/en)\n\n",
      "filename": "/llms.txt"
    },
    {
      "id": "fix_heading_hierarchy",
      "title": "Fix heading hierarchy",
      "description": "Your page has no <h1>. Every page needs exactly one <h1> as the main heading. Add it inside your <main> or <article>.",
      "language": "html",
      "code": "<h1>Audiovisual Service</h1>",
      "filename": "<main> or <article>"
    },
    {
      "id": "add_schema_org",
      "title": "Add Schema.org JSON-LD",
      "description": "Structured data helps AI agents understand the type, author, and purpose of your content.",
      "language": "html",
      "code": "<script type=\"application/ld+json\">\n{\n  \"@context\": \"https://schema.org\",\n  \"@type\": \"WebPage\",\n  \"name\": \"Audiovisual Service\",\n  \"description\": \"Page description.\",\n  \"url\": \"https://audiovisual.ec.europa.eu/en\",\n  \"inLanguage\": \"en\"\n}\n</script>",
      "filename": "<head>"
    },
    {
      "id": "add_robots_txt",
      "title": "Create /robots.txt",
      "description": "A robots.txt file tells crawlers (including AI bots) what they can and cannot access.",
      "language": "txt",
      "code": "User-agent: *\nAllow: /\n\nSitemap: https://audiovisual.ec.europa.eu/sitemap.xml",
      "filename": "/robots.txt"
    },
    {
      "id": "add_sitemap",
      "title": "Create /sitemap.xml",
      "description": "A sitemap helps AI agents discover all your pages. Most CMS platforms generate one automatically.",
      "language": "xml",
      "code": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\n  <url>\n    <loc>https://audiovisual.ec.europa.eu/en</loc>\n    <lastmod>2026-02-20</lastmod>\n  </url>\n</urlset>",
      "filename": "/sitemap.xml"
    },
    {
      "id": "add_article_main",
      "title": "Wrap content in <main> and <article>",
      "description": "Semantic HTML landmarks help AI agents identify the main content of your page.",
      "language": "html",
      "code": "<main>\n  <article>\n    <h1>Your Page Title</h1>\n    <p>Your content here...</p>\n  </article>\n</main>",
      "filename": "<body>"
    },
    {
      "id": "add_content_signals",
      "title": "Add Content-Signal directives",
      "description": "Content-Signal tells AI agents how they may use your content. The recommended location is robots.txt, but you can also add it as an HTTP header.",
      "language": "txt",
      "code": "# robots.txt (recommended, canonical location):\nUser-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no\n\n# Nginx — add to server block (optional, for HTTP header):\n# add_header Content-Signal \"search=yes, ai-input=yes, ai-train=no\" always;\n\n# Apache — add to .htaccess (optional, for HTTP header):\n# Header set Content-Signal \"search=yes, ai-input=yes, ai-train=no\"",
      "filename": "/robots.txt"
    },
    {
      "id": "add_markdown_negotiation",
      "title": "Support Markdown for Agents",
      "description": "Implement one or more of the 4 Markdown for Agents mechanisms to let AI agents request content in markdown format.",
      "language": "html",
      "code": "<!-- 1. Content negotiation: respond to Accept: text/markdown -->\n<!-- In your server/framework, check the Accept header and return markdown -->\n<!-- with Content-Type: text/markdown -->\n\n<!-- 2. Serve .md URLs (e.g., /about.md alongside /about) -->\n<!-- Generate static .md files or handle .md routes in your app -->\n\n<!-- 3. Add <link> tag in your HTML <head>: -->\n<link rel=\"alternate\" type=\"text/markdown\" href=\"/page.md\">\n\n<!-- 4. Add Link HTTP header on HTML responses: -->\n<!-- Link: </page.md>; rel=\"alternate\"; type=\"text/markdown\" -->\n\n<!-- Best practice: include Vary: Accept and X-Markdown-Tokens headers -->\n<!-- on markdown responses -->",
      "filename": "<head> + server config"
    }
  ]
}

Usa la nostra API per ottenere questo programmaticamente (prossimamente)

Questo JSON è per uso interno — a differenza dei file Markdown e llms.txt, non è destinato ad essere caricato sul tuo sito. Salvalo come riferimento per monitorare il tuo punteggio nel tempo, condividilo con il tuo team di sviluppo o integralo nella tua pipeline CI/CD.

Condividi i tuoi risultati

Twitter LinkedIn

Prossimamente: Analisi completa del dominio

Scansiona l'intero dominio, genera llms.txt e monitora il tuo punteggio di prontezza IA nel tempo. Iscriviti alla lista d'attesa.

Sei nella lista! Ti avviseremo quando sarà disponibile.