Gestionar una cartera de sitios web en WordPress tiene un límite conocido. Ya sea que ejecutes WordPress Multisite o una flota de instalaciones independientes, la arquitectura eventualmente se vuelve en tu contra —en la memoria, en los tiempos de respuesta, en la carga de mantenimiento y en tu factura de hosting—. Este estudio de caso documenta la diferencia real que observamos después de migrar una cartera de 130 sitios de una pila de WordPress a multiDomainCMS, nuestra plataforma SSR interna en Node.js.
La línea base: WordPress a escala
WordPress Multisite es la respuesta estándar para ejecutar muchos sitios desde una sola base de código. Consolida temas, complementos y el panel de administración bajo una sola instalación de WordPress. Sobre el papel parece eficiente. En producción, la realidad es más complicada.
El modelo de PHP por solicitud
Cada solicitud de página de WordPress inicia un nuevo proceso PHP, carga el núcleo de WordPress (~cientos de archivos), inicializa una conexión a la base de datos, consulta MySQL para obtener la entrada, vuelve a consultar para los menús, vuelve a consultar para los widgets, ejecuta todos los complementos activos a través de su cadena de ganchos y representa la plantilla del tema, antes de enviar un solo byte. Incluso con caché de objetos (Redis/Memcached) y caché de opcode (OPcache), el piso para una respuesta de WordPress en infraestructura compartida o VPS es típicamente de 200–600ms TTFB.
Sobrecarga específica de WordPress Multisite
- Un solo
wp_conjunto de tablas con prefijo de base de datos se multiplica por la cantidad de sitios (wp_2_posts,wp_3_posts, etc.), elevando el recuento de tablas de MySQL a los miles para redes grandes - La compatibilidad de complementos entre subsitios es una carga de mantenimiento constante; una actualización de complementos que rompe un subsitio puede afectar a toda la red
- Las operaciones de superadministrador (activación de complementos a nivel de red, migraciones de usuarios)bloquean los recursos compartidos y disparan la carga
- Los límites de memoria por sitio se acumulan: 50 solicitudes concurrentes a 128MB cada una son 6.4GB de RAM, antes del servidor web, la base de datos o la capa de caché
La alternativa: una flota de instalaciones independientes
Algunas agencias prefieren 130 instalaciones separadas de WordPress en lugar de Multisite para evitar el acoplamiento. La sobrecarga operativa se escala linealmente: 130 conjuntos de actualizaciones del núcleo, 130 auditorías de complementos, 130 conexiones a bases de datos, 130 tareas cron separadas, 130 programaciones de respaldos. Este es el trabajo de tiempo completo de un ingeniero de mantenimiento, no una plataforma.
La alternativa: arquitectura de multiDomainCMS
multiDomainCMS ejecuta los 130 dominios desde un solo proceso Express de Node.js respaldado por una colección de MongoDB. La arquitectura es fundamentalmente diferente en cada capa.
SSR sin el impuesto de arranque
Node.js no se inicia por cada solicitud. El servidor ya está en ejecución, el árbol de componentes de React ya está compilado, el grupo de conexiones a la base de datos ya está abierto. Llega una solicitud, el enrutador la despacha por la cabecera Host , MongoDB devuelve el documento de la publicación, React se renderiza a una cadena HTML y se envía la respuesta. Todo el ciclo —para un fallo de caché en frío— suele ser de 8–35ms TTFB medido en la capa de aplicación.
Un proceso, 130 dominios
La huella de memoria de toda la red de 130 sitios en multiDomainCMS es comparable a una sola instalación de WordPress de tráfico medio. El proceso de Node.js se mantiene inactivo en alrededor de 180–220MB RSS. WordPress Multisite sirviendo tráfico equivalente requeriría de 2–4GB de RAM antes de usar memoria virtual (swap). Esta no es una diferencia marginal; cambia el nivel de hardware que necesitas.
Punto de referencia: Cifras cara a cara
| Métrica | WordPress Multisite | Flota de WP independiente (×130) | multiDomainCMS |
|---|---|---|---|
| TTFB (sin caché) | 200–600ms | 250–700ms | 8–35ms |
| RAM inactiva (los 130 sitios) | 2–4GB | 4–8GB (distribuido) | 180–220MB |
| Solicitudes concurrentes antes de la degradación | ~200 | ~50 por sitio | 10,000+ |
| Actualizaciones de complementos/dependencias | 1 actualización de red (alto riesgo) | 130 actualizaciones separadas | 1 actualización de npm/pnpm |
| Conexiones de base de datos | 1 MySQL (compartido) | 130 instancias de MySQL | 1 MongoDB (agrupado) |
| Implementación sin tiempo de inactividad | No integrado | No integrado | Azul/Verde mediante PM2 |
| VPS mínimo viable para 130 sitios | 8GB RAM / 4 vCPU | Múltiples servidores | 2GB RAM / 2 vCPU |
Donde WordPress todavía gana
Esto no es un rechazo generalizado de WordPress. Tiene ventajas reales en contextos específicos:
- Editores no técnicos — el editor Gutenberg y el administrador de WooCommerce están pulidos, bien documentados y son fáciles de aprender para no desarrolladores
- Ecosistema de complementos — más de 60,000 complementos cubren casi todos los casos de uso sin código personalizado
- WooCommerce con un número bajo de SKU — para tiendas pequeñas con tráfico poco frecuente, la simplicidad operativa de WooCommerce supera la creación de una capa de comercio personalizada
- Equipos con gran experiencia en WordPress — si su equipo conoce WordPress a fondo, el coste de cambio a una nueva pila tecnológica es real
El punto de inflexión se produce cuando gestiona muchos sitios, espera un tráfico concurrente significativo o necesita tiempos de respuesta inferiores a ms como base. En ese momento, el modelo de arranque de PHP se convierte en el cuello de botella, independientemente de la estrategia de caché.
Alojamiento de esto en WinWinHost
Ambas arquitecturas están disponibles como opciones de alojamiento gestionado en WinWinHost. Nuestro alojamiento WordPress gestionado gestiona automáticamente las actualizaciones del núcleo, las auditorías de plugins, las copias de seguridad diarias y la caché de objetos Redis. Para agencias y operadores de carteras que desean el enfoque de multiDomainCMS, nuestro alojamiento VPS Node.js incluye gestión de clústeres PM2, aprovisionamiento de MongoDB, configuración de proxy inverso Nginx y SSL mediante Let's Encrypt; todo lo necesario para ejecutar la pila completa sin gestionar la infraestructura usted mismo.
- Alojamiento WordPress Gestionado — para equipos que conocen y prefieren WordPress
- Alojamiento VPS Node.js — para multiDomainCMS y pilas personalizadas de Node
- Plataforma multiDomainCMS — resumen de arquitectura y lista de características
- Obtener un presupuesto gratuito — dimensionamos el plan adecuado para su cartera