Tutoriales

Verdadero aislamiento de clientes de WordPress para agencias, sin Multisite

Equipo de GrabWP
· 7 min read · Revisado por Equipo de GrabWP

Las agencias recurren a WordPress Multisite porque promete un solo lugar para ejecutar muchos sitios de clientes. Luego aparece el problema del aislamiento. Un cliente pregunta dónde viven sus datos y quién más puede tocarlos. Un plugin que funciona para un cliente rompe el de otro. Un solo sitio necesita un restore y no hay una forma limpia de revertir solo ese sitio. Multisite agrupa a tus clientes, pero agrupar no es aislar, y para el trabajo de agencia la diferencia es importante.

Esta guía es para agencias que necesitan que cada sitio de cliente esté genuinamente separado: datos separados, plugins separados, themes separados, radio de impacto separado. Muestra cómo GrabWP Tenancy Pro ofrece eso en una instalación única y estándar de WordPress, sin requerir Multisite.

Dónde se rompe el aislamiento de Multisite para las agencias

Multisite es una función de red, no una función de aislamiento, y tres de sus decisiones de diseño van en contra del trabajo con clientes de agencias.

  • Una database compartida. Todos los sitios en una red Multisite viven en la misma database. Cada sitio obtiene su propio conjunto de tablas distinguidas por un prefijo numérico, pero todas se encuentran en un solo esquema, accesible por la misma conexión. Cuando un cliente pregunta si sus datos se almacenan por separado de los otros clientes de la agencia, la respuesta honesta en Multisite es no.
  • Plugins y themes en toda la red. Los plugins y themes se instalan una vez para toda la red. Puedes activar un plugin por sitio, pero el código es compartido, las versiones son compartidas y todo se ejecuta en el mismo proceso PHP. No puedes darle al cliente A una versión antigua y fijada de un plugin mientras el cliente B ejecuta la última versión.
  • Una falla afecta a todos. Debido a que la database, el código y el tiempo de ejecución son compartidos, una mala actualización de plugin, una tabla corrupta o un error fatal tienen un radio de impacto en toda la red. Un problema que debería pertenecer a un solo cliente puede derribar toda la red.

Para un portafolio de clientes que pagan, “separados por un prefijo de tabla” no es una historia que quieras contar. Las agencias necesitan verdaderos muros entre sitios.

Qué significa realmente el verdadero aislamiento

Ajustes de aislamiento de GrabWP Tenancy Pro para separación por cliente

El verdadero aislamiento por cliente significa que cada sitio es dueño de sus datos y su código, y que nada se comparte por defecto. GrabWP Tenancy Pro construye cada cliente como un tenant con tres capas de separación.

  • Una database dedicada por cliente. Pro te permite elegir, por tenant, entre MySQL compartido con prefijos de tabla, una database MySQL dedicada o una database SQLite. Para el trabajo con clientes eliges una database dedicada, para que el contenido de un cliente viva en su propia database en lugar de compartir un esquema con todos los demás. Esta es una arquitectura de aislamiento de datos, y te brinda una historia de cumplimiento mucho más sólida que una configuración de database compartida donde todos los clientes coexisten en un solo esquema.
  • wp-content aislado. En Pro, cada tenant tiene su propio directorio wp-content aislado, con su propio directorio de themes y plugins debajo. Los archivos del cliente no se mezclan en una sola carpeta compartida.
  • Uploads separados. Incluso el plugin base gratuito GrabWP Tenancy aísla los uploads de cada tenant y le otorga su propio prefijo de tabla en la database. Pro construye sobre esa base al agregar la database dedicada y el wp-content completamente separado encima.

El resultado es que los datos de un cliente nunca se mezclan con los de otro, porque no comparten una database, un directorio de contenido o una carpeta de uploads.

Stacks de plugins y themes por cliente, sin conflictos

Stack de plugins y themes por tenant en el panel de extensiones de GrabWP Tenancy Pro

La recompensa más práctica de un wp-content aislado es que cada cliente ejecuta su propio stack de plugins y themes. Un cliente puede administrar una tienda WooCommerce con sus propios plugins de pago y envío mientras que otro ejecuta un sitio de membresía con un conjunto completamente diferente, y los dos nunca chocan, porque no comparten un directorio de plugins.

Tú administras el stack de cada tenant desde la página Extensions. Desde allí activas o desactivas plugins y cambias themes para un tenant específico, con el estado en vivo mostrado para cada uno. Estás configurando el sitio de un cliente sin meterte en el de nadie más. No hay una activación de toda la red en la que pensar y no hay riesgo de que habilitar un plugin para un cliente cambie el comportamiento del resto del portafolio.

Este es el muro que Multisite no puede darte. En lugar de una base de código compartida que hereda cada sitio, cada cliente obtiene un stack que tú ajustas de forma independiente, por lo que la compatibilidad de los plugins se convierte en una decisión por cliente en lugar de una apuesta de toda la red.

Control del radio de impacto: arregla un cliente sin tocar al resto

El aislamiento es más valioso en el peor momento, cuando algo sale mal. Como cada tenant es independiente, un problema se mantiene contenido y la recuperación es quirúrgica.

GrabWP Tenancy Pro le da a cada tenant su propio backup y restore, con un flujo de trabajo completo paso a paso que cubre la database, los uploads, el contenido y la configuración. Cuando un cliente necesita revertir cambios, haces el restore de ese único tenant de forma independiente. Los demás clientes en la misma instalación nunca se involucran, nunca se pausan y nunca están en riesgo por la operación.

El restore también es lo suficientemente flexible para sobrevivir a migraciones del mundo real. Pro admite restores entre bases de datos, por lo que puedes mover un tenant entre tipos de database, desde un MySQL compartido a una database MySQL dedicada o a SQLite, cuando las necesidades del cliente cambian. Y debido a que el backup de cada tenant es propio, el radio de impacto de tu recuperación es exactamente de un cliente, que es como debería verse la gestión de riesgos de una agencia.

Contrasta eso con un restore de Multisite, donde la database compartida significa que revertir un solo sitio limpiamente es, en el mejor de los casos, incómodo, y un restore de toda la red es el instrumento contundente que normalmente te queda.

Cómo adoptar esto sin Multisite

La mejor parte es que nada de esto requiere el compromiso estructural de Multisite. GrabWP Tenancy Pro se ejecuta en una instalación estándar y única de WordPress.

  1. Instala en un sitio normal de WordPress. Agrega el plugin base gratuito GrabWP Tenancy y GrabWP Tenancy Pro a una instalación estándar. No habilitas la red Multisite y no reestructuras tu sitio existente.
  2. Configura tus valores predeterminados de aislamiento. En Pro Settings, elige una database dedicada como valor predeterminado para los nuevos tenants y confirma el aislamiento del contenido, para que cada cliente que crees herede una separación real desde el principio.
  3. Crea un tenant por cliente. Cada nuevo cliente se convierte en un tenant aislado con su propia database, su propio wp-content y sus propios uploads, todo bajo la única instalación que ya administras.
  4. Administra cada stack de forma independiente. Usa la página Extensions para configurar los plugins y el theme de cada cliente, y haz un backup de referencia por tenant para tener un punto de restore limpio antes de que comience el trabajo.

Mantienes la simplicidad de una instalación de WordPress y un dashboard, mientras que tus clientes obtienen el aislamiento que la arquitectura compartida de Multisite no puede ofrecer. Para tener una forma repetible de crear cada uno de estos sitios aislados de la misma manera cada vez, combina esto con nuestra lista de verificación de aprovisionamiento de sitios de clientes.

Dale a cada cliente un muro real

Multisite agrupa a tus clientes en una database compartida y un conjunto de plugins compartido. El trabajo de agencia necesita lo contrario: una database dedicada, wp-content aislado y un radio de impacto de exactamente un cliente por operación. GrabWP Tenancy Pro ofrece eso en una instalación estándar de WordPress, licenciada una vez por instalación sin tarifas por cliente, desde $9.99/month. Mira cómo se adapta a tu práctica en la página para agencias, y compara los niveles de aislamiento base y Pro en nuestra página de comparación antes de decidir.

Preguntas frecuentes

¿Por qué WordPress Multisite no es un verdadero aislamiento?
Multisite ejecuta cada sitio en una database compartida, donde cada sitio se distingue solo por un prefijo de tabla. Los plugins y themes se instalan en toda la red y comparten el mismo código y proceso PHP, por lo que un conflicto de plugins o un problema en la database puede afectar a cada cliente de la red. Eso es separación por convención, no un aislamiento real.
¿Necesito Multisite para ejecutar sitios de clientes aislados con GrabWP?
No. GrabWP Tenancy Pro se ejecuta en una instalación estándar y única de WordPress. Cada cliente se convierte en un tenant aislado con su propio contenido y database, por lo que obtienes aislamiento por cliente sin activar Multisite ni reestructurar tu instalación.
¿Puede cada cliente tener su propia database?
Sí. En Pro eliges por tenant entre MySQL compartido con prefijos de tabla, una database MySQL dedicada o una database SQLite. Una database dedicada por cliente significa que los datos de un cliente nunca se mezclan con los de otro en el mismo esquema.
¿Puedo hacer un backup y restore de un cliente sin tocar a los demás?
Sí. Cada tenant tiene su propio backup y restore. Puedes hacer un restore de un solo cliente de forma independiente, e incluso puedes hacer restores entre diferentes tipos de database, de modo que recuperar un sitio nunca pone en riesgo el resto de tu portafolio.

Editorial standards: Our content is written by WordPress experts with hands-on multi-tenancy experience. Articles are fact-checked and regularly updated to ensure accuracy.