WordPress Multi Dominio

Podemos llevar las ventajas de un instalación de WordPress multi sitio a un nivel más alto. Aquí te enseño a crear una red multi dominio de una manera sencilla.

Introducción

Cuando usamos WordPress en su versión multi sitio, este nos brinda dos tipos de instalación, sub-dominios o sub-directorios. En este caso, vamos a configurar nuestra instalación para que nos permita administrar una red multi dominios.

Primero te invito a que leas este artículo que detalla cómo hacer una instalación multi sitio en WordPress.

Otra cosa importante es que necesitamos configurar un Virtual Host para nuestro proyecto, de otra manera nos será imposible, pues WordPress nos dará solo la opción de sub-directorios.

Virtual Host

Lo primero que tenemos que hacer es crear un Virtual Host para nuestro proyecto. Podemos guiarnos por el ejemplo que puse anteriormente, pero para un mejor entendimiento, voy a poner aquí cómo debe quedar el archivo de configuración de nuestro dominio principal.

En este ejemplo vamos a crear un dominio principal bajo el nombre de xyz.sandbox:

<VirtualHost *:80> 
    ServerName xyz.sandbox 
    ServerAlias www.xyz.sandbox 
    ServerAdmin webmaster@xyz.sandbox 
    DocumentRoot /var/www/xyz.sandbox 
    ErrorLog ${APACHE_LOG_DIR}/error.log 
    CustomLog ${APACHE_LOG_DIR}/access.log combined 
 
    <Directory /var/www/xyz.sandbox> 
        Options Indexes FollowSymLinks 
        AllowOverride All 
        Require all granted 
    </Directory> 
</VirtualHost>

Una vez sobre pasada esta parte, podemos acceder desde nuestro navegador a la dirección http://xyz.sandbox. Ya luego solo faltaría hacer una instalación de WordPress en el directorio /var/www/xyz.sandbox/.

Multi Dominio

Con nuestra instalación de WordPress ya configurada como una red multi sitio, podemos pasar al paso más importante, que es habilitar la configuración para multi dominio.

Antes, vamos a verificar que nuestra configuración esté correcta. Si seguimos los pasos que nos indica la documentación oficial sobre cómo crear una red con WordPress, nuestros archivos wp-config.php y .htaccess debieron quedar de la siguiente forma:

/* Multi Site */
define( 'WP_ALLOW_MULTISITE', true );
define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', true );
define( 'DOMAIN_CURRENT_SITE', 'xyz.sandbox' );
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );

/* That's all, stop editing! Happy publishing. */

En este caso, solo estamos mostrando la parte que nos interesa, pues este archivo incluye muchas más configuraciones.

RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).) $1 [L] RewriteRule ^(..php)$ $1 [L]
RewriteRule . index.php [L]

Finalmente podemos configurar nuestra instalación de WordPress para soportar multi dominio. Lo único que tenemos que hacer es declarar una serie de constantes en nuestro archivo wp-config.php.

Entonces, bajo las definiciones que teníamos antes, ponemos las nuevas, quedando todo de esta forma:

/* Multi Site */
define( 'WP_ALLOW_MULTISITE', true );
define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', true );
define( 'DOMAIN_CURRENT_SITE', 'xyz.sandbox' );
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );

/* Multi Domain */
define( 'COOKIE_DOMAIN', $_SERVER['HTTP_HOST'] );
define( 'ADMIN_COOKIE_PATH', '/' );
define( 'COOKIEPATH', '/' );
define( 'SITECOOKIEPATH', '/' );

/* That's all, stop editing! Happy publishing. */

Agregando nuevos sitios

Ya tenemos nuestra red de WordPress montada y configurada para trabajar con varios dominios. Ahora solo nos queda comenzar a crear nuevos sitios y asignarle esos dominios.

Entonces accedemos a Network Admin > Sites > Add New, aquí crearemos un nuevo sitio llamado ABC.

WordPress Multi Dominio - Nuevo Sitio

Por defecto, WordPress solo deja crear sub-dominios, pero como veremos en a continuación, esto lo podemos arreglar si procedemos a editar el sitio que hemos creado:

WordPress Multi Dominio - Editar Sitio

Editamos la URL del sitio y apuntamos al nuevo dominio que debemos crear, en nuestro caso abc.sandbox.

WordPress Multi Dominio - Configurar Sitio

Guardamos los cambios y listo.

Antes de concluir, es importante decir que por cada sitio que creemos en nuestra red, debemos configurar un Virtual Host, de lo contrario no funcionaría.

Conclusiones

Hasta aquí hemos visto cómo podemos convertir una simple instalación de WordPress multi site, en una red multi dominio. Esto nos brinda muchas ventajas a la hora de mantener nuestros sitios, pues desde una misma instancia podemos administrar nuestros proyectos, sin tener que estar saltando de un sitio a otro, por ejemplo, para actualizar plugins, o el core de WordPress.

Documentación

Siempre es bueno tener a mano algo de documentación, personalmente recomiendo leer la documentación oficial de lo que sea que usemos. Aquí les dejo algunos links que considero importantes:


Leave a comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *