URL analysée
https://password.es/
Mesuré il y a 3 jours
Score AI-Ready
Bon
sur 100
Économie de tokens
Détail du score
Protocoles émergents
0 sur 6 détectésEndpoints well-known recherchés par les agents IA. Détecté signifie qu’un agent peut découvrir et se connecter automatiquement à votre service.
-
OAuth Protected Resource RFC 9728
/.well-known/oauth-protected-resource -
OAuth Discovery RFC 8414
/.well-known/oauth-authorization-server -
MCP Server Card SEP-1649 draft
/.well-known/mcp/server-card.json -
A2A Agent Card A2A v1.0
/.well-known/agent-card.json -
API Catalog RFC 9727
/.well-known/api-catalog -
Agent Skills index Discovery RFC v0.2.0 draft
/.well-known/agent-skills/index.json
Cela ne reste pas en place. La surveillance n'existe pas encore : inscrivez-vous, on vous préviendra.
Vous êtes sur la liste ! Nous vous préviendrons lors du lancement.
Ce que nous avons mesuré No JSON-LD / Schema.org found
Aucune donnée structurée Schema.org trouvée. JSON-LD aide les AI agents à extraire des informations factuelles et structurées de vos pages.
Comment implémenter
Ajoutez un bloc <script type="application/ld+json"> avec du balisage Schema.org. Utilisez les types appropriés : Article pour les billets de blog, Product pour les produits, Organization pour la page de votre entreprise.
Ce que nous avons mesuré No Markdown for Agents support detected
Votre site ne supporte pas Markdown for Agents. Ce standard Cloudflare permet aux agents IA de demander du contenu en format markdown, réduisant l'utilisation de tokens de ~80%.
Comment implémenter
Implémentez un ou plusieurs : (1) Répondre à Accept: text/markdown avec du contenu markdown. (2) Servir des URLs .md (ex : /page.md). (3) Ajouter des balises <link rel="alternate" type="text/markdown">. (4) Ajouter des en-têtes HTTP Link pour la découverte markdown.
Ce que nous avons mesuré Content ratio: 4.0% (1780 content chars / 44357 HTML bytes)
Votre page a un faible ratio de contenu réel par rapport au HTML total. Une grande partie du poids de la page est du balisage, des scripts ou des styles plutôt que du contenu.
Comment implémenter
Déplacez le CSS vers des feuilles de style externes, supprimez les styles en ligne, minimisez le JavaScript et assurez-vous que le HTML se concentre sur la structure du contenu.
Ce que nous avons mesuré No llms.txt found
Votre site n’a pas de fichier llms.txt. C’est le standard émergent pour aider les AI agents à comprendre la structure de votre site.
Comment implémenter
Créez un fichier /llms.txt en suivant la spécification de llmstxt.org. Incluez une description du site et des liens vers vos pages principales.
Ce que nous avons mesuré No Content-Signal found (robots.txt or HTTP headers)
Aucune directive Content-Signal trouvée. Celles-ci indiquent aux agents IA comment ils peuvent utiliser votre contenu (indexation, entrée IA, données d'entraînement). L'emplacement recommandé est robots.txt.
Comment implémenter
Ajoutez Content-Signal à votre robots.txt : User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no. Vous pouvez aussi l'ajouter comme en-tête HTTP sur les réponses markdown.
## Genera contraseñas seguras al instante
Crea contraseñas fuertes, aleatorias y personalizables. Todo se genera en tu navegador, sin enviar datos a ningún servidor.
Longitud
16
Cuanto más larga es una contraseña, más segura se vuelve. Recomendamos un mínimo de 12 caracteres para servicios críticos.
0 peticiones de red para generar una contraseña. Todo ocurre en tu navegador con `crypto.getRandomValues()`.
— ha tardado en generarse la contraseña de arriba, medido en tu propio dispositivo.
4–64 caracteres, y cuatro alfabetos que activas por separado. Tú eliges la forma.
## Cómo aprovechar el generador de contraseñas
1. ### Personaliza
Rellena las opciones avanzadas para indicar qué caracteres quieres incluir y la longitud deseada. La cifra de entropía se recalcula mientras lo haces.
2. ### Genera
Pulsa en Generar nueva contraseña y obtendrás una clave única. Activa JavaScript en tu navegador para que el generador funcione.
3. ### Copia y guarda
Copia la contraseña al portapapeles y guárdala en el gestor de tu preferencia.
Puedes comprobar tu contraseña y medir su fortaleza con el [comprobador de contraseñas](https://password.es/comprobador/). Protege tus accesos online utilizando contraseñas diferentes en cada servicio, habilitando la verificación en dos pasos siempre que sea posible y almacenando las claves en un gestor seguro.
## Descubre cómo hacerlo todavía mejor
## Sube el listón de la seguridad
password.es · Generador de contraseñas seguras online
[password.es](https://password.es/)
Español
Modo claro
# Genera contraseñas seguras al instante
Crea contraseñas fuertes, aleatorias y personalizables. Todo se genera en tu navegador, sin enviar datos a ningún servidor.
Longitud
16
416324864
Cuanto más larga es una contraseña, más segura se vuelve. Recomendamos un mínimo de 12 caracteres para servicios críticos.
Tipos de caracteres
a–zMinúsculas A–ZMayúsculas 0–9Números !@#$%&\*Símbolos
Más opciones
l I 1 O 0Excluir ambiguos aa → abSin dos iguales seguidos
Generar nueva contraseña
0 bits
de entropía. Es la medida de cuánto tendría que adivinar alguien que no sabe nada de tu contraseña.
••••• Media
Alfabeto
0
símbolos
Longitud
0
caracteres
Combinaciones
0
posibles
Fuerza bruta
0
años
La fuerza bruta se estima a **1012 intentos por segundo**, el orden de magnitud de un ataque *offline* contra un hash rápido, y asume que el atacante conoce tu alfabeto y tu longitud. Contra un hash lento — `bcrypt`, `Argon2` — la cifra sube muchos órdenes de magnitud.
0 peticiones de red para generar una contraseña. Todo ocurre en tu navegador con `crypto.getRandomValues()`.
— ha tardado en generarse la contraseña de arriba, medido en tu propio dispositivo.
4–64 caracteres, y cuatro alfabetos que activas por separado. Tú eliges la forma.
## Cómo aprovechar el generador de contraseñas
1. 01
### Personaliza
Rellena las opciones avanzadas para indicar qué caracteres quieres incluir y la longitud deseada. La cifra de entropía se recalcula mientras lo haces.
2. 02
### Genera
Pulsa en Generar nueva contraseña y obtendrás una clave única. Activa JavaScript en tu navegador para que el generador funcione.
3. 03
### Copia y guarda
Copia la contraseña al portapapeles y guárdala en el gestor de tu preferencia.
Puedes comprobar tu contraseña y medir su fortaleza con el [comprobador de contraseñas](https://password.es/comprobador/). Protege tus accesos online utilizando contraseñas diferentes en cada servicio, habilitando la verificación en dos pasos siempre que sea posible y almacenando las claves en un gestor seguro.
[Comprueba la fortaleza de tu contraseña Analiza la seguridad de cualquier contraseña al instante →](https://password.es/comprobador/) [Protege tu navegación con un VPN Cifra tu conexión y navega de forma anónima ↗](https://go.nordvpn.net/aff_c?offer_id=15&aff_id=36296&url_id=3115) [Analiza tu velocidad de conexión Mide la velocidad real de tu acceso a Internet ↗](https://pruebavelocidad.com/) [Crea códigos QR gratuitos Genera códigos QR para enlaces, textos y más ↗](https://face.co/qrcode/)
## Descubre cómo hacerlo todavía mejor
[Comprobador de seguridad Te decimos qué tan fuerte es tu contraseña y qué trucos básicos debes aplicar para mejorarla al instante. →](https://password.es/comprobador/) [Educación Consejos para crear contraseñas seguras. Descubre buenas prácticas para proteger tus cuentas y por qué el generador es tu mejor aliado. →](https://password.es/educacion/) [Comparativas Diferencias entre 1Password, Bitwarden, LastPass y otros gestores de contraseñas: conoce qué aporta un gestor dedicado frente a las soluciones del navegador. →](https://password.es/comparativa/) [FAQ ¿Cómo funciona el generador de contraseñas aleatorias? ¿Qué hace que una contraseña sea segura y cómo consigue la herramienta crear una combinación única cada vez? →](https://password.es/faq/)
## Sube el listón de la seguridad
[Seguridad de conocimiento cero Nadie tiene acceso a tu información, ni tan siquiera nosotros: no guardamos contraseñas generadas. Si usas un gestor, asegúrate de que cuente con cifrado seguro. →](https://password.es/seguridad/) [Amenazas digitales bajo control Un buen gestor de contraseñas te avisa inmediatamente en caso de exposición de tus datos online gracias a la función de supervisión de robos de datos. →](https://password.es/amenazas-digitales/) [Hábitos más seguros Un buen gestor de contraseñas te ayuda a detectar y actualizar contraseñas poco seguras y reutilizadas con nuestro generador de contraseñas. →](https://password.es/habitos-seguros/) [Autenticación multifactor Introduce un mecanismo de autenticación adicional, como un código de un solo uso o la huella dactilar, para proteger tu cuenta de los hackers. →](https://password.es/2fa/)
Téléversez ce fichier sous /index.md sur votre serveur pour que les AI agents puissent accéder à une version propre de votre page. Vous pouvez également configurer la négociation de contenu Accept: text/markdown pour le servir automatiquement.
llms.txt généré pour cette page individuelle
# password.es > password.es – Genera contraseñas seguras online y gratis. Personaliza la longitud, los tipos de caracteres y copia tu clave al instante. ## Documentation - [FAQ](https://password.es/faq/) ## Main - [Genera contraseñas seguras online de forma automática y gratuita](https://password.es/): password.es – Genera contraseñas seguras online y gratis. Personaliza la longitud, los tipos de caracteres y copia tu c… - [Comprobador](https://password.es/comprobador/) - [Educación](https://password.es/educacion/) - [Comparativas](https://password.es/comparativa/) - [English](https://password.es/en/) - [Nederlands](https://password.es/nl/) - [Deutsch](https://password.es/de/) - [Français](https://password.es/fr/) - [Italiano](https://password.es/it/) ## Support - [FAQ](https://password.es/faq/)
Le llms.txt complet nécessite une analyse de tout le domaine (bientôt disponible)
Téléversez ce fichier vers https://password.es/llms.txt à la racine de votre domaine. Les AI agents comme ChatGPT, Claude et Perplexity consultent ce fichier pour comprendre la structure de votre site.
Accessibilité
Content available without JavaScript
Main content starts at 16% of HTML
Page size: 43KB
Visibilité IA
All major AI search bots allowed
Sitemap found
robots.txt exists
No llms.txt found
Données structurées
No JSON-LD / Schema.org found
All OG tags present
Meta description: 136 chars
Canonical URL present
lang="es"
HTML sémantique
Clean heading hierarchy
Has <main>
16 semantic elements, 36 divs (ratio: 31%)
No images found
Avg div depth: 1.6, max: 4
Efficacité du contenu
97% token reduction (HTML→Markdown)
Content ratio: 4.0% (1780 content chars / 44357 HTML bytes)
HTML size: 43KB
0/381 elements with inline styles (0.0%)
{
"url": "https://password.es/",
"timestamp": 1784278747199,
"fetch": {
"mode": "simple",
"timeMs": 144,
"htmlSizeBytes": 44357,
"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": "Genera contraseñas seguras online de forma automática y gratuita",
"excerpt": "password.es – Genera contraseñas seguras online y gratis. Personaliza la longitud, los tipos de caracteres y copia tu clave al instante.",
"byline": "password.es",
"siteName": "password.es",
"lang": "es",
"contentLength": 1780,
"metadata": {
"description": "password.es – Genera contraseñas seguras online y gratis. Personaliza la longitud, los tipos de caracteres y copia tu clave al instante.",
"ogTitle": "Genera contraseñas seguras online de forma automática y gratuita",
"ogDescription": "password.es – Genera contraseñas seguras online y gratis. Personaliza la longitud, los tipos de caracteres y copia tu clave al instante.",
"ogImage": "https://password.es/assets/images/favicon.png",
"ogType": "website",
"canonical": "https://password.es/",
"lang": "es",
"schemas": [],
"robotsMeta": null,
"author": "password.es",
"generator": null,
"markdownAlternateHref": null
}
},
"markdown": "## Genera contraseñas seguras al instante\n\nCrea contraseñas fuertes, aleatorias y personalizables. Todo se genera en tu navegador, sin enviar datos a ningún servidor.\n\nLongitud\n\n16\n\nCuanto más larga es una contraseña, más segura se vuelve. Recomendamos un mínimo de 12 caracteres para servicios críticos.\n\n0 peticiones de red para generar una contraseña. Todo ocurre en tu navegador con `crypto.getRandomValues()`.\n\n— ha tardado en generarse la contraseña de arriba, medido en tu propio dispositivo.\n\n4–64 caracteres, y cuatro alfabetos que activas por separado. Tú eliges la forma.\n\n## Cómo aprovechar el generador de contraseñas\n\n1. ### Personaliza\n\n Rellena las opciones avanzadas para indicar qué caracteres quieres incluir y la longitud deseada. La cifra de entropía se recalcula mientras lo haces.\n\n2. ### Genera\n\n Pulsa en Generar nueva contraseña y obtendrás una clave única. Activa JavaScript en tu navegador para que el generador funcione.\n\n3. ### Copia y guarda\n\n Copia la contraseña al portapapeles y guárdala en el gestor de tu preferencia.\n\nPuedes comprobar tu contraseña y medir su fortaleza con el [comprobador de contraseñas](https://password.es/comprobador/). Protege tus accesos online utilizando contraseñas diferentes en cada servicio, habilitando la verificación en dos pasos siempre que sea posible y almacenando las claves en un gestor seguro.\n\n## Descubre cómo hacerlo todavía mejor\n\n## Sube el listón de la seguridad\n",
"fullPageMarkdown": "password.es · Generador de contraseñas seguras online\n\n[password.es](https://password.es/)\n\nEspañol\n\nModo claro\n\n# Genera contraseñas seguras al instante\n\nCrea contraseñas fuertes, aleatorias y personalizables. Todo se genera en tu navegador, sin enviar datos a ningún servidor.\n\nLongitud\n\n16\n\n416324864\n\nCuanto más larga es una contraseña, más segura se vuelve. Recomendamos un mínimo de 12 caracteres para servicios críticos.\n\nTipos de caracteres\n\n a–zMinúsculas A–ZMayúsculas 0–9Números !@#$%&\\*Símbolos\n\nMás opciones\n\n l I 1 O 0Excluir ambiguos aa → abSin dos iguales seguidos\n\nGenerar nueva contraseña\n\n0 bits\n\nde entropía. Es la medida de cuánto tendría que adivinar alguien que no sabe nada de tu contraseña.\n\n••••• Media\n\nAlfabeto\n\n0\n\nsímbolos\n\nLongitud\n\n0\n\ncaracteres\n\nCombinaciones\n\n0\n\nposibles\n\nFuerza bruta\n\n0\n\naños\n\nLa fuerza bruta se estima a **1012 intentos por segundo**, el orden de magnitud de un ataque *offline* contra un hash rápido, y asume que el atacante conoce tu alfabeto y tu longitud. Contra un hash lento — `bcrypt`, `Argon2` — la cifra sube muchos órdenes de magnitud.\n\n0 peticiones de red para generar una contraseña. Todo ocurre en tu navegador con `crypto.getRandomValues()`.\n\n— ha tardado en generarse la contraseña de arriba, medido en tu propio dispositivo.\n\n4–64 caracteres, y cuatro alfabetos que activas por separado. Tú eliges la forma.\n\n## Cómo aprovechar el generador de contraseñas\n\n1. 01\n\n ### Personaliza\n\n Rellena las opciones avanzadas para indicar qué caracteres quieres incluir y la longitud deseada. La cifra de entropía se recalcula mientras lo haces.\n\n2. 02\n\n ### Genera\n\n Pulsa en Generar nueva contraseña y obtendrás una clave única. Activa JavaScript en tu navegador para que el generador funcione.\n\n3. 03\n\n ### Copia y guarda\n\n Copia la contraseña al portapapeles y guárdala en el gestor de tu preferencia.\n\nPuedes comprobar tu contraseña y medir su fortaleza con el [comprobador de contraseñas](https://password.es/comprobador/). Protege tus accesos online utilizando contraseñas diferentes en cada servicio, habilitando la verificación en dos pasos siempre que sea posible y almacenando las claves en un gestor seguro.\n\n[Comprueba la fortaleza de tu contraseña Analiza la seguridad de cualquier contraseña al instante →](https://password.es/comprobador/) [Protege tu navegación con un VPN Cifra tu conexión y navega de forma anónima ↗](https://go.nordvpn.net/aff_c?offer_id=15&aff_id=36296&url_id=3115) [Analiza tu velocidad de conexión Mide la velocidad real de tu acceso a Internet ↗](https://pruebavelocidad.com/) [Crea códigos QR gratuitos Genera códigos QR para enlaces, textos y más ↗](https://face.co/qrcode/)\n\n## Descubre cómo hacerlo todavía mejor\n\n[Comprobador de seguridad Te decimos qué tan fuerte es tu contraseña y qué trucos básicos debes aplicar para mejorarla al instante. →](https://password.es/comprobador/) [Educación Consejos para crear contraseñas seguras. Descubre buenas prácticas para proteger tus cuentas y por qué el generador es tu mejor aliado. →](https://password.es/educacion/) [Comparativas Diferencias entre 1Password, Bitwarden, LastPass y otros gestores de contraseñas: conoce qué aporta un gestor dedicado frente a las soluciones del navegador. →](https://password.es/comparativa/) [FAQ ¿Cómo funciona el generador de contraseñas aleatorias? ¿Qué hace que una contraseña sea segura y cómo consigue la herramienta crear una combinación única cada vez? →](https://password.es/faq/)\n\n## Sube el listón de la seguridad\n\n[Seguridad de conocimiento cero Nadie tiene acceso a tu información, ni tan siquiera nosotros: no guardamos contraseñas generadas. Si usas un gestor, asegúrate de que cuente con cifrado seguro. →](https://password.es/seguridad/) [Amenazas digitales bajo control Un buen gestor de contraseñas te avisa inmediatamente en caso de exposición de tus datos online gracias a la función de supervisión de robos de datos. →](https://password.es/amenazas-digitales/) [Hábitos más seguros Un buen gestor de contraseñas te ayuda a detectar y actualizar contraseñas poco seguras y reutilizadas con nuestro generador de contraseñas. →](https://password.es/habitos-seguros/) [Autenticación multifactor Introduce un mecanismo de autenticación adicional, como un código de un solo uso o la huella dactilar, para proteger tu cuenta de los hackers. →](https://password.es/2fa/)\n",
"markdownStats": {
"images": 0,
"links": 1,
"tables": 0,
"codeBlocks": 0,
"headings": 7
},
"tokens": {
"htmlTokens": 13296,
"markdownTokens": 373,
"reduction": 12923,
"reductionPercent": 97
},
"score": {
"score": 80,
"grade": "B",
"rubricVersion": 2,
"dimensions": {
"accessibility": {
"score": 100,
"weight": 30,
"grade": "A",
"checks": {
"content_without_js": {
"score": 100,
"weight": 55,
"evidence": "proven",
"details": "Content available without JavaScript"
},
"fast_content_position": {
"score": 100,
"weight": 25,
"evidence": "plausible",
"details": "Main content starts at 16% of HTML"
},
"reasonable_page_size": {
"score": 100,
"weight": 20,
"evidence": "plausible",
"details": "Page size: 43KB"
}
}
},
"aiDiscoverability": {
"score": 60,
"weight": 25,
"grade": "C",
"checks": {
"robots_allows_ai_bots": {
"score": 100,
"weight": 35,
"evidence": "proven",
"details": "All major AI search bots allowed"
},
"supports_markdown_negotiation": {
"score": 0,
"weight": 20,
"evidence": "plausible",
"details": "No Markdown for Agents support detected"
},
"has_sitemap": {
"score": 100,
"weight": 15,
"evidence": "plausible",
"details": "Sitemap found"
},
"has_robots_txt": {
"score": 100,
"weight": 10,
"evidence": "plausible",
"details": "robots.txt exists"
},
"has_llms_txt": {
"score": 0,
"weight": 10,
"evidence": "speculative",
"details": "No llms.txt found"
},
"has_content_signals": {
"score": 0,
"weight": 10,
"evidence": "speculative",
"details": "No Content-Signal found (robots.txt or HTTP headers)"
}
}
},
"structuredData": {
"score": 65,
"weight": 20,
"grade": "C",
"checks": {
"has_schema_org": {
"score": 0,
"weight": 35,
"evidence": "proven",
"details": "No JSON-LD / Schema.org found"
},
"has_open_graph": {
"score": 100,
"weight": 20,
"evidence": "plausible",
"details": "All OG tags present"
},
"has_meta_description": {
"score": 100,
"weight": 20,
"evidence": "plausible",
"details": "Meta description: 136 chars"
},
"has_canonical_url": {
"score": 100,
"weight": 15,
"evidence": "plausible",
"details": "Canonical URL present"
},
"has_lang_attribute": {
"score": 100,
"weight": 10,
"evidence": "plausible",
"details": "lang=\"es\""
}
}
},
"semanticHtml": {
"score": 100,
"weight": 15,
"grade": "A",
"checks": {
"proper_heading_hierarchy": {
"score": 100,
"weight": 30,
"evidence": "plausible",
"details": "Clean heading hierarchy"
},
"uses_article_or_main": {
"score": 100,
"weight": 25,
"evidence": "plausible",
"details": "Has <main>"
},
"semantic_elements": {
"score": 100,
"weight": 20,
"evidence": "plausible",
"details": "16 semantic elements, 36 divs (ratio: 31%)"
},
"meaningful_alt_texts": {
"score": 100,
"weight": 15,
"evidence": "plausible",
"details": "No images found"
},
"low_div_nesting": {
"score": 100,
"weight": 10,
"evidence": "speculative",
"details": "Avg div depth: 1.6, max: 4"
}
}
},
"contentEfficiency": {
"score": 70,
"weight": 10,
"grade": "C",
"checks": {
"token_reduction_ratio": {
"score": 100,
"weight": 40,
"evidence": "speculative",
"details": "97% token reduction (HTML→Markdown)"
},
"content_to_noise_ratio": {
"score": 0,
"weight": 30,
"evidence": "speculative",
"details": "Content ratio: 4.0% (1780 content chars / 44357 HTML bytes)"
},
"reasonable_page_weight": {
"score": 100,
"weight": 20,
"evidence": "speculative",
"details": "HTML size: 43KB"
},
"minimal_inline_styles": {
"score": 100,
"weight": 10,
"evidence": "speculative",
"details": "0/381 elements with inline styles (0.0%)"
}
}
}
}
},
"recommendations": [
{
"id": "add_schema_org",
"priority": "critical",
"category": "structuredData",
"titleKey": "rec.add_schema_org.title",
"descriptionKey": "rec.add_schema_org.description",
"howToKey": "rec.add_schema_org.howto",
"effort": "moderate",
"estimatedImpact": 7,
"maxImpact": 7,
"evidence": "proven",
"checkScore": 0,
"checkDetails": "No JSON-LD / Schema.org found"
},
{
"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": 5,
"maxImpact": 5,
"evidence": "plausible",
"checkScore": 0,
"checkDetails": "No Markdown for Agents support detected"
},
{
"id": "improve_content_ratio",
"priority": "high",
"category": "contentEfficiency",
"titleKey": "rec.improve_content_ratio.title",
"descriptionKey": "rec.improve_content_ratio.description",
"howToKey": "rec.improve_content_ratio.howto",
"effort": "moderate",
"estimatedImpact": 3,
"maxImpact": 3,
"evidence": "speculative",
"checkScore": 0,
"checkDetails": "Content ratio: 4.0% (1780 content chars / 44357 HTML bytes)"
},
{
"id": "add_llms_txt",
"priority": "high",
"category": "aiDiscoverability",
"titleKey": "rec.add_llms_txt.title",
"descriptionKey": "rec.add_llms_txt.description",
"howToKey": "rec.add_llms_txt.howto",
"effort": "quick-win",
"estimatedImpact": 2.5,
"maxImpact": 2.5,
"evidence": "speculative",
"checkScore": 0,
"checkDetails": "No llms.txt found"
},
{
"id": "add_content_signals",
"priority": "high",
"category": "aiDiscoverability",
"titleKey": "rec.add_content_signals.title",
"descriptionKey": "rec.add_content_signals.description",
"howToKey": "rec.add_content_signals.howto",
"effort": "quick-win",
"estimatedImpact": 2.5,
"maxImpact": 2.5,
"evidence": "speculative",
"checkScore": 0,
"checkDetails": "No Content-Signal found (robots.txt or HTTP headers)"
}
],
"llmsTxtPreview": "# password.es\n\n> password.es – Genera contraseñas seguras online y gratis. Personaliza la longitud, los tipos de caracteres y copia tu clave al instante.\n\n## Documentation\n- [FAQ](https://password.es/faq/)\n\n## Main\n- [Genera contraseñas seguras online de forma automática y gratuita](https://password.es/): password.es – Genera contraseñas seguras online y gratis. Personaliza la longitud, los tipos de caracteres y copia tu c…\n- [Comprobador](https://password.es/comprobador/)\n- [Educación](https://password.es/educacion/)\n- [Comparativas](https://password.es/comparativa/)\n- [English](https://password.es/en/)\n- [Nederlands](https://password.es/nl/)\n- [Deutsch](https://password.es/de/)\n- [Français](https://password.es/fr/)\n- [Italiano](https://password.es/it/)\n\n## Support\n- [FAQ](https://password.es/faq/)\n\n",
"llmsTxtExisting": null,
"emergingProtocols": {
"oauthProtectedResource": {
"exists": false,
"url": "https://password.es/.well-known/oauth-protected-resource"
},
"oauthDiscovery": {
"exists": false,
"url": "https://password.es/.well-known/oauth-authorization-server"
},
"mcpServerCard": {
"exists": false,
"url": "https://password.es/.well-known/mcp/server-card.json",
"draft": true
},
"a2aAgentCard": {
"exists": false,
"url": "https://password.es/.well-known/agent-card.json"
},
"apiCatalog": {
"exists": false,
"url": "https://password.es/.well-known/api-catalog"
},
"agentSkills": {
"exists": false,
"url": "https://password.es/.well-known/agent-skills/index.json",
"draft": true
},
"count": 0,
"total": 6
},
"botAccess": {
"probed": true,
"bot": "OAI-SearchBot",
"controlStatus": 200,
"botStatus": 200,
"discriminates": false,
"refusedAsBot": false,
"edge": "Cloudflare",
"verifiable": false,
"detail": "This origin answers OAI-SearchBot exactly as it answers any other client (200). No edge-level filtering of AI crawlers observed."
},
"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": "# password.es\n\n> password.es – Genera contraseñas seguras online y gratis. Personaliza la longitud, los tipos de caracteres y copia tu clave al instante.\n\n## Documentation\n- [FAQ](https://password.es/faq/)\n\n## Main\n- [Genera contraseñas seguras online de forma automática y gratuita](https://password.es/): password.es – Genera contraseñas seguras online y gratis. Personaliza la longitud, los tipos de caracteres y copia tu c…\n- [Comprobador](https://password.es/comprobador/)\n- [Educación](https://password.es/educacion/)\n- [Comparativas](https://password.es/comparativa/)\n- [English](https://password.es/en/)\n- [Nederlands](https://password.es/nl/)\n- [Deutsch](https://password.es/de/)\n- [Français](https://password.es/fr/)\n- [Italiano](https://password.es/it/)\n\n## Support\n- [FAQ](https://password.es/faq/)\n\n",
"filename": "/llms.txt"
},
{
"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\": \"Genera contraseñas seguras online de forma automática y gratuita\",\n \"description\": \"password.es – Genera contraseñas seguras online y gratis. Personaliza la longitud, los tipos de caracteres y copia tu clave al instante.\",\n \"url\": \"https://password.es/\",\n \"inLanguage\": \"es\",\n \"isPartOf\": {\n \"@type\": \"WebSite\",\n \"name\": \"password.es\"\n },\n \"author\": {\n \"@type\": \"Person\",\n \"name\": \"password.es\"\n }\n}\n</script>",
"filename": "<head>"
},
{
"id": "add_content_signals",
"title": "Add Content-Signal directives",
"description": "Content-Signal tells AI agents how they may use your content. The canonical location is robots.txt, but you can also expose it as an HTTP header from any stack.",
"language": "txt",
"code": "User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no",
"filename": "/robots.txt",
"stacks": [
{
"id": "robots",
"label": "robots.txt",
"language": "txt",
"filename": "/robots.txt",
"code": "User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no"
},
{
"id": "nginx",
"label": "Nginx",
"language": "nginx",
"filename": "server block",
"code": "# Inside your server { } block:\nadd_header Content-Signal \"search=yes, ai-input=yes, ai-train=no\" always;"
},
{
"id": "apache",
"label": "Apache",
"language": "apache",
"filename": ".htaccess",
"code": "# In .htaccess (or VirtualHost):\nHeader set Content-Signal \"search=yes, ai-input=yes, ai-train=no\""
},
{
"id": "wordpress",
"label": "WordPress",
"language": "php",
"filename": "functions.php",
"code": "<?php\n// In your theme's functions.php or a small mu-plugin\nadd_action('send_headers', function () {\n header('Content-Signal: search=yes, ai-input=yes, ai-train=no');\n});\n\n// Optional: also append the directive to the dynamic robots.txt\nadd_filter('robots_txt', function ($output) {\n return $output . \"\\nContent-Signal: search=yes, ai-input=yes, ai-train=no\\n\";\n}, 10, 1);"
},
{
"id": "nextjs",
"label": "Next.js",
"language": "typescript",
"filename": "middleware.ts",
"code": "// middleware.ts (Next.js 13+ App Router or Pages Router)\nimport { NextResponse } from 'next/server';\nexport function middleware() {\n const res = NextResponse.next();\n res.headers.set(\n 'Content-Signal',\n 'search=yes, ai-input=yes, ai-train=no'\n );\n return res;\n}\nexport const config = { matcher: '/:path*' };"
},
{
"id": "cloudflare",
"label": "Cloudflare Workers",
"language": "javascript",
"filename": "worker.js",
"code": "// Cloudflare Worker that proxies your origin and adds the header\nexport default {\n async fetch(request, env, ctx) {\n const res = await fetch(request);\n const newRes = new Response(res.body, res);\n newRes.headers.set(\n 'Content-Signal',\n 'search=yes, ai-input=yes, ai-train=no'\n );\n return newRes;\n },\n};"
},
{
"id": "express",
"label": "Express / Fastify",
"language": "javascript",
"filename": "server.js",
"code": "// Express\napp.use((req, res, next) => {\n res.setHeader('Content-Signal', 'search=yes, ai-input=yes, ai-train=no');\n next();\n});\n\n// Fastify\nfastify.addHook('onSend', (request, reply, payload, done) => {\n reply.header('Content-Signal', 'search=yes, ai-input=yes, ai-train=no');\n done();\n});"
}
]
},
{
"id": "add_markdown_negotiation",
"title": "Support Markdown for Agents",
"description": "Let AI agents request a clean Markdown version of any page via content negotiation, .md alternate URLs, link tags or Link headers.",
"language": "html",
"code": "<!-- Mechanism 3: link tag advertising the .md alternate -->\n<link rel=\"alternate\" type=\"text/markdown\" href=\"/page.md\">",
"filename": "<head>",
"stacks": [
{
"id": "html",
"label": "HTML <head>",
"language": "html",
"filename": "<head>",
"code": "<!-- Mechanism 3: link tag advertising the .md alternate -->\n<link rel=\"alternate\" type=\"text/markdown\" href=\"/page.md\">"
},
{
"id": "express",
"label": "Express",
"language": "javascript",
"filename": "server.js",
"code": "// Mechanisms 1 + 4: content negotiation + Link header\napp.get('/page', (req, res) => {\n res.setHeader('Vary', 'Accept');\n res.setHeader('Link', '</page.md>; rel=\"alternate\"; type=\"text/markdown\"');\n if ((req.headers.accept || '').includes('text/markdown')) {\n res.type('text/markdown; charset=utf-8');\n return res.send(renderMarkdown('page'));\n }\n res.render('page');\n});"
},
{
"id": "fastify",
"label": "Fastify",
"language": "javascript",
"filename": "server.js",
"code": "// Mechanisms 1 + 4: content negotiation + Link header\nfastify.get('/page', async (req, reply) => {\n reply.header('Vary', 'Accept');\n reply.header('Link', '</page.md>; rel=\"alternate\"; type=\"text/markdown\"');\n if ((req.headers.accept || '').includes('text/markdown')) {\n return reply.type('text/markdown; charset=utf-8').send(renderMarkdown('page'));\n }\n return reply.view('/page.ejs');\n});"
},
{
"id": "nextjs",
"label": "Next.js",
"language": "typescript",
"filename": "app/page/route.ts",
"code": "// Next.js App Router — Route Handler returning Markdown\nimport { NextRequest } from 'next/server';\nimport { renderMarkdown } from '@/lib/md';\nexport async function GET(req: NextRequest) {\n const accept = req.headers.get('accept') || '';\n if (accept.includes('text/markdown')) {\n return new Response(await renderMarkdown('page'), {\n headers: {\n 'Content-Type': 'text/markdown; charset=utf-8',\n 'Vary': 'Accept',\n },\n });\n }\n // Fall through to the page component\n return new Response(null, { status: 404 });\n}"
},
{
"id": "wordpress",
"label": "WordPress",
"language": "php",
"filename": "functions.php",
"code": "<?php\n// Mechanism 1: respond to Accept: text/markdown on the same URL\nadd_action('template_redirect', function () {\n if (!is_singular()) return;\n $accept = $_SERVER['HTTP_ACCEPT'] ?? '';\n if (strpos($accept, 'text/markdown') === false) return;\n header('Content-Type: text/markdown; charset=utf-8');\n header('Vary: Accept');\n $post = get_queried_object();\n echo \"# \" . get_the_title($post) . \"\\n\\n\";\n echo wp_strip_all_tags(apply_filters('the_content', $post->post_content));\n exit;\n});"
},
{
"id": "static",
"label": "Hugo / Jekyll / Astro",
"language": "txt",
"filename": "static/page.md",
"code": "# Mechanism 2: serve .md alongside .html\n# Hugo: place page.md in /static/ — built unchanged\n# Jekyll: drop page.md in /assets/ — copied as-is\n# Astro: src/pages/page.md.ts that exports a GET returning markdown\n\n# Then advertise with mechanism 3 in <head>:\n# <link rel=\"alternate\" type=\"text/markdown\" href=\"/page.md\">"
}
]
}
]
}
Utilisez notre API pour obtenir ceci de manière programmatique (bientôt disponible)
Ce JSON est à usage interne — contrairement au Markdown et au llms.txt, il n’est pas destiné à être téléversé sur votre site. Conservez-le comme référence pour suivre l’évolution de votre score, partagez-le avec votre équipe de développement ou intégrez-le dans votre pipeline CI/CD.
Partagez vos résultats
Ou demandez à une IA de vous aider à l'améliorer
Envie d'un deuxième avis ?
Cloudflare propose aussi un scanner gratuit, et il pose une question différente. Il note ce que votre site publie pour que les agents l'appellent : MCP server cards, Agent Skills, catalogues d'API, enregistrements DNS. Nous notons si un agent peut atteindre votre contenu, le lire et le comprendre. Un site peut réussir l'un et échouer l'autre : attendez-vous à deux chiffres différents, ce sont les réponses à deux questions différentes, et les deux méritent d'être connues.
Analyser password.es avec CloudflareIntégrez votre badge
Ajoutez ce badge à votre site. Il se met à jour automatiquement lorsque votre score de préparation à l’IA change.
<script src="https://agentready.md/badge.js" data-id="41986cf1-7037-44f8-89ae-712447ed3ed4" data-domain="password.es"></script>
[](https://agentready.md/fr/r/41986cf1-7037-44f8-89ae-712447ed3ed4)
Bientôt : Analyse de domaine complet
Explorez l’ensemble de votre domaine, générez un llms.txt et surveillez votre score de préparation IA dans le temps. Rejoignez la liste d’attente pour être informé.
Vous êtes sur la liste ! Nous vous préviendrons lors du lancement.