Si usas WordPress y quieres que los agentes de IA puedan leer tu contenido de forma eficiente, hay una solución directa: Content Negotiation for AI, un plugin gratuito y de código abierto que implementa el estándar HTTP de negociación de contenido en WordPress.
El problema que resuelve es concreto. Cuando un agente de IA solicita una URL de WordPress, recibe una página HTML completa con navegación, scripts, estilos y widgets. De esos cientos de kilobytes, menos del 10% es contenido útil. El resto son tokens desperdiciados.
Si quieres entender a fondo el problema y ver cómo se resuelve en Next.js, lee el artículo Content Negotiation para Agentes de IA: De 316KB a 1.3KB. El presente artículo se centra en la implementación para WordPress.
Cómo funciona
El plugin intercepta las peticiones al REST API de WordPress. Cuando detecta el header Accept: text/markdown, devuelve el post como markdown con frontmatter YAML en lugar del JSON o HTML habitual.
# Sin el plugin: el agente recibe JSON con HTML embebido
curl https://tu-sitio.com/wp-json/wp/v2/posts/123
# Con el plugin: markdown limpio
curl -H "Accept: text/markdown" \
https://tu-sitio.com/wp-json/wp/v2/posts/123
La respuesta incluye metadata estructurada y el contenido convertido a markdown:
---
title: "Mi artículo en WordPress"
date: "2026-02-24T10:00:00Z"
author: "Angel Cruz"
categories:
- "WordPress"
tags:
- "plugins"
excerpt: "Descripción del artículo"
---
# Mi artículo en WordPress
Contenido del artículo en markdown limpio...
También funciona con la extensión .md directamente en la URL:
curl https://tu-sitio.com/mi-articulo.md/
Ambos métodos devuelven el mismo contenido. El header Vary: Accept en la respuesta evita que las CDNs mezclen versiones.
Por qué importa
Una página típica de WordPress puede pesar entre 200KB y 500KB. El markdown equivalente ronda los 2KB a 5KB. La diferencia no es cosmética: se traduce directamente en costos de API.
Con Claude Sonnet, procesar 80.000 tokens de HTML cuesta aproximadamente $0.24 por petición. El markdown equivalente, unos 350 tokens, cuesta $0.001. Si tienes un sistema RAG, un agente leyendo varios artículos, o simplemente alguien usando Claude Code para explorar tu documentación, el ahorro es significativo.
Además, el markdown limpio mejora la calidad de las respuestas. Sin ruido de markup, el modelo comprende mejor el contenido y puede hacer chunking más preciso para sistemas de recuperación.
Instalación
Sin configuración. Solo activa y funciona.
- Descarga el ZIP desde GitHub
- Ve a Plugins > Añadir nuevo > Subir plugin
- Sube el archivo y activa el plugin
- Listo
El plugin solo se activa cuando una petición incluye Accept: text/markdown o usa una URL .md. Las visitas normales al sitio no se ven afectadas.
Compatibilidad
El plugin funciona con cualquier tema y constructor de páginas: Elementor, Divi, Oxygen, temas de bloque, temas clásicos. Opera a nivel del REST API, no del frontend.
El frontmatter incluye automáticamente:
- Campos de Yoast SEO y All in One SEO (meta descripción)
- Advanced Custom Fields (todos los campos personalizados)
- Posts, páginas y cualquier custom post type (configurable mediante filtros)
Soporta WordPress Multisite con activación individual por sitio.
Requisitos técnicos
- PHP 8.0 o superior
- WordPress 6.0 o superior (probado con 6.7+)
Para developers: extensión mediante filtros
El comportamiento del plugin es configurable desde el código sin necesidad de modificar el núcleo:
// Añadir campos al frontmatter
add_filter('cnai_frontmatter_fields', function($fields, $post) {
$fields['reading_time'] = get_post_meta($post->ID, '_reading_time', true);
return $fields;
}, 10, 2);
// Cambiar duración del caché (por defecto: 1 hora)
add_filter('cnai_cache_duration', function($duration) {
return 7200; // 2 horas
});
// Añadir soporte para custom post types
add_filter('cnai_enabled_post_types', function($types) {
$types[] = 'documentacion';
return $types;
});
La caché usa WordPress Transients API y es compatible con Redis y Memcached si tienes object cache configurado. Se invalida automáticamente al guardar o eliminar posts.
Diferencias con la implementación en Next.js
Si usas Next.js en lugar de WordPress, el enfoque es distinto: en lugar de convertir HTML a markdown, sirves directamente los archivos markdown fuente desde el filesystem. Eso logra reducciones mayores (99.6% frente al 80-90% de la conversión HTML) porque no hay pérdida de fidelidad en el proceso.
El artículo Content Negotiation para Agentes de IA cubre esa implementación en detalle: route handlers, configuración de rewrites, estrategia de caché con ISR y comparación con el enfoque de Cloudflare.
Para WordPress, este plugin es la opción más directa. No requiere migrar el contenido a archivos markdown ni cambiar el CMS.
Descarga
El plugin está disponible gratuitamente en GitHub bajo licencia GPL-2.0. También puedes ver la ficha completa con todas las funcionalidades en la página del producto.
