Plataforma SaaS de gestión WordPress
SaaS Connector WordPress
Plataforma completa de gestión centralizada de múltiples instalaciones WordPress con seguridad, backups, SEO, agentes IA, facturación y monitorización. Un plugin conector por cliente y un portal de administración como centro de control.
- Estado
- En producción
- Rol
- Concepción, diseño de la arquitectura, desarrollo full-stack del portal y el plugin, implementación del sistema de agentes IA e integración con servicios externos (Lighthouse, Umami, Uptime Kuma).

Problema
Gestionar decenas de instalaciones WordPress para distintos clientes requería acceder a cada web individualmente para actualizar plugins, revisar la seguridad, hacer backups y detectar problemas. No existía una herramienta centralizada que permitiera controlar todas las webs desde un único punto. Además, el mantenimiento rutinario consumía horas cada semana sin ninguna automatización ni visibilidad global.
Contexto
El proyecto está pensado para una agencia o proveedor de servicios web que gestiona múltiples instalaciones de WordPress para distintos clientes. Pànxing (la empresa de Javi) es el caso de uso principal: decenas de webs WordPress que hay que mantener, actualizar, auditar y monitorizar desde un único panel centralizado.
El sistema opera en un servidor privado con Docker. El portal web sirve como interfaz de administración, y cada cliente tiene un plugin WordPress instalado que actúa como puente de comunicación con el portal.
Evolución del proyecto
La idea inicial era un conector simple para actualizar plugins y temas de WordPress de forma remota. Durante el desarrollo se fue ampliando hasta convertirse en una plataforma completa de gestión que incluye: seguridad, backups, optimización, SEO, gestión de clientes, tickets de soporte y facturación.
Posteriormente se añadió un sistema de agentes IA (Nanobot) capaz de tomar decisiones autónomamente sobre tareas de mantenimiento, con approval gates para controlar el riesgo. El sistema de agentes incluye: registro de proveedores de modelos, binding de roles a modelos, catálogo de tareas por riesgo, workflows multi-step con encadenamiento secuencial o por router, y un sistema de aprobación por Telegram.
La versión actual consolida: el portal SaaS (FastAPI), el conector WordPress (PHP), un worker de Lighthouse para auditorías SEO, un worker de enlaces rotos, y un sistema de agentes IA con despliegue controlado.
Captación
La captación de nuevos clientes comienza con la instalación del plugin WP SaaS Connector en el WordPress del cliente. El plugin genera un token único y una clave RSA para la autenticación bidireccional.
Desde el portal SaaS, el administrador registra la nueva web con su URL y el token del plugin. El portal verifica la conexión haciendo una llamada al endpoint /wp-json/wp-saas/v1/verify del WordPress cliente. Una vez verificada, la web aparece en el dashboard como “conectada”.
El sistema gestiona la relación cliente-sites: un cliente puede tener múltiples webs asociadas, y cada web está vinculada a un cliente con datos fiscales (NIF, dirección fiscal, condiciones de pago). El portal permite exportar el listado de clientes en CSV.
Desde el primer momento, la web conectada empieza a enviar información al portal: estado de plugins, actualizaciones pendientes, versión de WordPress, versión de PHP, y puntuaciones de seguridad y optimización.
Gestión
Una vez captado el cliente, la plataforma ofrece herramientas de gestión divididas en cinco ámbitos principales:
Seguridad: El portal ejecuta auditorías de seguridad periódicas vía el plugin. Cada web recibe una puntuación de seguridad que se guarda y se muestra históricamente. El plugin incluye un gestor de seguridad que revisa permisos de archivos, configuraciones sensibles y vulnerabilidades conocidas.
Backups: El sistema permite configurar frecuencia de backup (diaria, semanal, mensual) y tipo (completo, base de datos, archivos). El plugin gestiona la creación y restauración de backups desde el servidor WordPress, con almacenamiento interno vía SSH+rsync.
Optimización: Auditoría de rendimiento con puntuaciones, revisión de configuraciones de PHP, caché y compresión. Los resultados se guardan históricamente para ver la evolución.
SEO: El worker de Lighthouse ejecuta auditorías SEO por URL. Un worker de Python detecta enlaces rotos. Un sistema de enlaces internos utiliza LLM para analizar el contenido de cada página, generar un resumen semántico y sugerir enlaces contextuales entre páginas del mismo site. Las sugerencias se pueden auto-aplicar o requerir aprobación.
Agentes IA (Nanobot): El sistema de agentes permite configurar tareas automáticas por web. Cada tarea tiene un código de acción, un riesgo asociado (LOW/MEDIUM/HIGH/CRITICAL) y un sistema de cooldown. Las acciones de alto riesgo requieren aprobación humana vía Telegram. El sistema incluye: model router para seleccionar el proveedor adecuado para cada tarea, presets de voz para adaptar el tono de generación de contenidos, workflows multi-step que encadenan varias acciones, y un registro completo de ejecuciones con auditoría.
Tickets y facturación: Sistema de tickets de soporte con prioridades, categorías, asignación a agentes, y fuente (manual, email, plugin). El portal genera facturas con datos fiscales inmutables, seguimiento de estado (draft, issued, paid, overdue) y cálculo automático de impuestos.
Monitorización: Integración con Umami Analytics para estadísticas de tráfico y Uptime Kuma para monitorización de tiempo de actividad, todo centralizado en el dashboard.
Funcionamiento
- El plugin WordPress se instala en el cliente y genera un token + clave RSA.
- El administrador registra la web en el portal SaaS con la URL y el token.
- El portal verifica la conexión vía REST API del plugin.
- Una vez conectada, el plugin envía información periódicamente al portal.
- El portal ejecuta auditorías de seguridad, SEO, enlaces rotos y optimización de forma programada.
- Los agentes IA pueden ejecutar tareas de mantenimiento automáticamente o con aprobación.
- Los resultados se muestran en el dashboard con historial y tendencias.
- El plugin se puede actualizar remotamente desde el portal (distribución de ZIP).
Dificultades
La principal dificultad fue diseñar un sistema de comunicación seguro entre el portal y decenas de instalaciones WordPress. Había que implementar autenticación bidireccional sin depender de sesiones ni cookies: el portal se autentica al plugin con token, y el plugin al portal con firma RSA.
La gestión multi-tenant exigió un modelo de permisos granular: admins ven todos los sites, agentes solo los sites asignados. Cada acción de agente queda registrada en un audit log.
El sistema de agentes IA requirió un modelo de riesgo para decidir qué acciones pueden ser automáticas y cuáles necesitan aprobación. La implementación requirió: catálogo de tareas con niveles de riesgo, cooldowns para evitar ejecuciones demasiado frecuentes, ventanas horarias de silencio, y kill switch global.
La distribución de actualizaciones del plugin desde el portal requirió empaquetar el plugin como ZIP compatible con el sistema de actualizaciones de WordPress, garantizando que la estructura de carpetas fuera correcta.
Resultado
El proyecto ofrece una plataforma completa de gestión WordPress multi-site con:
- Dashboard centralizado con información en tiempo real de todas las webs
- Gestión de clientes con datos fiscales, facturación e histórico
- Auditorías de seguridad y optimización con historial de puntuaciones
- Sistema de backups con configuración por frecuencia y tipo
- Auditorías SEO con Lighthouse y detección de enlaces rotos
- Sistema de enlaces internos automáticos con sugerencias basadas en LLM
- Agentes IA con control de riesgo, aprobación por Telegram y workflows multi-step
- Tickets de soporte integrados con el plugin WordPress
- Actualización remota del plugin desde el portal
- Integración con Umami Analytics y Uptime Kuma
El backend (FastAPI) tiene 21 endpoints, 35+ servicios de negocio y 40+ modelos de datos. El plugin WordPress (PHP) tiene 15 clases y 43 endpoints REST. Todo desplegado con Docker en un servidor privado.
Aprendizajes
Este proyecto demostró que la gestión centralizada de múltiples WordPress se puede automatizar de forma segura si se diseña un protocolo de autenticación adecuado entre portal y plugins.
La integración de agentes IA en un flujo de trabajo existente requirió ir paso a paso: primero actuaciones sin autonomía, luego autonomía con aprobación, y finalmente autonomía controlada por riesgo y cooldowns.
También confirmó que la multi-tenencia necesita un modelo de permisos consistente desde el principio: no se puede añadir seguridad de forma retroactiva cuando ya hay datos y usuarios productivos.
Finalmente, el sistema de actualización remota de plugins enseñó que la compatibilidad con WordPress exige seguir estrictamente el formato esperado por el gestor de plugins: estructura de carpetas, cabecera del archivo principal y verificación de versión.