Certificado AgentReady.md verificado
Emitido el sig: ffd1c5a124bf22f4 Verificar →

URL analizada

https://openai.com/

Analizar otra URL

Puntuación AI-Ready

50 / D

Deficiente

de 100

Ahorro de tokens

Tokens HTML 8600
Tokens Markdown 16
Ahorro 100%

Desglose de la puntuación

HTML semántico 53/100
Eficiencia del contenido 85/100
Visibilidad para IA 50/100
Datos estructurados 0/100
Accesibilidad 38/100

Tu sitio no tiene un archivo llms.txt. Este es el estándar emergente para ayudar a los AI agents a comprender la estructura de tu sitio.

Cómo implementarlo

Crea un archivo /llms.txt siguiendo la especificación de llmstxt.org. Incluye una descripción del sitio y enlaces a tus páginas principales.

Tu página no usa elementos <article> o <main>. Estos contenedores semánticos ayudan a los AI agents a identificar el área de contenido principal e ignorar navegación, barras laterales y pies de página.

Cómo implementarlo

Añade un elemento <main> alrededor del contenido principal de tu página, y usa <article> para bloques de contenido independientes como entradas de blog o descripciones de productos.

Tu página depende en gran medida de elementos <div>. Los elementos semánticos como <section>, <nav>, <header>, <footer> y <aside> proporcionan una estructura significativa para los AI agents.

Cómo implementarlo

Reemplaza los contenedores <div> genéricos con los elementos semánticos apropiados. Usa <section> para grupos temáticos, <nav> para navegación, <header>/<footer> para cabeceras y pies de página o sección.

Tu sitio no soporta Markdown for Agents. Este estándar de Cloudflare permite a los agentes IA solicitar contenido en formato markdown, reduciendo el uso de tokens en ~80%.

Cómo implementarlo

Implementa uno o más: (1) Responder a Accept: text/markdown con contenido markdown. (2) Servir URLs .md (ej: /pagina.md). (3) Añadir etiquetas <link rel="alternate" type="text/markdown">. (4) Añadir cabeceras HTTP Link para descubrimiento markdown.

Muchos elementos tienen atributos de estilo en línea. Estos añaden ruido para los AI agents al extraer contenido.

Cómo implementarlo

Mueve todos los estilos en línea a clases CSS en tu hoja de estilos. Usa frameworks de CSS utilitario como Tailwind si necesitas muchos estilos únicos.

No se encontraron directivas Content-Signal. Estas indican a los agentes IA cómo pueden usar tu contenido (indexación, entrada IA, datos de entrenamiento). La ubicación recomendada es robots.txt.

Cómo implementarlo

Añade Content-Signal a tu robots.txt: User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no. También puedes añadirlo como cabecera HTTP en respuestas markdown.

Tu página requiere JavaScript para renderizar el contenido. La mayoría de los AI agents no ejecutan JavaScript, por lo que ven una página vacía.

Cómo implementarlo

Usa renderizado del lado del servidor (SSR) o generación de sitios estáticos (SSG) para asegurar que el contenido esté disponible en la respuesta HTML inicial.

No se encontraron datos estructurados de Schema.org. JSON-LD ayuda a los AI agents a extraer información factual y estructurada de tus páginas.

Cómo implementarlo

Añade un bloque <script type="application/ld+json"> con marcado Schema.org. Usa los tipos apropiados: Article para entradas de blog, Product para productos, Organization para la página de tu empresa.

Faltan etiquetas Open Graph o están incompletas. Las etiquetas OG ayudan a los AI agents (y plataformas sociales) a comprender el título, la descripción y la imagen de tu página.

Cómo implementarlo

Añade las meta etiquetas og:title, og:description y og:image en el <head> de tu página.

No se encontró meta description. Esta etiqueta proporciona un resumen conciso de la página para AI agents y motores de búsqueda.

Cómo implementarlo

Añade una etiqueta <meta name="description" content="..."> con una descripción de 150-160 caracteres sobre el contenido de la página.

"}] }'>
Tokens Markdown: 16
Verificación correcta. Esperando a que openai.com responda
Un momento…

Verificación correcta. Esperando a que openai.com responda

Sube este archivo como /index.md en tu servidor para que los AI agents puedan acceder a una versión limpia de tu página. También puedes configurar la negociación de contenido Accept: text/markdown para servirlo automáticamente.

llms.txt generado para esta página individual

Descargar llms.txt
# openai.com

> Verificación correcta. Esperando a que openai.com respondaEnable JavaScript and cookies to continue(function(){window._cf_chl_opt = {cvId: '3',cZone: 'openai.com',cType: 'managed',cRay: '9ce3f15a89e40

## Main
- [Un momento…](https://openai.com/): Verificación correcta. Esperando a que openai.com respondaEnable JavaScript and cookies to continue(function(){window._…

El llms.txt completo requiere un análisis de todo el dominio (próximamente)

Sube este archivo a https://openai.com/llms.txt en la raíz de tu dominio. Los AI agents como ChatGPT, Claude y Perplexity consultan este archivo para comprender la estructura de tu sitio.

HTML semántico

Usa elementos article o main (0/100)

Missing <article> and <main> elements

Jerarquía de encabezados correcta (70/100)

no <h1>

Usa elementos HTML semánticos (0/100)

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

Textos alternativos descriptivos en imágenes (100/100)

No images found

Poca profundidad de anidamiento de divs (100/100)

Avg div depth: 4.0, max: 6

Eficiencia del contenido

Buen ratio de reducción de tokens (100/100)

100% token reduction (HTML→Markdown)

Buen ratio de contenido frente a ruido (100/100)

Content ratio: 58.8% (8788 content chars / 14952 HTML bytes)

Estilos en línea mínimos (0/100)

4/33 elements with inline styles (12.1%)

Peso de página razonable (100/100)

HTML size: 15KB

Visibilidad para IA

Tiene archivo llms.txt (0/100)

No llms.txt found

Tiene archivo robots.txt (100/100)

robots.txt exists

robots.txt permite bots de IA (100/100)

All major AI bots allowed

Tiene sitemap.xml (100/100)

Sitemap found

Soporte de Markdown for Agents (0/100)

No markdown content negotiation

Tiene Content-Signal (robots.txt o cabeceras HTTP) (0/100)

No Content-Signal header

Datos estructurados

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

No JSON-LD / Schema.org found

Tiene etiquetas Open Graph (0/100)

0/3 OG tags present

Tiene meta description (0/100)

No meta description

Tiene URL canónica (0/100)

No canonical URL

Tiene atributo lang (0/100)

No lang attribute on <html>

Accesibilidad

Contenido disponible sin JavaScript (20/100)

Content requires JavaScript rendering

Tamaño de página razonable (100/100)

Page size: 15KB

El contenido aparece temprano en el HTML (0/100)

Main content starts at 100% of HTML

{
  "url": "https://openai.com/",
  "timestamp": 1771149467049,
  "fetch": {
    "mode": "rendered",
    "timeMs": 2166,
    "htmlSizeBytes": 14952,
    "supportsMarkdown": false,
    "statusCode": 200
  },
  "extraction": {
    "title": "Un momento…",
    "excerpt": "Verificación correcta. Esperando a que openai.com respondaEnable JavaScript and cookies to continue(function(){window._cf_chl_opt = {cvId: '3',cZone: 'openai.com',cType: 'managed',cRay: '9ce3f15a89e40",
    "byline": null,
    "siteName": null,
    "lang": null,
    "contentLength": 8788,
    "metadata": {
      "description": null,
      "ogTitle": null,
      "ogDescription": null,
      "ogImage": null,
      "ogType": null,
      "canonical": null,
      "lang": null,
      "schemas": [],
      "robotsMeta": null,
      "author": null,
      "generator": null
    }
  },
  "markdown": "Verificación correcta. Esperando a que openai.com responda\n",
  "fullPageMarkdown": "Un momento…\n\nVerificación correcta. Esperando a que openai.com responda\n",
  "markdownStats": {
    "images": 0,
    "links": 0,
    "tables": 0,
    "codeBlocks": 0,
    "headings": 0
  },
  "tokens": {
    "htmlTokens": 8600,
    "markdownTokens": 16,
    "reduction": 8584,
    "reductionPercent": 100
  },
  "score": {
    "score": 50,
    "grade": "D",
    "dimensions": {
      "semanticHtml": {
        "score": 53,
        "weight": 20,
        "grade": "D",
        "checks": {
          "uses_article_or_main": {
            "score": 0,
            "weight": 20,
            "details": "Missing <article> and <main> elements"
          },
          "proper_heading_hierarchy": {
            "score": 70,
            "weight": 25,
            "details": "no <h1>"
          },
          "semantic_elements": {
            "score": 0,
            "weight": 20,
            "details": "0 semantic elements, 16 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: 4.0, max: 6"
          }
        }
      },
      "contentEfficiency": {
        "score": 85,
        "weight": 25,
        "grade": "B",
        "checks": {
          "token_reduction_ratio": {
            "score": 100,
            "weight": 40,
            "details": "100% token reduction (HTML→Markdown)"
          },
          "content_to_noise_ratio": {
            "score": 100,
            "weight": 30,
            "details": "Content ratio: 58.8% (8788 content chars / 14952 HTML bytes)"
          },
          "minimal_inline_styles": {
            "score": 0,
            "weight": 15,
            "details": "4/33 elements with inline styles (12.1%)"
          },
          "reasonable_page_weight": {
            "score": 100,
            "weight": 15,
            "details": "HTML size: 15KB"
          }
        }
      },
      "aiDiscoverability": {
        "score": 50,
        "weight": 25,
        "grade": "D",
        "checks": {
          "has_llms_txt": {
            "score": 0,
            "weight": 25,
            "details": "No llms.txt found"
          },
          "has_robots_txt": {
            "score": 100,
            "weight": 15,
            "details": "robots.txt exists"
          },
          "robots_allows_ai_bots": {
            "score": 100,
            "weight": 20,
            "details": "All major AI bots allowed"
          },
          "has_sitemap": {
            "score": 100,
            "weight": 15,
            "details": "Sitemap found"
          },
          "supports_markdown_negotiation": {
            "score": 0,
            "weight": 15,
            "details": "No markdown content negotiation"
          },
          "has_content_signals": {
            "score": 0,
            "weight": 10,
            "details": "No Content-Signal header"
          }
        }
      },
      "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": 38,
        "weight": 15,
        "grade": "F",
        "checks": {
          "content_without_js": {
            "score": 20,
            "weight": 40,
            "details": "Content requires JavaScript rendering"
          },
          "reasonable_page_size": {
            "score": 100,
            "weight": 30,
            "details": "Page size: 15KB"
          },
          "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": "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, 16 divs (ratio: 0%)"
    },
    {
      "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": 4,
      "checkScore": 0,
      "checkDetails": "No markdown content negotiation"
    },
    {
      "id": "remove_inline_styles",
      "priority": "critical",
      "category": "contentEfficiency",
      "titleKey": "rec.remove_inline_styles.title",
      "descriptionKey": "rec.remove_inline_styles.description",
      "howToKey": "rec.remove_inline_styles.howto",
      "effort": "moderate",
      "estimatedImpact": 3,
      "checkScore": 0,
      "checkDetails": "4/33 elements with inline styles (12.1%)"
    },
    {
      "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": "moderate",
      "estimatedImpact": 3,
      "checkScore": 0,
      "checkDetails": "No Content-Signal header"
    },
    {
      "id": "provide_content_without_js",
      "priority": "high",
      "category": "accessibility",
      "titleKey": "rec.provide_content_without_js.title",
      "descriptionKey": "rec.provide_content_without_js.description",
      "howToKey": "rec.provide_content_without_js.howto",
      "effort": "significant",
      "estimatedImpact": 10,
      "checkScore": 20,
      "checkDetails": "Content requires JavaScript rendering"
    },
    {
      "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"
    },
    {
      "id": "add_open_graph",
      "priority": "high",
      "category": "structuredData",
      "titleKey": "rec.add_open_graph.title",
      "descriptionKey": "rec.add_open_graph.description",
      "howToKey": "rec.add_open_graph.howto",
      "effort": "quick-win",
      "estimatedImpact": 4,
      "checkScore": 0,
      "checkDetails": "0/3 OG tags present"
    },
    {
      "id": "add_meta_description",
      "priority": "high",
      "category": "structuredData",
      "titleKey": "rec.add_meta_description.title",
      "descriptionKey": "rec.add_meta_description.description",
      "howToKey": "rec.add_meta_description.howto",
      "effort": "quick-win",
      "estimatedImpact": 4,
      "checkScore": 0,
      "checkDetails": "No meta description"
    }
  ],
  "llmsTxtPreview": "# openai.com\n\n> Verificación correcta. Esperando a que openai.com respondaEnable JavaScript and cookies to continue(function(){window._cf_chl_opt = {cvId: '3',cZone: 'openai.com',cType: 'managed',cRay: '9ce3f15a89e40\n\n## Main\n- [Un momento…](https://openai.com/): Verificación correcta. Esperando a que openai.com respondaEnable JavaScript and cookies to continue(function(){window._…\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": "# openai.com\n\n> Verificación correcta. Esperando a que openai.com respondaEnable JavaScript and cookies to continue(function(){window._cf_chl_opt = {cvId: '3',cZone: 'openai.com',cType: 'managed',cRay: '9ce3f15a89e40\n\n## Main\n- [Un momento…](https://openai.com/): Verificación correcta. Esperando a que openai.com respondaEnable JavaScript and cookies to continue(function(){window._…\n\n",
      "filename": "/llms.txt"
    },
    {
      "id": "add_open_graph",
      "title": "Add missing Open Graph tags",
      "description": "These tags control how your page looks when shared on social media and some AI platforms.",
      "language": "html",
      "code": "<meta property=\"og:title\" content=\"Un momento…\">\n<meta property=\"og:description\" content=\"Page description.\">\n<meta property=\"og:image\" content=\"https://yoursite.com/og-image.jpg\">\n<meta property=\"og:url\" content=\"https://openai.com/\">\n<meta property=\"og:type\" content=\"website\">",
      "filename": "<head>"
    },
    {
      "id": "add_meta_description",
      "title": "Add meta description",
      "description": "A good meta description (50-160 characters) helps AI agents understand your page quickly.",
      "language": "html",
      "code": "<meta name=\"description\" content=\"Verificación correcta. Esperando a que openai.com respondaEnable JavaScript and cookies to continue(function(){window._cf_chl_opt = {cvId: '3',cZone: 'openai...\">",
      "filename": "<head>"
    },
    {
      "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\": \"Un momento…\",\n  \"description\": \"Page description.\",\n  \"url\": \"https://openai.com/\",\n  \"inLanguage\": \"en\"\n}\n</script>",
      "filename": "<head>"
    },
    {
      "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 HTTP header",
      "description": "The Content-Signal header tells AI agents about the nature of your content. Add it via your web server or CDN.",
      "language": "nginx",
      "code": "# Nginx — add to your server block:\nadd_header Content-Signal \"type=website; lang=en\" always;\n\n# Apache — add to .htaccess:\n# Header set Content-Signal \"type=website; lang=en\"",
      "filename": "nginx.conf or .htaccess"
    },
    {
      "id": "add_markdown_negotiation",
      "title": "Support Accept: text/markdown",
      "description": "When a client sends Accept: text/markdown, respond with a Markdown version of the page. This is the gold standard for AI-readiness.",
      "language": "nginx",
      "code": "# Nginx — serve .md files when client requests Markdown:\n# Option 1: Serve pre-generated .md files\nmap $http_accept $markdown_suffix {\n  default \"\";\n  \"~text/markdown\" \".md\";\n}\n\n# Then in your location block:\ntry_files $uri$markdown_suffix $uri =404;\n\n# Option 2: Use your app framework to check the Accept header\n# and return Markdown content with Content-Type: text/markdown",
      "filename": "nginx.conf or application code"
    }
  ]
}

Usa nuestra API para obtener esto de forma programática (próximamente)

Este JSON es para uso interno — a diferencia del Markdown y llms.txt, no está pensado para subirse a tu web. Guárdalo como referencia para seguir la evolución de tu puntuación, compártelo con tu equipo de desarrollo o intégralo en tu pipeline CI/CD.

Comparte tus resultados

Twitter LinkedIn

Incrusta tu badge

Añade este badge a tu sitio. Se actualiza automáticamente cuando cambie tu puntuación.

AgentReady.md score for openai.com
Script Recomendado
<script src="https://agentready.md/badge.js" data-id="032ba0a3-850f-483d-9db7-37d215c18aec" data-domain="openai.com"></script>
Markdown
[![AgentReady.md score for openai.com](https://agentready.md/badge/openai.com.svg)](https://agentready.md/es/r/032ba0a3-850f-483d-9db7-37d215c18aec)

Próximamente: Análisis de dominio completo

Rastrea todo tu dominio, genera llms.txt y monitoriza tu puntuación de preparación para IA a lo largo del tiempo. Únete a la lista de espera para recibir notificaciones.

¡Estás en la lista! Te avisaremos cuando se lance.