Si tienes una web, seguro que ya te has dado cuenta: los bots de inteligencia artificial están por todas partes, rastreando contenido sin pedir permiso.
Pues bien, Cloudflare está a tope con la defensa de los creadores de contenido y ha lanzado Content Signals, una iniciativa que promete darte más control sobre cómo usan tu contenido. Suena bien, ¿verdad?
Pero vamos a bajar a tierra.
Te voy a contar qué es esto de Content Signals, cómo funciona, y sobre todo, qué puedes esperar realmente de ello. Porque, spoiler: no es la panacea que algunos están contando, pero tiene su aquél. Lo vemos, y luego comentamos si quieres.
Para empezar…
¿Qué es Content Signals?

Content Signals es una propuesta de mejora del archivo robots.txt que Cloudflare lanzó en septiembre de 2025 para indicar a los crawlers de IA qué pueden y qué no pueden hacer con tu contenido.
El robots.txt de toda la vida solo te deja decir «puedes entrar aquí» o «no puedes entrar allá», pero no dice nada sobre qué puede hacer el bot con tu contenido una vez que lo ha leído.
¿Lo usa para entrenar su modelo? ¿Lo cita en respuestas? ¿Lo indexa para búsquedas? Hasta ahora, no tenías forma de expresar tus preferencias sobre esto.
Content Signals intenta solucionar esto con tres señales claras:
search: para indexar contenido y mostrar enlaces con fragmentos cortos (búsqueda tradicional)ai-input: para usar tu contenido como entrada en respuestas de IA en tiempo real (tipo las de Perplexity o Google AI Overviews)ai-train: para entrenar o afinar modelos de IA con tu contenido
Para cada señal puedes indicar:
yes= permitidono= no permitidoNo poner nada= sin preferencia
Cloudflare dice que más de 3,8 millones de dominios ya tienen Content Signals activado (los que usan su robots.txt gestionado). Impresionante, ¿no?
La cruda realidad: nadie lo está respetando (de momento)

Vale, ahora viene la parte importante: ninguna compañía de IA importante se ha comprometido públicamente a respetar estas señales.
Ni OpenAI, ni Google, ni Anthropic, ni Meta han dicho «vale, vamos a hacer caso a Content Signals». Google ni siquiera ha confirmado si lo va a respetar o no, y eso que Cloudflare les informó antes de lanzarlo.
Pero es que hay más. Según análisis técnicos de agosto de 2025, los principales crawlers de IA (GPTBot de OpenAI, ClaudeBot de Anthropic, PerplexityBot) ni siquiera están mirando estos archivos. Los únicos que los leen son GoogleBot y BingBot, los rastreadores tradicionales de búsqueda, y no precisamente para hacerles caso en temas de IA.
¿Por qué pasa esto?
Pues porque Content Signals es exactamente lo mismo que robots.txt: una petición educada que depende de la buena voluntad del otro. No es una medida técnica que bloquee nada. Si un bot quiere ignorarlo, lo ignora y ya está.
De hecho, muchos bots de IA ya ignoran el robots.txt tradicional. Cloudflare incluso acusó a Perplexity de usar crawlers invisibles para saltarse los bloqueos. Así que imagínate lo que van a hacer con estas nuevas directivas. O quizás no, ¿tú qué crees?
Entonces, ¿para qué sirve esto?
Vale, si nadie lo respeta, ¿por qué molestarse? Bueno, hay algunos motivos:
- El peso de Cloudflare importa: Gestionan el 20% del tráfico de internet. Cuando Cloudflare hace algo, la industria presta atención. No es una startup random, es un gigante de la infraestructura web.
- Presión legal y moral: Content Signals incluye un texto que hace referencia a la Directiva Europea 2019/790 sobre derechos de autor. No es vinculante legalmente por sí mismo, pero deja claro que estás expresando tus derechos. Si una empresa ignora esto y luego hay un juicio, podrías demostrar que dejaste claras tus intenciones.
- Es gratis y fácil: Si ya usas Cloudflare, activarlo son dos clics, y si no lo usas sigue leyendo, puedes aplicarlo en segundos en tu WordPress. No pierdes nada por hacerlo, aunque tampoco esperes milagros.
- Marca precedente: Quizás en el futuro alguna legislación haga obligatorio respetar estas señales. O quizás las compañías de IA decidan voluntariamente hacerlo para evitar demandas. Quién sabe.
Lo que debes tener claro es que – actualmente – Content Signals no va a detener mágicamente a los bots de IA. Es más una declaración de intenciones que una protección efectiva.
Cómo funciona técnicamente Content Signals: guía rápida, sencilla pero completa

Te lo explico rápido. La idea de Content Signals es que se integre en tu archivo robots.txt con dos componentes:
- Un texto legible para humanos (como comentarios).
- Directivas legibles para máquinas.
Las tres señales disponibles
Antes de lanzarnos a los ejemplos, vamos a dejar claro qué significa cada señal.
search = búsqueda tradicional
- Qué contempla: Construir un índice de búsqueda, mostrar enlaces a tu web y fragmentos cortos de texto en resultados de búsqueda (como siempre ha hecho Google).
- Qué NO contempla: Resúmenes generados por IA. Esos entran en
ai-input. - Ejemplo real: Cuando buscas «cómo instalar WordPress» en Google y te sale un listado de enlaces con pequeños extractos de texto.
ai-input = usar tu contenido en respuestas de IA en tiempo real
- Qué contempla: RAG (Retrieval Augmented Generation), respuestas conversacionales de IA que citan o usan tu contenido en el momento.
- Ejemplo real: Cuando le preguntas a Perplexity o ChatGPT algo y te responde citando tu artículo, o las vistas previas de IA en Google que resumen contenido.
- Importante: Esto NO es para entrenar modelos, es para usar tu contenido como referencia en respuestas puntuales.
ai-train = entrenar o afinar modelos de IA
- Qué contempla: Usar tu contenido como datos de entrenamiento para crear o mejorar modelos de lenguaje.
- Ejemplo real: Tu contenido forma parte del dataset con el que GPT-5 o Claude 4 aprenden.
- Lo más polémico: Esto es lo que más cabrea a los creadores de contenido, porque tu trabajo acaba integrado en el modelo sin compensación.
Estructura básica de Content Signals en robots.txt
Un robots.txt con Content Signals tiene esta pinta:
# As a condition of accessing this website, you agree to abide by the following content signals: # (a) If a content-signal = yes, you may collect content for the corresponding use. # (b) If a content-signal = no, you may not collect content for the corresponding use. # (c) If the website operator does not include a content signal for a corresponding use, # the website operator neither grants nor restricts permission via content signal # with respect to the corresponding use. # # The content signals and their meanings are: # search: building a search index and providing search results # (e.g., returning hyperlinks and short excerpts from your website's contents). # Search does not include providing AI-generated search summaries. # ai-input: inputting content into one or more AI models # (e.g., retrieval augmented generation, grounding, or other real-time # taking of content for generative AI search answers). # ai-train: training or fine-tuning AI models. # # ANY RESTRICTIONS EXPRESSED VIA CONTENT SIGNALS ARE EXPRESS RESERVATIONS OF RIGHTS # UNDER ARTICLE 4 OF THE EUROPEAN UNION DIRECTIVE 2019/790 ON COPYRIGHT AND RELATED # RIGHTS IN THE DIGITAL SINGLE MARKET. User-Agent: * Content-Signal: search=yes, ai-train=no Allow: /
Tabla resumen con ejemplos prácticos de aplicación de Content Signals
Aquí tienes los escenarios más comunes y cómo configurarlos.
| Escenario | Configuración | Qué consigues | Para quién |
|---|---|---|---|
| Abierto total | search=yes, ai-input=yes, ai-train=yes |
Todo permitido. Máxima visibilidad en IAs | Webs que quieren máxima exposición en IAs sin importar el uso |
| Búsqueda sí, IA no | search=yes, ai-input=no, ai-train=no |
Búsqueda tradicional SÍ. Todo bloqueado para IAs | Medios y creadores que quieren tráfico orgánico pero no que las IAs usen su contenido |
| Citas sí, entrenamiento no | search=yes, ai-input=yes, ai-train=no |
Búsquedas y citas en IAs SÍ. Entrenamiento NO | El punto medio: visibilidad en IAs pero sin alimentar modelos |
| Cerrado total | search=no, ai-input=no, ai-train=no |
Todo bloqueado | Contenido premium, muro de pago, o muy restrictivo |
| Por defecto en Cloudflare | search=yes, ai-train=no( ai-input sin especificar) |
Búsqueda SÍ, entrenamiento NO. Sin preferencia en ai-input |
La configuración que aplica Cloudflare por defecto |
| Solo para entrenamiento | search=no, ai-input=no, ai-train=yes |
Raro, pero válido. Contenido para entrenar modelos pero no para búsqueda ni citas | Datasets o contenido específico para IA |
Ejemplos de código completos de Content Signals en robots.txt
Ejemplo 1: Configuración conservadora (recomendada para la mayoría)
User-Agent: * Content-Signal: search=yes, ai-input=no, ai-train=no Allow: /
- Esto dice:
Sí a la búsqueda de toda la vida, no a que las IAs usen mi contenido para responder ni para entrenar
Ejemplo 2: Configuración equilibrada
User-Agent: * Content-Signal: search=yes, ai-input=yes, ai-train=no Allow: /
- Esto dice:
Sí a búsqueda, sí a que me citen en respuestas de IA (puede traerme visibilidad), pero no a entrenar modelos con mi contenido
Ejemplo 3: Configuración por secciones (avanzado)
User-Agent: * Content-Signal: search=yes, ai-input=yes, ai-train=no Allow: / # Área restringida - nada de IAs User-Agent: * Content-Signal: search=no, ai-input=no, ai-train=no Disallow: /area-clientes/ Disallow: /cursos-premium/
- Aquí defines una política general para toda la web, pero restringes secciones específicas completamente.
Ejemplo 4: Solo documentación abierta para IAs
User-Agent: * Content-Signal: search=yes, ai-input=no, ai-train=no Allow: / # Documentación técnica - abierta para todo User-Agent: * Content-Signal: search=yes, ai-input=yes, ai-train=yes Allow: /docs/ Allow: /api-reference/
- Perfecto para empresas con documentación técnica que quieren que las IAs la usen libremente, pero el resto del contenido más restringido.
¿Puedo combinar esto con el robots.txt tradicional?
Sí, y de hecho debes usarlos conjuntamente, es precisamente la idea. Content Signals se añade, no reemplaza el robots.txt normal.
Ejemplo completo:
# Bloqueamos bots de IA específicos por su user-agent User-Agent: GPTBot Disallow: / User-Agent: ClaudeBot Disallow: / User-Agent: PerplexityBot Disallow: / # Para el resto, usamos Content Signals User-Agent: * Content-Signal: search=yes, ai-input=no, ai-train=no Allow: / # Sitemap para buscadores Sitemap: https://tuweb.com/sitemap.xml
Esto da una doble capa:
- Bloqueas por
user-agent(aunque puedan cambiarlo) - Declaras tus preferencias mediante Content Signals.
Notas importantes
- Las señales son independientes. Puedes poner
yesen una ynoen otra, o dejar una sin especificar. - Si no pones una señal, no significa ni sí ni no, simplemente no expresas preferencia.
- No hay garantía de que los bots respeten esto. Es declarativo, no imperativo.
- Puedes generar tu código personalizado en contentsignals.org.
¿Y qué pasa con el llms.txt?: más de lo mismo

Ya que estamos hablando de esto, merece la pena mencionar llms.txt, otra iniciativa que busca algo parecido pero con enfoque completamente opuesto.
Mientras Content Signals es restrictivo («esto NO lo puedes hacer«), llms.txt es facilitador («mira, esto es lo mejor que tengo, léelo«). Es un archivo markdown en /llms.txt que lista tus URLs más importantes para que las IAs sepan qué contenido priorizar.
La propuesta ha tenido cierta aceptación, pues ya hay plugins como Yoast SEO y All in One SEO que lo incluyen.
Pero, ¿adivinas qué? Los bots de IA tampoco están leyendo el llms.txt. Según análisis técnicos recientes, GPTBot, ClaudeBot y PerplexityBot no solicitan estos archivos. Solo los rastreadores tradicionales los leen.
Dato curioso: Anthropic (la empresa detrás de Claude) tiene su propio archivo llms.txt publicado en su web, pero su bot ClaudeBot no parece usarlo cuando rastrea otras webs. Irónico, ¿verdad?
Si quieres saber más sobre llms.txt y cómo implementarlo, tengo un artículo completo sobre llms.txt y llms-full.txt que te lo explica todo al detalle, así que no me enrollaré más al respecto, pero es relevante dentro del contexto del que estamos hablando.
Content Signals vs llms.txt: ¿cuál uso?
La pregunta del millón. Aquí va una comparativa directa para que lo veas claro:
| Aspecto | Content Signals | llms.txt |
|---|---|---|
| Propósito | RESTRINGIR el uso de tu contenido | FACILITAR el acceso al mejor contenido |
| Enfoque | Defensivo: qué NO puedes hacer |
Proactivo: esto es lo bueno, úsalo |
| Ubicación | /robots.txt (comentarios + directivas) |
/llms.txt (archivo markdown independiente) |
| Formato | Directivas yes/no/sin valor |
Lista de URLs con descripciones |
| Señales | search, ai-input, ai-train |
Lista seleccionada de contenido prioritario |
| Quién lo impulsa | Cloudflare (gigante de infraestructura) | Jeremy Howard (propuesta comunitaria) |
| Adopción empresas IA | NINGUNA confirmada públicamente | NINGUNA confirmada públicamente |
| Compatibilidad WordPress | Con el robots.txt de Cloudflare + manual | Yoast SEO, AIOSEO, plugins específicos |
| Estado | Propuesta de Cloudflare (sept 2025) | Propuesta comunitaria (estándar emergente) |
| ¿Los bots lo leen? | No hay evidencia | No hay evidencia |
| Ventaja principal | Expresas: restricciones legales claras | Guías a las IAs a tu mejor contenido (de perdidos al río) |
| Mejor para | Proteger derechos, expresar límites | Optimizar visibilidad en respuestas IA |
| ¿Son excluyentes? | Puedes usar ambos a la vez | Puedes usar ambos a la vez |
¿Por qué no los dos?
La realidad es que, como he apuntado en la tabla, no son excluyentes, son complementarios:
- Content Signals: deja claro lo que NO quieres que hagan con tu contenido
- llms.txt: facilita a los bots encontrar lo MEJOR de tu contenido
Si usas ambos, estás cubriendo los dos frentes: restricciones claras + optimización inteligente.
Ejemplo práctico:
- Activas Content Signals con
search=yes, ai-input=yes, ai-train=no(permites citas pero no entrenamiento) - Creas un
llms.txtcon tus 20 mejores artículos - Resultado:
Puedes usar mi contenido para respuestas, pero no para entrenar. Y si lo vas a hacer, empieza por estos artículos que son los mejores
¿Funcionará? Pues sinceramente, ni lo se yo ni nadie, pero al menos estás expresando tus preferencias de la forma más completa posible con las herramientas disponibles hoy.
Cómo implementar Content Signals en WordPress
Si quieres implementar Content Signals en tu WordPress, ahora mismo tienes dos opciones:
Opción 1: Si usas Cloudflare
Si tu web ya está optimizada con Cloudflare, esto es pan comido:
- Entra en tu dashboard de Cloudflare
- Ve a la sección de Security Settings
- Busca la opción de Managed robots.txT o Content Signals Policy
- Activa la funcionalidad
Cloudflare aplicará automáticamente una configuración por defecto: search=yes y ai-train=no. Dejan ai-input sin especificar porque no quieren adivinar tus preferencias.
También puedes ir directamente a <a href=»https://contentsignals.org/» target=»_blank» rel=»nofollow»>contentsignals.org</a> y usar su herramienta para generar el código personalizado que necesites. Una vez generado, si tienes Cloudflare, puedes desplegarlo con un botón.
Opción 2: Si no usas Cloudflare
Si no usas Cloudflare, puedes editar tu robots.txt manualmente. Pero ojo, en WordPress esto tiene su miga porque muchos plugins de SEO gestionan el robots.txt virtual.
La forma más sencilla:
- Usa un plugin de SEO que te permita editar el robots.txt desde el escritorio de WordPress.
- Ve a la sección de edición del robots.txt.
- Añade las líneas de Content Signals que hayas generado (usa los ejemplos de arriba o genera el tuyo en contentsignals.org).
- Guarda cambios.
Otra opción con la que no dependes de nada es crear un archivo robots.txt físico en la raíz de tu WordPress y añadir allí las directivas. Pero si tienes plugins de SEO activos, asegúrate de que no entren en conflicto.
¿No hay plugins WordPress para Content Signals?
De momento no hay plugins de WordPress específicos para gestionar Content Signals. Mientras tanto, con las opciones anteriores ya puedes ir implementándolo, pero estoy en ello 😉
¿Qué puedes hacer realmente para proteger tu contenido del abuso de las IAs?
Vale, entonces si Content Signals no funciona y llms.txt tampoco estamos apañados, ¿qué hacemos?
La verdad incómoda es que no hay forma sencilla y gratuita de bloquear eficazmente a los bots de IA si están decididos a ignorar tus peticiones.
Algunas opciones reales:
- Robots.txt tradicional – Bloquea los bots de IA conocidos (GPTBot, ClaudeBot, etc.). No es infalible porque pueden cambiar de
user-agent, pero algo es algo. Y esto sí que lo puedes hacer fácilmente con plugins como SEOPress o con las reglas de bloqueo para todos los bots de IA que tengo aquí publicadas y actualizadas permanentemente. - Bot Management de Cloudflare – La protección de pago de Cloudflare que sí bloquea técnicamente el tráfico de bots. Pero claro, esto ya no es gratis y requiere planes Pro, Business o Enterprise.
- Firewall y limitación de velocidad – Configurar reglas en tu servidor o CDN para detectar y limitar comportamientos de scraping agresivo. Más técnico y requiere conocimientos o ayuda profesional.
- Autenticación para contenido sensible – Si tienes contenido realmente valioso, ponlo detrás de un login. Los bots no pueden pasar de ahí (de momento).
- Aceptar la realidad – A veces la mejor opción es simplemente asumir que tu contenido público va a ser rastreado. Si decides aceptar esta realidad y trabajar CON las IAs en lugar de contra ellas, echa un vistazo a mi plugin AI Share & Summarize. Está pensado precisamente para ayudarte a optimizar tu contenido para que aparezca bien en las respuestas de IA, conseguir que te citen, y sacarle partido a esta nueva forma de descubrir contenido.
Céntrate en crear contenido tan bueno que, aunque lo usen para entrenar IAs, tu experiencia de usuario y tu marca sigan siendo superiores.
Conclusión: herramientas imperfectas en tiempos inciertos
Content Signals de Cloudflare es un intento bienintencionado de dar más control a los creadores de contenido. El problema es que depende de la cooperación voluntaria de las empresas de IA, y de momento no hay señales de que eso vaya a pasar.
- ¿Deberías implementarlo? Si usas Cloudflare y te cuesta dos clics, ¿por qué no? No va a solucionar el problema, pero al menos dejas constancia de tus preferencias. Quizás en un futuro, con regulación más estricta, esto sirva para algo.
- ¿Es la solución que estábamos esperando? No. Tristemente, ahora mismo aún no.
La realidad es que estamos en tierra de nadie:
- Las empresas de IA están rastreando contenido masivamente.
- Las herramientas para expresar preferencias existen pero son ignoradas.
- La legislación va años por detrás de la tecnología.
Mientras tanto, lo único que podemos hacer es combinar todas las herramientas disponibles:
- Content Signals para expresar preferencias.
- lms.txt para facilitar el acceso a tu mejor contenido.
- robots.txt tradicional para controlar los deseos de rastreo.
- Protección frente a bots, de pago, si te lo puedes permitir.
Y sobre todo, ser realista sobre lo que puedes y no puedes controlar.
El internet abierto tiene sus ventajas, pero también sus problemas. Y este es uno de los más grandes que estamos enfrentando ahora mismo.
Recursos útiles:
¿Has implementado Content Signals en tu web? ¿Has notado algún cambio en el comportamiento de los bots? Cuéntame tu experiencia en los comentarios.
¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!






