Plataforma SaaS de gestió WordPress

SaaS Connector WordPress

Plataforma completa de gestió centralitzada de múltiples instal·lacions WordPress amb seguretat, backups, SEO, agents IA, facturació i monitorització. Un plugin connector per client i un portal d'administració com a centre de control.

Estat
En producció
Rol
Concepció, disseny de l'arquitectura, desenvolupament full-stack del portal i el plugin, implementació del sistema d'agents IA i integració amb serveis externs (Lighthouse, Umami, Uptime Kuma).

Problema

Gestionar desenes d'instal·lacions WordPress per a diferents clients requeria accedir a cada web individualment per actualitzar plugins, revisar la seguretat, fer backups i detectar problemes. No existia una eina centralitzada que permetés controlar totes les webs des d'un únic punt. A més, el manteniment rutinari consumia hores cada setmana sense cap automatització ni visibilitat global.

Context

El projecte està pensat per a una agència o proveïdor de serveis web que gestiona múltiples instal·lacions de WordPress per a diferents clients. Pànxing (l’empresa de Javi) n’és el cas d’ús principal: desenes de websWordPress que cal mantenir, actualitzar, auditar i monitoritzar des d’un únic panell central.

El sistema opera en un servidor privat amb Docker. El portal web serveix com a interfície d’administració, i cada client té un plugin WordPress instalat que actua com a pont de comunicació amb el portal.

Evolució del projecte

La idea inicial era un connector simple per actualitzar plugins i temes de WordPress de forma remota. Durant el desenvolupament es va anar ampliant fins convertir-se en una plataforma completa de gestió que inclou: seguretat, backups, optimització, SEO, gestió de clients, tiquets de suport i facturació.

Posteriorment es va afegir un sistema d’agents IA (Nanobot) capaç de prendre decisions autònomament sobre tasques de manteniment, amb approval gates per controlar el risc. El sistema d’agents inclou: registre de proveïdors de models, binding de rols a models, catàleg de tasques per risc, workflows multi-step amb encadenament seqüencial o per router, i un sistema d’aprovació per Telegram.

La versió actual consolida: el portal SaaS (FastAPI), el connector WordPress (PHP), un worker de Lighthouse per auditories SEO, un worker d’enllaços trencats, i un sistema d’agents IA amb desplegament controlat.

Captació

La captació de nous clients comença amb la instal·lació del plugin WP SaaS Connector al WordPress del client. El plugin genera un token únic i una clau RSA per a l’autenticació bidireccional.

Des del portal SaaS, l’administrador registra la nova web amb la seva URL i el token del plugin. El portal verifica la connexió fent una crida a l’endpoint /wp-json/wp-saas/v1/verify del WordPress client. Un cop verificada, la web apareix al dashboard com a “connectada”.

El sistema gestiona la relació client-sites: un client pot tenir múltiples webs associades, i cada web està vinculada a un client amb dades fiscals (NIF, adreça fiscal, condicions de pagament). El portal permet exportar el llistat de clients en CSV.

Des del primer moment, la web connectada comença a enviar informació al portal: estat de plugins, actualitzacions pendents, versió de WordPress, versió de PHP, i puntuacions de seguretat i optimització.

Gestió

Un cop el client està captat, la plataforma ofereix eines de gestió dividides en cinc àmbits principals:

Seguretat: El portal executa auditories de seguretat periòdiques via el plugin. Cada web rep una puntuació de seguretat que es guarda i es mostra històricament. El plugin inclou un gestor de seguretat que revisa permisos de fitxers, configuracions sensibles i vulnerabilitats conegudes.

Backups: El sistema permet configurar freqüència de backup (diària, setmanal, mensual) i tipus (complet, base de dades, fitxers). El plugin gestiona la creació i restauració de backups des del servidor WordPress, amb emmagatzematge intern via SSH+rsync.

Optimització: Auditoria de rendiment amb puntuacions, revisió de configuracions de PHP, caché i compressió. Els resultats es guarden històricament per veure l’evolució.

SEO: El worker de Lighthouse executa auditories SEO per URL. Un worker de Python detecta enllaços trencats. Un sistema d’enllaços interns utilitza LLM per analitzar el contingut de cada pàgina, generar un resum semàntic i suggerir enllaços contextuals entre pàgines del mateix site. Les sugerències es poden auto-aplicar o requerir aprovació.

Agents IA (Nanobot): El sistema d’agents permet configurar tasques automàtiques per web. Cada tasca té un codi d’acció, un risc associat (LOW/MEDIUM/HIGH/CRITICAL) i un sistema de cooldown. Les accions d’alt risc requereixen aprovació humana via Telegram. El sistema inclou: model router per seleccionar el proveïdor adequat per a cada tasca, presets de veu per adaptar el to de generació de continguts, workflows multi-step que encadenen diverses accions, i un registre complet d’execucions amb auditoria.

Tiquets i facturació: Sistema de tiquets de suport amb prioritats, categories, assignació a agents, i font (manual, email, plugin). El portal genera factures amb dades fiscals immutables, seguiment d’estat (draft, issued, paid, overdue) i càlcul automàtic d’impostos.

Monitorització: Integració amb Umami Analytics per estadístiques de tràfic i Uptime Kuma per monitorització de temps d’activitat, tot centralitzat al dashboard.

Funcionament

  1. El plugin WordPress s’instal·la al client i genera un token + clau RSA.
  2. L’administrador registra la web al portal SaaS amb la URL i el token.
  3. El portal verifica la connexió via REST API del plugin.
  4. Un cop connectada, el plugin envia informació periòdicament al portal.
  5. El portal executa auditories de seguretat, SEO, enllaços trencats i optimització de forma programada.
  6. Els agents IA poden executar tasques de manteniment automàticament o amb aprovació.
  7. Els resultats es mostren al dashboard amb historial i tendències.
  8. El plugin es pot actualitzar remotament des del portal (distribució de ZIP).

Dificultats

La principal dificultat va ser dissenyar un sistema de comunicació segur entre el portal i desenes d’instal·lacions WordPress. Calia autenticació bidireccional sense dependre de sessions ni cookies: el portal s’autentica al plugin amb token, i el plugin al portal amb firma RSA.

La gestió multi-tenant va exigir un model de permisos granular: admins veuen tots els sites, agents només els sites assignats. Cada acció d’agent queda registrada en un audit log.

El sistema d’agents IA va requerir un model de risc per decidir quines accions poden ser automàtiques i quines necessiten aprovació. La implementació va requerir: catàleg de tasques amb nivells de risc, cooldowns per evitar execucions massa freqüents, finestres horàries de silenci, i kill switch global.

La distribució d’actualitzacions del plugin des del portal va requerir empaquetar el plugin com a ZIP compatible amb el sistema d’actualitzacions de WordPress, garantint que l’estructura de carpetes fos correcta.

Resultat

El projecte ofereix una plataforma completa de gestió WordPress multi-site amb:

  • Dashboard centralitzat amb informació en temps real de totes les webs
  • Gestió de clients amb dades fiscals, facturació i històric
  • Auditories de seguretat i optimització amb historial de puntuacions
  • Sistema de backups amb configuració per freqüència i tipus
  • Auditories SEO amb Lighthouse i detecció d’enllaços trencats
  • Sistema d’enllaços interns automàtics amb suggerències basades en LLM
  • Agents IA amb control de risc, aprovació per Telegram i workflows multi-step
  • Tiquets de suport integrats amb el plugin WordPress
  • Actualització remota del plugin des del portal
  • Integració amb Umami Analytics i Uptime Kuma

El backend (FastAPI) té 21 endpoints, 35+ serveis de negoci i 40+ models de dades. El plugin WordPress (PHP) té 15 classes i 43 endpoints REST. Tot desplegat amb Docker en un servidor privat.

Aprenentatges

Aquest projecte va demostrar que la gestió centralitzada de múltiples WordPress es pot automatitzar de forma segura si es dissenya un protocol d’autenticació adequat entre portal i plugins.

La integració d’agents IA en un flux de treball existent va requerir anar passo a passo: primer actuacions sense autonomia, després autonomia amb aprovació, i finalment autonomia controlada per risc i cooldowns.

També va confirmar que la multi-tenencia necessita un model de permisos consistent des del principi: no es pot afegir seguretat de forma retroactiva quan ja hi ha dades i usuaris productius.

Finalment, el sistema d’actualització remota de plugins va ensenyar que la compatibilitat amb WordPress exigeix seguir estrictament el format esperat pel gestor de plugins: estructura de carpetes, capçalera del fitxer principal i verificació de versió.