Chatbot Local para WordPress: no permitas que una IA responda por ti

29.08.2026|

Tiempo de lectura Lectura: 6 min, 11 s
Número de palabras Palabras: 1146
Número de visitas Visitas: 64
Icono de traducción

Local Chatbot

¡Hola! ¿En qué puedo ayudarte hoy?

Aquí tienes el plugin Chatbot Local funcionando, es el mismo chat que encontrarás siempre aquí.

Si buscas "chatbot" en el repositorio de WordPress encontrarás cientos de plugins basados en IA o servicios externos. La IA hasta en la sopa. Resulta imposible encontrar algo simple y ligero que permita construir un chat de asistencia basado solo en tus respuestas. Así nació Chatbot Local, buscando algo que no encontré. Aunque sé que a día de hoy, con la cantidad de plugins que existen, es más que probable que solo lo instalen tres o cuatro, creo que este plugin cubre un vacío.

Hace un tiempo compartí por aquí un sistema básico mediante código para añadir un chatbot de lógica difusa (Fuzzy Search) en WordPress basado en palabras clave. Es ligero, funciona bien, no depende de IA alguna, ni de APIs externas ni llamadas a terceros y mantiene la privacidad. Sin embargo, implementar aquello requería pelear con snippets, pegar bloques manualmente o retocar archivos del tema. Algo que no todo el mundo quiere o sabe hacer.

Para solucionar eso he desarrollado Chatbot Local, que pronto estará disponible como plugin en el repositorio de WordPress, lo envié a revisión el 2 de agosto, y que puedes probar desde ya. De momento está en inglés, pero se traducirá en el repositorio en su momento.

6 de agosto: Ya he recibido la primera revisión (con respuesta mezcla de IA y humana) y en el repositorio, para evitar un posible conflicto de nombres con algo "genérico" o de marca (que yo no veía por ningún sitio) el plugin pasará a llamarse JRMora Local Chat Assistant (nombre que sugieren). Es mucho más largo y presuntuoso. No me gusta, pero así pasaba el filtro.

No me parece muy buena política añadir tanta IA a la respuesta porque llega un correo kilométrico que confunde más que ayuda.

29 de agosto. Se aprueba el plugin en el repositorio tras los arreglos necesarios.

¿Por qué pasar del snippet a un plugin dedicado?

A diferencia de meter funciones sueltas en el functions.php de tu plantilla o en un gestor de snippets, empaquetarlo como plugin nativo ha permitido estructurar todo mucho mejor, mejorar la seguridad, añadir panel de administración y resolver aspectos clave de rendimiento y base de datos:

1. Carga condicional estricta de assets (WPO)

Uno de los principales problemas al añadir código a mano es controlar cuándo se cargan los estilos y scripts. En JRMora Local Chat Assistant, tanto el CSS como el JS solo se encolan si la página o entrada contiene activamente el shortcode [chatbot-local]. Si el shortcode no está en el contenido, el plugin no carga absolutamente nada en esa URL.

2. Panel de control visual y gestión de la base de conocimientos (preguntas y respuestas)

Se acabó tener que editar arrays de PHP o archivos JSON a mano por FTP. Desde el menú de administración del plugin puedes:

  • Configurar las reglas en JSON: Un editor dedicado con validación para definir tus etiquetas (tags) y respuestas (res) que trabaja en la trastienda, tú solo encuentras dos cajas simples para meter texto para cada pregunta y su respuesta.
Chatbot Local para WordPress: no permitas que una IA responda por ti - Captura 2

Puedes añadir palabras sueltas separadas por comas o frases que, aunque contengan esas palabras sueltas, devolverán otra respuesta diferente, lo que permite afinar respuestas para frases concretas y cubrir más posibilidades.

  • Personalización de estilos: Se pueden cambiar colores de cabecera, botón y texto de "Enviar", fondo y bocadillos de chat. Si dejas marcada la casilla de estilo por defecto se mostrará con el CSS de tu blog.
Chatbot Local para WordPress: no permitas que una IA responda por ti - Captura 3

  • Detector de shortcodes: El panel escanea la base de datos y te muestra un listado con las páginas o entradas donde añadiste el shortcode.
Chatbot Local para WordPress: no permitas que una IA responda por ti - Captura 6

3. Registro de consultas mediante REST API nativa

El chatbot incluye su propia tabla ligera en la base de datos (wp_chatbot_logs). Cada interacción del usuario se envía mediante un endpoint seguro de la REST API de WordPress, lo que permite revisar desde el panel las 100 últimas consultas con estas referencias y opciones:

  • Qué preguntas han encontrado respuesta (matched).
  • Qué búsquedas han fallado (unmatched), ideal para saber qué contenidos o palabras clave te falta añadir a la base de conocimiento para ir mejorando las respuestas y cubrir más posibilidades de consultas reales.
  • Borrado masivo o individual de registros directamente desde la tabla de logs.
Chatbot Local para WordPress: no permitas que una IA responda por ti - Captura 4

4. Privacidad y seguridad

Privacidad de datos (Zero PII): No se guardan direcciones IP, datos de usuario, ni cookies. Lo único que viaja a la base de datos es el texto de la pregunta y el estado (matched o unmatched).

Seguridad y Saneamiento: El endpoint de la REST API limpia y desinfecta las entradas con sanitize_text_field() antes de hacer cualquier consulta.

Consultas Seguras (Anti SQL Injection): Usamos el método nativo $wpdb->insert() de WordPress, que prepara y escapa automáticamente todos los valores de forma segura mediante marcadores de posición (%s).

Sin filtración a terceros: Toda la información se queda guardada en tu propio servidor (en la tabla wp_chatbot_logs). No hay llamadas salientes ni servicios externos leyendo esos registros.

5. Desinstalación limpia (Zero Bloat)

Si decides borrar el plugin, incluye una opción explícita de "limpieza completa" que elimina la tabla de logs y todas las opciones guardadas en la tabla options, dejando la base de datos exactamente como estaba.

Chatbot Local para WordPress: no permitas que una IA responda por ti - Captura 5

También he estado ajustando la respuesta y, en mi caso, he conseguido un CLS de 0.016 en móvil y de 0.018 en escritorio en los post donde se muestra el chatbot. Como aún tiene algo de margen de mejora, en la próxima actualización intentaré rebajarlo.

Cómo funciona

El principio sigue siendo el mismo que defendía en el primer post: privacidad y velocidad.

  1. Sin APIs externas: No usa OpenAI, ChatGPT ni servidores de terceros. Todo el procesamiento de palabras clave ocurre en local mediante Vanilla JS.
  2. Normalización de texto: El algoritmo limpia acentos y minúsculas para encontrar coincidencias de forma precisa.
  3. Conversión automática de enlaces: Si la respuesta incluye una URL (http:// o https://), el script la convierte automáticamente en un enlace HTML clicable.
Chatbot Local para WordPress: no permitas que una IA responda por ti
Ejemplo de enlace en respuesta

Instalación rápida

  1. Descarga, instala, activa el plugin y dirígete al nuevo menú en Ajustes/Chatbot Local para configurar tu mensaje de bienvenida y tus reglas.
  2. Pega el shortcode [jlca-chatbot-local] en cualquier página, entrada o widget donde quieras mostrar el asistente.

Si tienes alguna sugerencia o encuentras algún detalle a pulir, o lo que sea, puedes dejar un comentario en soporte o desde el formulario de contacto.

Este es mi quinto plugin, por aquí los tienes todos.

Servicio de optimización de WordPress

Donar

Documentales sobre dibujantesTontolares, los titulares más tontos

Este blog se aloja en LucusHost

LucusHost,el mejor hosting

Tu WordPress puede volar

Servicio de optimización de WordPress
Quiero velocidad

Servicio de optimización

Suscripción por e-mail

Recibe gratis los artículos completos en tu correo sin publicidad en el momento que se publiquen. Se envía el contenido íntegro del feed sin herramientas externas y sin anuncios.