[{"data":1,"prerenderedAt":915},["ShallowReactive",2],{"\u002Fblog\u002Foptimizar-web-para-agentes-ia":3},{"id":4,"title":5,"body":6,"date":893,"description":894,"extension":895,"headerImage":896,"isActive":148,"keywords":897,"meta":903,"navigation":148,"path":904,"seo":905,"stem":896,"subject":906,"summary":909,"tags":910,"__hash__":914},"blog\u002Fblog\u002Foptimizar-web-para-agentes-ia.md","Guía para optimizar tu web para agentes de inteligencia artificial",{"type":7,"value":8,"toc":867},"minimark",[9,14,25,47,51,63,68,81,108,220,223,227,230,234,253,256,267,340,344,347,354,367,371,385,388,416,424,428,440,443,449,452,458,461,465,480,484,499,503,513,520,525,646,650,663,694,698,709,713,716,738,756,760,776,783,787,863],[10,11,13],"h2",{"id":12},"introducción","Introducción",[15,16,17,18,24],"p",{},"Si tienes un sitio web probablemente ya conoces ",[19,20,23],"span",{"className":21},[22],"inline-file","robots.txt"," y los sitemaps, archivos que ayudan a los buscadores tradicionales a indexar tu contenido. Pero en los últimos años ha surgido un nuevo ecosistema: los agentes de inteligencia artificial que recorren la web para responder preguntas, alimentar modelos de lenguaje o asistir a programadores en sus editores de código.",[15,26,27,28,32,33,32,37,41,42,46],{},"Para estos agentes han aparecido nuevos estándares que permiten comunicar de forma clara qué contenido queremos que consuman, cómo deben hacerlo y si permitimos que nuestros textos se utilicen para entrenar modelos. Hoy voy a hablarte de cuatro de ellos: ",[19,29,31],{"className":30},[22],"llms.txt",", ",[19,34,36],{"className":35},[22],"llms-full.txt",[19,38,40],{"className":39},[22],"ai.txt"," y ",[19,43,45],{"className":44},[22],"\u002F.well-known\u002Fai.txt",".",[10,48,50],{"id":49},"qué-es-llmstxt","¿Qué es llms.txt?",[15,52,53,54,57,58,62],{},"Propuesto por Jeremy Howard en septiembre de 2024, ",[19,55,31],{"className":56},[22]," es un archivo Markdown que se coloca en la raíz del dominio y actúa como un ",[59,60,61],"strong",{},"índice curado"," para modelos de lenguaje. Su objetivo es ofrecer a un agente de IA un mapa limpio y organizado de las páginas más importantes del sitio, evitando que tenga que crawlear todo el dominio para encontrar lo relevante.",[64,65,67],"h3",{"id":66},"formato","Formato",[15,69,70,71,80],{},"El archivo debe colocarse en ",[19,72,74],{"className":73},[22],[75,76,77],"a",{"href":77,"rel":78},"https:\u002F\u002Fejemplo.com\u002Fllms.txt",[79],"nofollow"," y sigue esta estructura:",[82,83,84,92,98,105],"ul",{},[85,86,87,88,91],"li",{},"Un ",[59,89,90],{},"H1"," con el nombre del sitio",[85,93,87,94,97],{},[59,95,96],{},"blockquote"," con un resumen de una o dos líneas",[85,99,100,101,104],{},"Secciones con ",[59,102,103],{},"H2"," que agrupan los enlaces por temática",[85,106,107],{},"Enlaces en formato Markdown con una descripción breve",[109,110,115],"pre",{"className":111,"code":112,"filename":31,"language":113,"meta":114,"style":114},"language-markdown shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# Mi Sitio Web\n> Blog personal con tutoriales de desarrollo web, ciencia y tecnología.\n>\nEscrito por Juan Pérez.\n\nEl contenido principal son guías prácticas y artículos de opinión\nsobre programación y tecnología en general.\n\n## Artículos de programación\n- [Guía de Vue 3](\u002Fvue-guide): Tutorial completo de Vue 3\n- [Tailwind CSS desde cero](\u002Ftailwind-css): Introducción a utilidades CSS\n- [SEO con schema.org](\u002Fseo-schema): Cómo implementar datos estructurados\n\n## Páginas principales\n- [Inicio](\u002F): Página principal\n- [Blog](\u002Fblog): Listado completo de artículos\n- [Sobre mí](\u002Fabout): Información del autor\n","markdown","",[116,117,118,125,131,137,143,150,156,162,167,173,179,185,191,196,202,208,214],"code",{"__ignoreMap":114},[19,119,122],{"class":120,"line":121},"line",1,[19,123,124],{},"# Mi Sitio Web\n",[19,126,128],{"class":120,"line":127},2,[19,129,130],{},"> Blog personal con tutoriales de desarrollo web, ciencia y tecnología.\n",[19,132,134],{"class":120,"line":133},3,[19,135,136],{},">\n",[19,138,140],{"class":120,"line":139},4,[19,141,142],{},"Escrito por Juan Pérez.\n",[19,144,146],{"class":120,"line":145},5,[19,147,149],{"emptyLinePlaceholder":148},true,"\n",[19,151,153],{"class":120,"line":152},6,[19,154,155],{},"El contenido principal son guías prácticas y artículos de opinión\n",[19,157,159],{"class":120,"line":158},7,[19,160,161],{},"sobre programación y tecnología en general.\n",[19,163,165],{"class":120,"line":164},8,[19,166,149],{"emptyLinePlaceholder":148},[19,168,170],{"class":120,"line":169},9,[19,171,172],{},"## Artículos de programación\n",[19,174,176],{"class":120,"line":175},10,[19,177,178],{},"- [Guía de Vue 3](\u002Fvue-guide): Tutorial completo de Vue 3\n",[19,180,182],{"class":120,"line":181},11,[19,183,184],{},"- [Tailwind CSS desde cero](\u002Ftailwind-css): Introducción a utilidades CSS\n",[19,186,188],{"class":120,"line":187},12,[19,189,190],{},"- [SEO con schema.org](\u002Fseo-schema): Cómo implementar datos estructurados\n",[19,192,194],{"class":120,"line":193},13,[19,195,149],{"emptyLinePlaceholder":148},[19,197,199],{"class":120,"line":198},14,[19,200,201],{},"## Páginas principales\n",[19,203,205],{"class":120,"line":204},15,[19,206,207],{},"- [Inicio](\u002F): Página principal\n",[19,209,211],{"class":120,"line":210},16,[19,212,213],{},"- [Blog](\u002Fblog): Listado completo de artículos\n",[19,215,217],{"class":120,"line":216},17,[19,218,219],{},"- [Sobre mí](\u002Fabout): Información del autor\n",[15,221,222],{},"Cada enlace debe ser una URL absoluta o relativa y debe llevar una descripción que ayude al modelo a entender qué encontrará al seguir ese enlace.",[64,224,226],{"id":225},"para-qué-sirve","¿Para qué sirve?",[15,228,229],{},"Los asistentes de IA como Claude, ChatGPT o las herramientas integradas en editores de código (Cursor, Windsurf, Continue) pueden leer este archivo para entender rápidamente la estructura del sitio sin tener que hacer múltiples peticiones. Es especialmente útil para sitios con mucha documentación técnica o catálogos extensos de contenido.",[10,231,233],{"id":232},"qué-es-llms-fulltxt","¿Qué es llms-full.txt?",[15,235,236,237,240,241,244,245,248,249,252],{},"Si ",[19,238,31],{"className":239},[22]," es el índice, ",[19,242,36],{"className":243},[22]," es el ",[59,246,247],{},"corpus completo",". Es un archivo compañero que contiene el texto íntegro de las páginas referenciadas en ",[19,250,31],{"className":251},[22],", todo concatenado en un solo documento Markdown.",[64,254,67],{"id":255},"formato-1",[15,257,258,259,266],{},"Se coloca en ",[19,260,262],{"className":261},[22],[75,263,264],{"href":264,"rel":265},"https:\u002F\u002Fejemplo.com\u002Fllms-full.txt",[79]," y no tiene una estructura fija más allá de ser Markdown válido. La convención más extendida es separar cada página con un H2 que indique la URL y el título original:",[109,268,270],{"className":111,"code":269,"filename":36,"language":113,"meta":114,"style":114},"# Mi Sitio Web - Contenido completo\n\n## https:\u002F\u002Fejemplo.com\u002Fvue-guide\n### Guía de Vue 3\n\nVue 3 es un framework progresivo de JavaScript para construir interfaces de usuario...\n\n(contenido completo del artículo)\n\n## https:\u002F\u002Fejemplo.com\u002Ftailwind-css\n### Tailwind CSS desde cero\n\nTailwind CSS es un framework de utilidades que acelera el desarrollo...\n\n(contenido completo del artículo)\n",[116,271,272,277,281,286,291,295,300,304,309,313,318,323,327,332,336],{"__ignoreMap":114},[19,273,274],{"class":120,"line":121},[19,275,276],{},"# Mi Sitio Web - Contenido completo\n",[19,278,279],{"class":120,"line":127},[19,280,149],{"emptyLinePlaceholder":148},[19,282,283],{"class":120,"line":133},[19,284,285],{},"## https:\u002F\u002Fejemplo.com\u002Fvue-guide\n",[19,287,288],{"class":120,"line":139},[19,289,290],{},"### Guía de Vue 3\n",[19,292,293],{"class":120,"line":145},[19,294,149],{"emptyLinePlaceholder":148},[19,296,297],{"class":120,"line":152},[19,298,299],{},"Vue 3 es un framework progresivo de JavaScript para construir interfaces de usuario...\n",[19,301,302],{"class":120,"line":158},[19,303,149],{"emptyLinePlaceholder":148},[19,305,306],{"class":120,"line":164},[19,307,308],{},"(contenido completo del artículo)\n",[19,310,311],{"class":120,"line":169},[19,312,149],{"emptyLinePlaceholder":148},[19,314,315],{"class":120,"line":175},[19,316,317],{},"## https:\u002F\u002Fejemplo.com\u002Ftailwind-css\n",[19,319,320],{"class":120,"line":181},[19,321,322],{},"### Tailwind CSS desde cero\n",[19,324,325],{"class":120,"line":187},[19,326,149],{"emptyLinePlaceholder":148},[19,328,329],{"class":120,"line":193},[19,330,331],{},"Tailwind CSS es un framework de utilidades que acelera el desarrollo...\n",[19,333,334],{"class":120,"line":198},[19,335,149],{"emptyLinePlaceholder":148},[19,337,338],{"class":120,"line":204},[19,339,308],{},[64,341,343],{"id":342},"ventajas-y-consideraciones","Ventajas y consideraciones",[15,345,346],{},"La principal ventaja es que el agente obtiene todo el contenido en una sola petición HTTP, sin necesidad de seguir cada enlace individualmente. Esto es especialmente útil para herramientas de edición de código y asistentes que operan con ventanas de contexto limitadas.",[15,348,349,350,353],{},"Sin embargo, tienes que valorar si quieres tener todo el contenido de tu web expuesto en un único archivo. Puede llegar a ser muy grande (varios megabytes) y, al ser un solo fichero, cualquier persona o bot puede descargarlo entero. Si esto te preocupa, puedes limitarte a publicar solo ",[19,351,31],{"className":352},[22],", que sigue siendo útil sin exponer el contenido completo.",[96,355,356],{},[15,357,358,359,362,363,366],{},"💡 ",[59,360,361],{},"Consejo",": Si decides publicar ambos, genera ",[19,364,36],{"className":365},[22]," automáticamente desde tu pipeline de construcción para que siempre esté actualizado.",[10,368,370],{"id":369},"qué-es-aitxt-en-la-raíz","¿Qué es ai.txt en la raíz?",[15,372,373,376,377,380,381,384],{},[19,374,40],{"className":375},[22]," es un archivo propuesto por ",[59,378,379],{},"Spawning.ai"," en 2023 que permite a los propietarios de sitios web declarar si su contenido puede utilizarse para entrenar modelos de inteligencia artificial. Es similar a ",[19,382,23],{"className":383},[22]," pero enfocado específicamente en el uso para entrenamiento, no en el acceso.",[64,386,67],{"id":387},"formato-2",[15,389,258,390,397,398,401,402,32,407,41,411,415],{},[19,391,393],{"className":392},[22],[75,394,395],{"href":395,"rel":396},"https:\u002F\u002Fejemplo.com\u002Fai.txt",[79]," y utiliza una sintaxis muy similar a ",[19,399,23],{"className":400},[22]," con directivas ",[19,403,406],{"className":404},[405],"inline-coding","User-Agent",[19,408,410],{"className":409},[405],"Allow",[19,412,414],{"className":413},[405],"Disallow",":",[109,417,422],{"className":418,"code":420,"filename":40,"language":421,"meta":114},[419],"language-text","# ai.txt - Permisos para entrenamiento de IA\nUser-Agent: *\nAllow: \u002F\n","text",[116,423,420],{"__ignoreMap":114},[64,425,427],{"id":426},"valores-posibles","Valores posibles",[82,429,430,435],{},[85,431,432,434],{},[59,433,410],{},": Indica que permites que tu contenido se utilice para entrenamiento.",[85,436,437,439],{},[59,438,414],{},": Indica que NO permites el uso de tu contenido para entrenamiento.",[15,441,442],{},"Puedes restringir por tipo de contenido o rutas específicas:",[109,444,447],{"className":445,"code":446,"filename":40,"language":421,"meta":114},[419],"# Permitir solo contenido público, denegar contenido premium\nUser-Agent: *\nAllow: \u002Fblog\u002F\nAllow: \u002Fguides\u002F\nDisallow: \u002Fpremium\u002F\nDisallow: \u002Fprivate\u002F\n",[116,448,446],{"__ignoreMap":114},[15,450,451],{},"También puedes segmentar por agente:",[109,453,456],{"className":454,"code":455,"filename":40,"language":421,"meta":114},[419],"User-Agent: GPTBot\nAllow: \u002F\n\nUser-Agent: ClaudeBot\nDisallow: \u002F\n",[116,457,455],{"__ignoreMap":114},[15,459,460],{},"Este formato es reconocido por la API de Spawning y lo respetan empresas como Hugging Face y Stability AI. Para el resto de agentes es una señal voluntaria, pero ayuda a dejar clara tu posición respecto al uso de tu contenido.",[10,462,464],{"id":463},"qué-es-well-knownaitxt","¿Qué es \u002F.well-known\u002Fai.txt?",[15,466,467,468,471,472,475,476,479],{},"A principios de 2026 se presentó un borrador en el IETF (el organismo que estandariza protocolos de internet) para un nuevo archivo: ",[19,469,45],{"className":470},[22],". Es una evolución más completa del ",[19,473,40],{"className":474},[22]," de Spawning, con un formato más estructurado y capaz de expresar políticas matizadas que ",[19,477,23],{"className":478},[22]," no puede comunicar.",[64,481,483],{"id":482},"ubicación","Ubicación",[15,485,486,487,494,495,46],{},"Debe servirse en ",[19,488,490],{"className":489},[22],[75,491,492],{"href":492,"rel":493},"https:\u002F\u002Fejemplo.com\u002F.well-known\u002Fai.txt",[79]," sobre HTTPS y con ",[19,496,498],{"className":497},[405],"Content-Type: text\u002Fplain; charset=utf-8",[64,500,502],{"id":501},"formato-y-propiedades","Formato y propiedades",[15,504,505,506,41,509,415],{},"Utiliza un formato de bloques clave:valor inspirado en ",[19,507,23],{"className":508},[22],[19,510,512],{"className":511},[22],"security.txt",[109,514,518],{"className":515,"code":516,"filename":517,"language":421,"meta":114},[419],"# ai.txt - Declaración de política de IA\nSpec-Version: 1.0\nSite-Name: Mi Blog\nSite-URL: https:\u002F\u002Fejemplo.com\nContact: ai@ejemplo.com\nPolicy-URL: https:\u002F\u002Fejemplo.com\u002Fpolitica-ia\nTraining: deny\nScraping: allow\nIndexing: allow\nCaching: allow\nTraining-License: CC-BY-4.0\nAttribution: required\n\nAgent: *\n  Rate-Limit: 30\u002Fminute\n\nAgent: GPTBot\n  Training: allow\n  Rate-Limit: 120\u002Fminute\n",".well-known\u002Fai.txt",[116,519,516],{"__ignoreMap":114},[521,522,524],"h4",{"id":523},"campos-principales","Campos principales",[82,526,527,533,539,545,551,557,577,589,601,613,628],{},[85,528,529,532],{},[59,530,531],{},"Spec-Version",": Versión de la especificación (actualmente 1.0).",[85,534,535,538],{},[59,536,537],{},"Site-Name",": Nombre del sitio.",[85,540,541,544],{},[59,542,543],{},"Site-URL",": URL canónica del sitio.",[85,546,547,550],{},[59,548,549],{},"Contact",": Dirección de contacto para temas de licencia o política de IA.",[85,552,553,556],{},[59,554,555],{},"Policy-URL",": Enlace a la política de IA en lenguaje humano.",[85,558,559,562,563,32,567,571,572,576],{},[59,560,561],{},"Training",": Indica si permites el entrenamiento de modelos con tu contenido. Valores: ",[19,564,566],{"className":565},[405],"allow",[19,568,570],{"className":569},[405],"deny"," (por defecto), ",[19,573,575],{"className":574},[405],"conditional"," (activa reglas por ruta).",[85,578,579,582,583,571,586,46],{},[59,580,581],{},"Scraping",": Permite que los agentes lean tu contenido. Valores: ",[19,584,566],{"className":585},[405],[19,587,570],{"className":588},[405],[85,590,591,594,595,571,598,46],{},[59,592,593],{},"Indexing",": Permite que tu contenido aparezca en índices de IA. Valores: ",[19,596,566],{"className":597},[405],[19,599,570],{"className":600},[405],[85,602,603,606,607,571,610,46],{},[59,604,605],{},"Caching",": Permite que los agentes cacheen tu contenido. Valores: ",[19,608,566],{"className":609},[405],[19,611,570],{"className":612},[405],[85,614,615,618,619,32,623,627],{},[59,616,617],{},"Training-License",": Identificador SPDX de la licencia bajo la que se permite el entrenamiento (ej: ",[19,620,622],{"className":621},[405],"CC-BY-4.0",[19,624,626],{"className":625},[405],"MIT",").",[85,629,630,633,634,32,638,32,642,46],{},[59,631,632],{},"Attribution",": Si se debe atribuir la fuente al usar el contenido. Valores: ",[19,635,637],{"className":636},[405],"required",[19,639,641],{"className":640},[405],"optional",[19,643,645],{"className":644},[405],"none",[521,647,649],{"id":648},"bloques-por-agente","Bloques por agente",[15,651,652,653,657,658,662],{},"Dentro de un bloque ",[19,654,656],{"className":655},[405],"Agent:"," se pueden sobrescribir las políticas por agente específico. El agente comodín ",[19,659,661],{"className":660},[405],"*"," establece la política por defecto. Los campos más comunes dentro de un bloque de agente son:",[82,664,665,671],{},[85,666,667,670],{},[59,668,669],{},"Training, Scraping, Indexing, Caching",": Sobrescriben los valores globales.",[85,672,673,676,677,681,682,32,686,32,690,627],{},[59,674,675],{},"Rate-Limit",": Límite de peticiones en formato ",[19,678,680],{"className":679},[405],"N\u002Fventana"," (ej: ",[19,683,685],{"className":684},[405],"30\u002Fminute",[19,687,689],{"className":688},[405],"100\u002Fhour",[19,691,693],{"className":692},[405],"1000\u002Fday",[64,695,697],{"id":696},"diferencias-con-robotstxt","Diferencias con robots.txt",[15,699,700,701,704,705,708],{},"Mientras que ",[19,702,23],{"className":703},[22]," solo puede permitir o bloquear el acceso a rutas, ",[19,706,45],{"className":707},[22]," permite expresar matices como \"puedes crawlear mi sitio para indexarlo, pero no puedes entrenar modelos con mi contenido\". Esto es útil si quieres aparecer en búsquedas de IA pero no quieres que tu contenido forme parte del dataset de entrenamiento de un modelo.",[10,710,712],{"id":711},"merece-la-pena-implementarlos","¿Merece la pena implementarlos?",[15,714,715],{},"La adopción de estos archivos es aún temprana, pero el coste de implementarlos es muy bajo: son archivos de texto estáticos que apenas ocupan espacio. A día de hoy:",[82,717,718,723,728,733],{},[85,719,720,722],{},[59,721,31],{}," es leído por asistentes de código como Cursor y Continue. Su valor actual está más en herramientas de desarrollo que en buscadores de IA, pero tenerlo te coloca en una buena posición cuando la adopción crezca.",[85,724,725,727],{},[59,726,36],{}," es opcional y útil si tienes documentación técnica densa. Si te preocupa exponer todo tu contenido, puedes prescindir de él.",[85,729,730,732],{},[59,731,40],{}," (Spawning) es respetado por actores concretos del ecosistema de entrenamiento.",[85,734,735,737],{},[59,736,45],{}," es el más completo y está en proceso de estandarización en el IETF. Permite expresar políticas con mucho más detalle que cualquier otro formato.",[15,739,740,741,41,744,747,748,751,752,755],{},"Mi recomendación es empezar por ",[19,742,31],{"className":743},[22],[19,745,40],{"className":746},[22]," (en la raíz), que son los más sencillos. Si necesitas más control, añade ",[19,749,45],{"className":750},[22],". Y si tu web tiene mucha documentación técnica, valora si ",[19,753,36],{"className":754},[22]," tiene sentido para ti.",[10,757,759],{"id":758},"conclusión","Conclusión",[15,761,762,763,32,766,32,769,41,772,775],{},"Los archivos ",[19,764,31],{"className":765},[22],[19,767,36],{"className":768},[22],[19,770,40],{"className":771},[22],[19,773,45],{"className":774},[22]," son la nueva capa de comunicación entre los sitios web y los agentes de inteligencia artificial. Aunque ninguno es obligatorio ni está universalmente adoptado, implementarlos es una inversión de futuro con coste casi nulo.",[15,777,778,779,782],{},"Si ya tienes un ",[19,780,23],{"className":781},[22]," y un sitemap, añadir estos archivos es el siguiente paso natural para que tu web sea correctamente interpretada tanto por buscadores tradicionales como por el creciente ecosistema de agentes de IA.",[10,784,786],{"id":785},"referencias","Referencias",[82,788,789,800,809,818,827,836,845,854],{},[85,790,791,794,795],{},[59,792,793],{},"Propuesta original de llms.txt por Jeremy Howard (Answer.AI, 2024)",": ",[75,796,797],{"href":797,"rel":798,":target":799},"https:\u002F\u002Fwww.answer.ai\u002Fposts\u002F2024-09-03-llmstxt",[79],"_blank",[85,801,802,794,805],{},[59,803,804],{},"Especificación oficial de llms.txt (llmstxt.org)",[75,806,807],{"href":807,"rel":808,":target":799},"https:\u002F\u002Fllmstxt.org\u002F",[79],[85,810,811,794,814],{},[59,812,813],{},"Repositorio de la especificación llms.txt en GitHub",[75,815,816],{"href":816,"rel":817,":target":799},"https:\u002F\u002Fgithub.com\u002FAnswerDotAI\u002Fllms-txt",[79],[85,819,820,794,823],{},[59,821,822],{},"Llms.txt de Anthropic (ejemplo real)",[75,824,825],{"href":825,"rel":826,":target":799},"https:\u002F\u002Fdocs.anthropic.com\u002Fllms.txt",[79],[85,828,829,794,832],{},[59,830,831],{},"Llms-full.txt de Anthropic (ejemplo real)",[75,833,834],{"href":834,"rel":835,":target":799},"https:\u002F\u002Fdocs.anthropic.com\u002Fllms-full.txt",[79],[85,837,838,794,841],{},[59,839,840],{},"Generador de ai.txt de Spawning.ai",[75,842,843],{"href":843,"rel":844,":target":799},"https:\u002F\u002Fsite.spawning.ai\u002Fspawning-ai-txt",[79],[85,846,847,794,850],{},[59,848,849],{},"Borrador IETF de .well-known\u002Fai.txt (Kayla Cardillo, 2026)",[75,851,852],{"href":852,"rel":853,":target":799},"https:\u002F\u002Fdatatracker.ietf.org\u002Fdoc\u002Fdraft-car-ai-txt-wellknown\u002F",[79],[85,855,856,794,859],{},[59,857,858],{},"Repositorio de la especificación ai.txt en GitHub",[75,860,861],{"href":861,"rel":862,":target":799},"https:\u002F\u002Fgithub.com\u002Fkaylacar\u002Fai-txt",[79],[864,865,866],"style",{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":114,"searchDepth":127,"depth":133,"links":868},[869,870,874,878,882,890,891,892],{"id":12,"depth":127,"text":13},{"id":49,"depth":127,"text":50,"children":871},[872,873],{"id":66,"depth":133,"text":67},{"id":225,"depth":133,"text":226},{"id":232,"depth":127,"text":233,"children":875},[876,877],{"id":255,"depth":133,"text":67},{"id":342,"depth":133,"text":343},{"id":369,"depth":127,"text":370,"children":879},[880,881],{"id":387,"depth":133,"text":67},{"id":426,"depth":133,"text":427},{"id":463,"depth":127,"text":464,"children":883},[884,885,889],{"id":482,"depth":133,"text":483},{"id":501,"depth":133,"text":502,"children":886},[887,888],{"id":523,"depth":139,"text":524},{"id":648,"depth":139,"text":649},{"id":696,"depth":133,"text":697},{"id":711,"depth":127,"text":712},{"id":758,"depth":127,"text":759},{"id":785,"depth":127,"text":786},"2026-07-19","Aprende qué son estos archivos, cómo se crean y cómo pueden ayudar a que los agentes de IA encuentren y entiendan mejor tu contenido.","md","blog\u002Foptimizar-web-para-agentes-ia",[31,36,40,898,899,900,901,902],"well-known ai.txt","ia sitio web","crawlers ia","optimizar web para ia","geo",{},"\u002Fblog\u002Foptimizar-web-para-agentes-ia",{"title":5,"description":894},[907,908],"llms","ia","Cada vez más agentes de IA, asistentes y crawlers especializados recorren la web en busca de contenido. Para facilitarles el trabajo han surgido nuevos estándares como llms.txt, llms-full.txt, ai.txt y .well-known\u002Fai.txt. Te explico qué es cada uno, cómo crearlos y qué ventajas pueden aportar a tu sitio web.",[911,912,913],"Programación","Tecnología","IA","FGkuANjRfJS_e373SPEIcDxE9oQ7a4zmTly_9BdASOE",1784591174496]