Si trabajas con LLMs (ChatGPT, Claude, Gemini, etc.) para redactar, resumir o estructurar contenido, hay un detalle que casi nadie mira: cuando copias y pegas, a veces no pegas solo texto. Pegas rastros (Incluso con API).
LLM Trace Cleaner: por que deberías limpiar el HTML que copias de ChatGPT (y como hacerlo en WordPress)
Rastros en forma de atributos HTML ocultos (data-…), referencias incrustadas tipo oaicite, parámetros UTM en enlaces y caracteres invisibles que no ves, pero que se quedan en tu código. En el editor parece todo correcto. En el HTML publico, es otra historia.
LLM Trace Cleaner es un plugin de WordPress creado para eso: eliminar automáticamente esos rastros y dejar tu contenido limpio, ligero y bajo control.
Que son los rastros ocultos de los LLMs
Algunas interfaces de LLM, editores intermedios y flujos de copy/paste meten metadatos en el HTML para su propio tracking interno: estructura del mensaje, marcadores de inicio/fin, IDs, modelo usado, timestamps, etc. Nada de eso aporta valor a tu usuario final.
Y aun peor: hay rastros que pueden filtrar información sensible o, como mínimo, dejar señales innecesarias sobre tu flujo de trabajo (de donde viene el contenido, como se generó, con que herramienta, etc.).
| Tipo de rastro | Ejemplos comunes | Por que es un problema |
|---|---|---|
| Atributos HTML ocultos | data-start, data-end, data-llm-id, data-message-id, data-model, etc. | Engorda el HTML, mete ruido en el DOM y puede exponer metadatos que no quieres publicar. |
| Referencias incrustadas en el texto | ContentReference [oaicite:=0](index=0), [oaicite:0], etc. | Ensucia el contenido y deja marcas obvias del origen. |
| Tracking en enlaces | utm_source=chatgpt.com, utm_medium=chat, y cualquier utm_* | URLs mas feas, menos consistentes, y de regalo: expone el origen. |
| Caracteres invisibles | Zero-width, bidi controls, selectores de variacion, etc. | Se cuelan sin que lo veas, pueden romper cosas raras y servir como marcas invisibles. |
Traducción: si produces contenido a escala (o simplemente publicas mucho), esto se convierte en «basura técnica acumulada». Y en WordPress, la basura técnica siempre acaba saliendo cara: problemas de cache, editores, migraciones, render, rastreo, etc.
Ventajas de limpiar esos datos (y por que debería importarte)
1) HTML mas ligero (y un DOM mas sano)
Menos atributos y menos ruido implica menos peso y menos complejidad. No es magia, es higiene: tu contenido queda mas limpio, mas fácil de procesar y mas estable a futuro.
2) Mejor control de privacidad
Hay atributos que directamente no deberían salir a producción en una web pública. Algunos pueden correlacionar sesiones, conversaciones o contexto. Otros son «solo» metadatos, pero igual: si no aporta valor al usuario, fuera.
3) Menos señales innecesarias sobre tu flujo de contenido
Si publicas enlaces con utm_source=chatgpt.com o dejas referencias oaicite, estas dejando migas de pan. No es que el mundo se acabe, pero estas regalando señales que no controlas y que no suman.
4) Menos problemas raros con editores, buscadores internos y accesibilidad
Los caracteres invisibles son el típico enemigo silencioso: no los ves hasta que buscas una palabra y no aparece, copias un texto y se «rompe», o un bloque se comporta raro. Mejor eliminarlos antes de que se conviertan en una tarde perdida.
5) Limpieza recurrente sin depender del «cuidado humano»
La realidad: si hay varias personas publicando (o tu publicas con prisa), confiar en que todo el mundo va a pegar en modo texto plano es un chiste. Necesitas un guardarraíl. Para eso esta el plugin.
¿Qué hace LLM Trace Cleaner exactamente?
LLM Trace Cleaner limpia el contenido HTML de entradas y paginas en WordPress eliminando:
- Atributos de rastreo (data-…) que suelen colarse desde herramientas LLM.
- IDs generados con patrones típicos de algunas respuestas pegadas.
- Referencias incrustadas tipo
oaicite. - Parámetros
utm_*en enlaces (incluyendoutm_source=chatgpt.com). - Caracteres invisibles (por ejemplo, zero-width y controles de direccion) que pueden actuar como marcas o causar problemas.
Ademas, incluye:
- Limpieza automática (opcional) al guardar entradas/paginas.
- Limpieza manual para escanear y limpiar contenido existente.
- Procesamiento por lotes con barra de progreso (para evitar timeouts en sitios grandes).
- Logging completo de lo que se encontró y elimino.
- Gestion inteligente de cache y compatibilidad con plugins populares (LiteSpeed, WP Rocket, W3TC, etc.).
- Opción de desactivar cache para bots/LLMs cuando acceden al sitio (configurable).
- Telemetria anonima opt-in (si quieres aportar datos agregados para investigación; el plugin funciona igual sin ella).
- Actualizaciones directas desde GitHub (sin depender de instalaciones manuales constantes).
Detalle importante: en el changelog se indica que se mejoro la limpieza de UTM y caracteres invisibles dentro de bloques de Gutenberg y page builders, para evitar que se reintroduzcan al restaurar bloques. Esto es clave si publicas con Elementor, Divi, Bricks, WPBakery y compañía.
Ejemplo rápido: el tipo de basura que evita
Antes de ver el ejemplo, quédate con esta idea: cuando copias desde un LLM, a veces el texto viene “envuelto” en metadatos que no ves en el editor (atributos data-*, IDs internos), y los enlaces pueden traer tracking (UTMs) que tampoco aporta nada al usuario.
En pantalla parece limpio, pero en el HTML se queda ese ruido.
Este bloque muestra, de forma muy simplificada, el tipo de “basura” que el plugin elimina y como debería quedar el código final listo para publicar.
<!-- ANTES: copiado/pegado desde un LLM (ejemplo simplificado) -->
<p data-start="12" data-end="58" data-llm-id="abc123" data-model="gpt-4">
Texto normal que parece limpio.
</p>
<a href="https://ejemplo.com/?utm_source=chatgpt.com&utm_medium=chat">Enlace</a>
<!-- DESPUES: lo que quieres publicar -->
<p>Texto normal que parece limpio.</p>
<a href="https://ejemplo.com/">Enlace</a>
Tutorial rápido: instalar, configurar y limpiar tu sitio
Requisitos
- WordPress 5.0 o superior
- PHP 7.4 o superior
- Extensión PHP DOMDocument (recomendada, no obligatoria)
Paso 1: instalar el plugin
Opción A: instalación desde ZIP (la mas cómoda)
- Descarga el ZIP del repositorio.
- En WordPress, ve a Plugins > Anadir nuevo.
- Haz clic en Subir plugin.
- Selecciona el ZIP y pulsa Instalar ahora.
- Activa el plugin.
Opción B: instalación manual
- Descarga o clona el repositorio.
- Sube la carpeta
llm-trace-cleanera/wp-content/plugins/. - Activa el plugin desde el menú Plugins.
Cuando este activo, entra en: Herramientas > LLM Trace Cleaner.
Paso 2: configuración inicial
- Ve a Herramientas > LLM Trace Cleaner.
- En la sección Configuración, activa o desactiva limpieza automática según tu flujo.
- Guarda los cambios.
Paso 3: limpieza automática (opcional, pero recomendada si publicas a menudo)
Si activas la limpieza automática:
- El contenido se limpia cada vez que guardas una entrada o pagina.
- Se registra el cambio en el log.
- La cache se limpia tras cada modificación (si aplica).
Paso 4: limpieza manual del contenido existente (ideal para la primera vez)
- Ve a Herramientas > LLM Trace Cleaner.
- En Limpieza manual, haz clic en Escanear y limpiar contenido ahora.
- El proceso corre en lotes para evitar sobrecargar el servidor.
- Sigue la barra de progreso.
- Al finalizar veras un resumen: posts analizados, posts modificados y detalle de lo eliminado.
Paso 5: revisa el log (para auditar, no por ansiedad)
- En la misma pantalla, entra en Registro de actividad.
- Veras las ultimas acciones (y paginación si hay mas).
- Puedes vaciar el log o descargar el archivo completo si necesitas una auditoria.
Paso 6 (opcional): gestión de cache y bots/LLMs
El plugin incluye gestión inteligente de cache:
- Durante la limpieza: puede desactivar cache para evitar interferencias.
- Después de modificar posts: limpia cache del post modificado.
- Al finalizar: limpia cache general del sitio para reflejar cambios.
Y si quieres ir un paso mas allá, puedes activar Desactivar cache para bots/LLMs:
- Ve a Herramientas > LLM Trace Cleaner.
- Activa la opción Desactivar cache para bots/LLMs.
- Selecciona los bots/LLMs que quieres detectar.
- Opcional: agrega bots personalizados (uno por línea).
- Guarda la configuración.
Por que es importante marcar «Compartir estadísticas anónimas»
Esta opción no esta ahí por postureo. Si quieres que el plugin (y todo el ecosistema) mejore de verdad, marcar la casilla de «Compartir estadísticas anónimas» es la palanca mas directa. Estamos hablando de investigar y medir, con datos reales, como los LLMs marcan el contenido cuando copias y pegas, que rastros aparecen con mas frecuencia y como evolucionan con el tiempo.
En la documentación del plugin queda claro que la telemetría es opt-in (solo se activa si tu la marcas) y que no afecta a la funcionalidad: el plugin limpia igual aunque no compartas nada. Entonces, por que activarla?
Porque sin datos agregados a escala, esto se queda en «me suena que pasa» en lugar de «tenemos evidencia, patrones y prioridades claras».
Que se envía (y que NO) cuando activas la casilla
| Si se recopila (anónimo y agregado) | No se recopila (nunca) |
|---|---|
| Numero total de paginas procesadas Numero de paginas con datos ocultos detectados Tipos de atributos y caracteres invisibles encontrados (por ejemplo: data-start, data-llm, unicode: Zero Width Space) Contadores por tipo de rastro encontrado Version del plugin, WordPress y PHP (para compatibilidad) | URLs de tu sitio Títulos de posts o paginas IDs de posts Contenido del sitio Información personal o sensible Datos que puedan identificar tu sitio o tus usuarios |
Además, el plugin indica que el envio se hace de forma segura (HTTPS) y que los datos se almacenan de manera agregada, de forma que no se puede identificar un sitio individual a partir de lo recopilado.
Para que sirve (lo util, no lo bonito)
- Investigación y estudios: publicar análisis reales sobre que «datos ocultos» están metiendo los LLMs en el HTML y como cambian por herramienta, tiempo y contexto.
- Análisis de tendencias: saber que rastros son mas comunes (y cuales están apareciendo «nuevos») para no ir siempre por detrás.
- Mejora del plugin: priorizar que atributos y caracteres eliminar primero, que casos dan mas problemas, y donde hay que reforzar la limpieza (Gutenberg, builders, decodificaciones raras, etc.).
- Mejora de procesos: no solo «limpiar», sino entender el fenómeno para ajustar flujos editoriales, plantillas, QA y automatizaciones.
- Estudios sobre buscadores: analizar a nivel agregado como se cruza todo esto con rastreo, render y consumo de contenido en la era LLM.
Control total: tu decides, cuando quieras
- Opt-in explicito: si no marcas la casilla, no se envía nada.
- Desactivable en 1 clic: puedes desmarcarla cuando quieras.
- Sin impacto funcional: el plugin funciona igual sin telemetría.
En resumen: si te interesa que salgan estudios serios sobre estos rastros (y no opiniones), y que el plugin se mantenga al día conforme los LLMs cambian sus «marcas», marcar «Compartir estadísticas anónimas» es contribuir con el minimo esfuerzo y el maximo impacto.
Tips y buenas practicas (modo YaggoSEO)
- Esto no es para «ocultar que usas IA». Esto es para no publicar basura técnica. Punto.
- Haz una limpieza manual la primera vez y luego activa la automática si tu flujo es de copy/paste frecuente.
- Si usas page builders, este tipo de limpieza es aun mas importante porque el HTML ya es denso de por si.
- Menos ruido = mejor mantenimiento. Migraciones, caches, minificaciones y editores se llevan mejor con HTML limpio.
- Publica como si tu HTML lo fuese a leer alguien. Porque lo va a leer: bots, scrapers, LLMs, Agentes IA, revisores, tu yo del futuro.
Preguntas frecuentes (FAQ)
Que son exactamente los «datos ocultos» o rastros de un LLM?
Son elementos que pueden colarse al copiar y pegar desde un LLM: atributos HTML (por ejemplo
data-*), referencias incrustadas tipooaicite, parámetros UTM en enlaces y caracteres invisibles. No aportan nada al lector y suelen ser residuos técnicos del flujo de generación.Esto ¿afecta al SEO directamente?
No es un “factor SEO” directo como tal, pero ayuda por acumulación: HTML mas limpio, menos ruido, menos riesgo de fallos raros en render, edición o cache, y menos señales innecesarias expuestas en el código. Es higiene técnica aplicada a contenido.
El plugin ¿cambia el texto que escribo?
La idea es que no: limpia rastros, tracking y caracteres invisibles, pero mantiene el contenido visible y la estructura funcional. Aun así, si tienes contenido con código embebido o casos muy personalizados, revisa una entrada tras la primera limpieza masiva.
¿Puede romper maquetación o estilos?
En general no debería, porque elimina atributos que no deberían influir en el render. Pero si tu tema o algún builder se apoya en atributos no estándar (poco habitual), podría haber algún caso puntual. Por eso es buena practica probar primero en staging o con unas pocas entradas.
¿Sirve si uso Gutenberg? ¿Y si uso Elementor, Divi o Bricks?
Si. El plugin esta pensado para WordPress real: Gutenberg y también escenarios con builders. Aun así, cada builder genera su propia estructura, por lo que tras la primera limpieza conviene revisar 2 o 3 paginas representativas.
¿Qué pasa con los enlaces con UTM? ¿Los elimina siempre?
El objetivo es eliminar parámetros UTM que se cuelan por el copy/paste desde herramientas LLM (por ejemplo
utm_source=chatgpt.com).
Si tu estrategia usa UTMs a propósito (campañas), revisa la configuración/alcance para no limpiar los que si necesitas.¿Que son los caracteres invisibles y por que importan?
Son caracteres Unicode que no se ven (zero-width, controles bidi, etc.) y pueden colarse en el texto.
A veces solo ensucian; otras veces provocan comportamientos raros: búsquedas que fallan, copiados corruptos o render extraño. Eliminarlos evita problemas silenciosos.¿La limpieza es automática o tengo que hacerlo a mano?
Ambas. Puedes activar limpieza automática al guardar (para que no se te escape nada) y también ejecutar una limpieza manual por lotes para sanear contenido antiguo.
¿Es seguro ejecutar una limpieza masiva en un sitio grande?
El plugin procesa por lotes para reducir riesgo de timeouts. Aun así, en sitios grandes lo sensato es: backup, probar en staging, y lanzar la limpieza en una franja de menor trafico.
¿Qué diferencia hay entre limpiar y mejorar la calidad del contenido?
Limpiar es higiene: quitar residuos. Mejorar calidad es otra liga: estructura, intención de búsqueda, profundidad, ejemplos, fuentes, EEAT, enlazado interno, etc. Idealmente haces ambas cosas: buen contenido y HTML limpio.
¿El plugin envía mi contenido o mis URLs si activo las estadísticas anónimas?
No: la idea es enviar contadores y tipos de rastros detectados, no el contenido. El objetivo es analítica agregada, no inspeccionar tu web.
Si esto te preocupa, puedes no activarlo y seguir usando el plugin perfectamente.Tengo cache (LiteSpeed, WP Rocket, W3TC). ¿Afecta?
Puede afectar en el buen sentido: el plugin contempla limpieza y purga para que los cambios se reflejen. Tras una limpieza masiva, revisa que la cache se haya purgado correctamente (y, si hace falta, fuerza purga completa una vez).
¿Cómo puedo comprobar si mi contenido tenia rastros antes de instalarlo?
Abre una entrada, ve a la vista de código (o “Editar como HTML”) y busca
data-,oaicitey enlaces conutm_. Para caracteres invisibles es mas complicado a ojo: por eso es tan útil que el plugin los detecte y los registre.
Descarga y soporte
Puedes ver el repositorio del plugin aquí:
Si te sirve:
- Dale una estrella en GitHub (es gratis y ayuda) y en Truspilot.
- Reporta issues con ejemplos reales (mejor aun si adjuntas el HTML antes/después).
- Si eres dev, PRs bienvenidas.
Moraleja: usar LLMs esta bien. Publicar rastros innecesarios, no. Limpia y sigue.
Feliz Navidad y Felices Fiestas.






