---
title: "Agent Readability Checker: llms.txt, robots.txt, JSON-LD"
canonical: https://wavect.io/es/tools/agent-readability-checker/
language: es
description: "Comprobación gratuita de visibilidad en IA, íntegramente en tu navegador. Pega robots.txt, llms.txt, un espejo en Markdown o el HTML de una página y obtén 42 comprobaciones deterministas sobre si los motores de respuestas pueden leerte y citarte."
image: "https://wavect.io/img/general/bak/open_graph_preview.jpg"
---

VISIBILIDAD EN IA, COMPROBADA EN TU NAVEGADOR

# Descubre si un motor de respuestas puede leerte, sin pagar una auditoría.

Pega un archivo. La herramienta ejecuta las mismas reglas de espejo que hacen fallar el build de producción de esta web, y devuelve una puntuación, la línea de evidencia de cada hallazgo y la corrección. No descarga nada y no sube nada.

[Ejecutar la comprobación](#tool-app) [Cómo funciona](https://github.com/wavect/agent-readability-checker)

- Reglas 42 comprobaciones deterministas
- Procesamiento Local y sin conexión
- Entradas robots.txt, llms.txt, Markdown, HTML
- Veredicto Evidencia, no promesas de ranking

**LEGIBILIDAD**

ROBOTS.TXT · PEGADO **48/100 · irregular**

Análisis local · nada descargado

LA RESPUESTA DIRECTA

Para comprobar si los motores de respuestas con IA pueden citar tu sitio, verifica cuatro cosas: que los fetchers de recuperación como OAI-SearchBot, PerplexityBot y Claude-User no estén bloqueados en robots.txt, que exista una copia limpia en Markdown o llms.txt y esté anunciada en la cabecera de la página, que tu JSON-LD sea válido y nombre a la organización detrás de la página, y que el HTML que sirves ya contenga el texto en lugar de cargarlo con JavaScript. Esta herramienta comprueba los cuatro puntos a partir de un archivo que pegas. No puede demostrar que un asistente vaya a citarte.

COMPRUEBA EL ARCHIVO QUE REALMENTE SIRVES

## Banco de legibilidad para agentes

Pega el archivo completo, no un fragmento. Descarga la URL con curl y pega el cuerpo de la respuesta, para comprobar lo que recibe un fetcher y no lo que te muestra tu CMS.

Nada sale de esta pestaña

**Banco de legibilidad para agentes** Estático · determinista · local en el navegador

Cargar ejemplo Comprobar en local

01

### Contenido del archivo

Esperando entrada

Tipo de archivo Detectar automáticamenterobots.txtllms.txtEspejo en MarkdownHTML de la página Contenido del archivo

Atajo: Ctrl o Command + Enter. Entrada máxima: 400.000 caracteres.

02

### Hallazgos

Sin comprobar

Pega un archivo completo para ver la puntuación, las reglas que fallan y la línea de evidencia de cada una.

Puntuación de legibilidad

03

### Evidencia y exportaciones

La puntuación mide si los agentes pueden leer este archivo. No predice que un asistente vaya a citarte.

El análisis se queda en esta pestaña Nunca se solicita ninguna URL Sin subida y sin persistencia Core v0.1.4

TRES MOVIMIENTOS

## Comprueba lo que recibe un fetcher, no lo que previsualiza tu CMS.

Son archivos distintos más a menudo de lo que la gente espera, y en esa diferencia es donde la visibilidad en IA muere en silencio.

1. 01 - **Consigue el archivo real** - Descarga con curl tu robots.txt, tu llms.txt, tu espejo en Markdown o la URL de la página y copia el cuerpo de la respuesta. Una previsualización dentro del CMS la renderiza tu CMS, no se sirve a un crawler.
2. 02 - **Pega y comprueba en local** - La herramienta deduce cuál de los cuatro tipos de archivo has pegado, ejecuta solo las reglas que le aplican e imprime la línea que disparó cada hallazgo.
3. 03 - **Corrige primero los críticos** - Exporta el informe en JSON o Markdown y empieza por arriba. Los críticos son los hallazgos que te sacan de las respuestas por completo, y rara vez hay más de dos.

LEE LA EVIDENCIA, NO UNA PUNTUACIÓN MÁGICA

## Tres resultados que vale la pena entender

Los casos interesantes son los archivos que parecen cuidados y no lo son.

Parece deliberado y lo bloquea todo `User-agent: GPTBot Disallow: / User-agent: * Disallow: /` **AR103 crítico**

Bloquear GPTBot es una exclusión del entrenamiento. El comodín de debajo se lleva con él a todos los fetchers de motores de respuestas, porque un crawler sin grupo propio hereda el comodín.

Entrenamiento bloqueado a propósito `User-agent: CCBot Disallow: / Sitemap: https://example.com/sitemap.xml` **AR104 bajo, puntuación 98**

La misma forma sin el comodín. Excluirse del entrenamiento es una decisión de licencia, así que se informa y no hunde la nota.

llms.txt con enlaces relativos `- [Fractional CTO](/services/fractional-cto-austria/): liderazgo` **AR204 alto**

El llms.txt se descarga y circula separado de la página de la que salió, así que no queda ninguna URL base contra la que resolver. Enlaces absolutos o nada.

POR QUÉ PODEMOS AFIRMARLO

## Estas reglas ya se ejecutan contra nuestro propio sitio en cada build.

Las reglas del espejo en Markdown están portadas del verificador que hace fallar el build de producción de esta web. No describimos una buena práctica que hayamos leído en algún sitio. Te entregamos la puerta que nosotros mismos tenemos que pasar.

### Portadas, no inventadas

Las reglas del espejo vienen de scripts/verify_machine_markdown.mjs en el repositorio de esta web. Si alguna es incorrecta, nuestros despliegues se rompen antes que tu auditoría.

### Recuperación y entrenamiento son preguntas distintas

Bloquear GPTBot te excluye del entrenamiento de modelos. Bloquear OAI-SearchBot te saca de las respuestas. La mayoría de los robots.txt tratan esto como una sola decisión, así que la herramienta lo puntúa por separado.

### Evidencia antes que puntuación

Cada hallazgo imprime la línea que lo disparó y la corrección. Un número que no puedes auditar es un instrumento de venta, no un diagnóstico.

### Sin descargas, por diseño

La herramienta nunca solicita una URL. Tus hosts de staging y tus rutas internas se quedan fuera de todos los registros, incluidos los nuestros.

LÍMITES HONESTOS

## Lo que una comprobación estática no puede decirte

- Lee un archivo pegado. No rastrea tu sitio, no sigue enlaces y no compara páginas entre sí.
- Un resultado limpio significa que nada impide a un agente leer esta entrada. No predice que un asistente vaya a citarte.
- El robots.txt es una petición. Los fetchers que se portan bien lo respetan y otros lo ignoran, así que un archivo permisivo tampoco es una garantía.
- Los hallazgos marcados como heurística se deducen de la forma del archivo y no están demostrados. Confírmalos a mano.
- Los nombres de los crawlers cambian. Las listas de agentes son correctas en la versión del core que se muestra y habrá que actualizarlas con el tiempo.

## Preguntas sobre el comprobador de legibilidad

### ¿Es lo mismo que una auditoría SEO?

No. Una auditoría SEO pregunta si posicionas. Esto plantea una pregunta más estrecha y más mecánica: si un agente puede descargar este archivo, interpretarlo y atribuirlo a ti. Esas comprobaciones son deterministas, por eso una herramienta puede responderlas y por eso es posible una puntuación que puedas auditar.

### ¿Por qué no descarga directamente mi URL?

Porque un navegador no puede descargar un sitio ajeno sin un proxy, y montar uno implicaría que tus URLs, tus hosts de staging y tus rutas internas pasen por nuestra infraestructura. Todas las herramientas que publicamos mantienen la entrada en tu pestaña, así que pegar es la versión honesta de esta herramienta y no la limitada.

### ¿Debería bloquear GPTBot?

Es una decisión de licencia, no de visibilidad, y la herramienta lo trata así. Bloquear GPTBot o CCBot te excluye de los datos de entrenamiento. No te saca de las respuestas de ChatGPT ni de Perplexity, porque las sirven fetchers de recuperación distintos. Bloquear esos fetchers de recuperación es lo que te saca de las respuestas.

### ¿Necesito un archivo llms.txt?

No es un estándar y ningún motor está obligado a leerlo. Es barato de publicar y le da a un agente un mapa limpio en lugar de tu navegación renderizada, así que nosotros mantenemos uno. Si publicas uno, vale la pena pasar las reglas de aquí, empezando por las URLs absolutas.

### ¿Qué significa la puntuación exactamente?

Empieza en 100 y descuenta por hallazgo, ponderado por severidad, de modo que un crítico no se compensa con un montón de reglas superadas. Mide la legibilidad para máquinas del archivo que has pegado. No es una predicción, ni un ranking, ni una certificación.

### ¿Podéis corregir los hallazgos por nosotros?

Sí, ese es el servicio que hay detrás de la herramienta. El comprobador es deliberadamente completo por sí solo, así que puedes ejecutarlo, leer la evidencia y pasarle el informe a quien quieras, incluido tu equipo actual.

SOPORTE Y SEGURIDAD

## Informa de una regla incorrecta

Una regla que salta con una salida correcta es un error y queremos saberlo. Abre un issue con la entrada que la disparó. Si encuentras algo con impacto de seguridad, repórtalo en privado.

[Abrir un issue](https://github.com/wavect/agent-readability-checker/issues) [Reportar en privado](https://github.com/wavect/agent-readability-checker/security)

GRATIS · CÓDIGO ABIERTO · NADA SALE DE TU PESTAÑA

## Pásalo primero por tu robots.txt.

Ese único archivo decide si lo demás importa. Si ahí hay un fetcher de recuperación bloqueado, ninguna cantidad de datos estructurados conseguirá que te citen.

[Volver al comprobador](#tool-app) [Ver el código](https://github.com/wavect/agent-readability-checker)

## Structured Data

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/#organization",
      "@type": [
        "Organization",
        "ProfessionalService",
        "LocalBusiness"
      ],
      "employee": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "founder": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "legalRepresentative": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "name": "Wavect GmbH",
      "subjectOf": {
        "@id": "https://wavect.io/verified-claims.json#dataset",
        "@type": "Dataset",
        "creator": {
          "@id": "https://wavect.io/#organization",
          "@type": [
            "Organization",
            "ProfessionalService",
            "LocalBusiness"
          ]
        },
        "description": "A machine-readable registry of quantitative and qualitative claims published by Wavect, with review dates, localized page appearances and public third-party citations where available.",
        "inLanguage": "en",
        "isAccessibleForFree": true,
        "license": "https://creativecommons.org/licenses/by/4.0/",
        "name": "Wavect verified publication claims",
        "url": "https://wavect.io/verified-claims.json"
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/team/kevin-riedl/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Kevin Riedl",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796365",
        "https://www.linkedin.com/in/wsdt",
        "https://github.com/wsdt"
      ],
      "url": "https://wavect.io/team/kevin-riedl/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/team/christof-jori/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Christof Jori",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796367",
        "https://www.linkedin.com/in/jocr77/",
        "https://github.com/jo-chris"
      ],
      "url": "https://wavect.io/team/christof-jori/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/#website",
      "@type": "WebSite",
      "inLanguage": [
        "en",
        "de",
        "es",
        "zh"
      ],
      "name": "Wavect",
      "potentialAction": {
        "@type": "SearchAction",
        "query-input": "required name=search_term_string",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://wavect.io/search/?q={search_term_string}"
        }
      },
      "publisher": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/es/tools/agent-readability-checker/#webpage",
      "@type": "WebPage",
      "dateModified": "2026-08-18",
      "inLanguage": "es",
      "isPartOf": {
        "@id": "https://wavect.io/#website",
        "@type": "WebSite"
      },
      "lastReviewed": "2026-08-18",
      "url": "https://wavect.io/es/tools/agent-readability-checker/"
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "SoftwareApplication",
  "applicationCategory": "DeveloperApplication",
  "browserRequirements": "Navegador con JavaScript activado",
  "codeRepository": "https://github.com/wavect/agent-readability-checker",
  "description": "Comprobación gratuita de visibilidad en IA, íntegramente en tu navegador. Pega robots.txt, llms.txt, un espejo en Markdown o el HTML de una página y obtén 42 comprobaciones deterministas sobre si los motores de respuestas pueden leerte y citarte.",
  "isAccessibleForFree": true,
  "name": "Agent Readability Checker",
  "offers": {
    "@type": "Offer",
    "price": "0",
    "priceCurrency": "EUR"
  },
  "operatingSystem": "Cualquier navegador moderno",
  "softwareVersion": "0.1.4",
  "url": "https://wavect.io/es/tools/agent-readability-checker/"
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "item": "https://wavect.io/es/",
      "name": "Inicio",
      "position": 1
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/es/tools/",
      "name": "Pequeñas herramientas para tareas que no deberían seguir molestando.",
      "position": 2
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/es/tools/agent-readability-checker/",
      "name": "Agent Readability Checker",
      "position": 3
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "No. Una auditoría SEO pregunta si posicionas. Esto plantea una pregunta más estrecha y más mecánica: si un agente puede descargar este archivo, interpretarlo y atribuirlo a ti. Esas comprobaciones son deterministas, por eso una herramienta puede responderlas y por eso es posible una puntuación que puedas auditar."
      },
      "name": "¿Es lo mismo que una auditoría SEO?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Porque un navegador no puede descargar un sitio ajeno sin un proxy, y montar uno implicaría que tus URLs, tus hosts de staging y tus rutas internas pasen por nuestra infraestructura. Todas las herramientas que publicamos mantienen la entrada en tu pestaña, así que pegar es la versión honesta de esta herramienta y no la limitada."
      },
      "name": "¿Por qué no descarga directamente mi URL?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Es una decisión de licencia, no de visibilidad, y la herramienta lo trata así. Bloquear GPTBot o CCBot te excluye de los datos de entrenamiento. No te saca de las respuestas de ChatGPT ni de Perplexity, porque las sirven fetchers de recuperación distintos. Bloquear esos fetchers de recuperación es lo que te saca de las respuestas."
      },
      "name": "¿Debería bloquear GPTBot?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "No es un estándar y ningún motor está obligado a leerlo. Es barato de publicar y le da a un agente un mapa limpio en lugar de tu navegación renderizada, así que nosotros mantenemos uno. Si publicas uno, vale la pena pasar las reglas de aquí, empezando por las URLs absolutas."
      },
      "name": "¿Necesito un archivo llms.txt?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Empieza en 100 y descuenta por hallazgo, ponderado por severidad, de modo que un crítico no se compensa con un montón de reglas superadas. Mide la legibilidad para máquinas del archivo que has pegado. No es una predicción, ni un ranking, ni una certificación."
      },
      "name": "¿Qué significa la puntuación exactamente?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Sí, ese es el servicio que hay detrás de la herramienta. El comprobador es deliberadamente completo por sí solo, así que puedes ejecutarlo, leer la evidencia y pasarle el informe a quien quieras, incluido tu equipo actual."
      },
      "name": "¿Podéis corregir los hallazgos por nosotros?"
    }
  ],
  "speakable": {
    "@type": "SpeakableSpecification",
    "cssSelector": [
      ".faq-question",
      ".faq-answer"
    ]
  }
}
```
