Un WordPress Multisitio es una instalación que comparte los mismos archivos, y que genera diferentes tablas según las diferentes instalaciones y que por tanto, comparte funcionalidades entre ellas.
Es una solución muy inteligente para ciertas necesidades como puede ser los sitios multidioma (como este), multipaís, división de funcionalidades para hacer menos pesado el sitio principal.
Esto es debido a que podemos crear/instalar plugins para nuestras diferentes instalaciones. Puede darse la circunstancia que activemos toda una tienda online en un subsitio con el objetivo de mantener el máximo rendimiento en el portal principal. Este tipo de instalaciones se suele dar en sitios muy grandes.
Esta guía es una recopilación de diferentes sitios para poder instalar el multisitio con las dos configuraciones: subdominios y subcarpetas. La opción de subdominios también se podrá utilizar en la configuración multidominios. Sólo será necesario una vez creado un subdominio, cambiarle la dirección a la definitiva.
En Closemarketing tenemos este servicio de Desarrollo WordPress Multisitio.
El sitio principal es el HandBook oficial de WordPress, que lo primero que nos indica es pegar esta linea en el archivo wp-config.php:
define( 'WP_ALLOW_MULTISITE', true );
Esto habilitará un nuevo menú en Herramientas > Administración de la red.
Configuración subcarpetas
Configuración en wp-config
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', 'dominio.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
Configuración en htaccess
# BEGIN WordPress Multisite SUBFOLDER
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
</IfModule>
Configuración con subdominios
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', 'dominio.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
Htaccess si es subdominio
# BEGIN WordPress Multisite SUBDOMAIN
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
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]
</IfModule>
Y otra cosa importante para los multisite, es que si nos equivocamos con la dirección y ponemos www o sin www, se redirigirá a una página de registro del nuevo site. Esto se utiliza en contadas ocasiones, por lo que nos interesa desactivarlo, añadiendo este código en wp-config:
define( 'NOBLOGREDIRECT', 'https://dominio.com' );
Configuración cookies para multidominio
Si quieres la opción de multidominio, esto es dominio.com, dominio.es, etc. para que no haya problemas con las cookies, deberás añadir estas lineas en wp-config:
define('COOKIE_DOMAIN', $_SERVER['HTTP_HOST'] );
Mentions