Cómo configurar WordPress Multisite con subdirectorios

WordPress Multisite con Subdirectorios

Última actualización:

Este post es una guía para configurar WordPress Multisite con subdirectorios y así poder tener múltiples websites en diferentes directorios p.ej: site.com/hola/ o site.com/adios/ etc.

Tabla de contenidos

Activar WordPress Multisite con subdirectorios en 5 pasos

¿Todavía no tienes claro si te conviene WordPress Multisite?
Sal de dudas en este post ¿Cuándo usar WordPress Multisite?.

1 Partimos de un WordPress estándar

ATENCIÓN: No realices operaciones delicadas directamente en tu sitio web «producción». Utiliza un clon en un entorno «staging» de pruebas.

En Wetopi clonar y crear un entorno «Staging» te llevará pocos segundos (puedes verlo en este vídeo Tu WordPress Producción siempre a salvo).

Si tu hosting no dispone de entorno de «Staging» o pruebas,
invierte 10 segundos y continua este post en un servidors de desarrollo GRATIS

Además puedes pedir la migración de tu sitio web sin coste ni compromiso.

Partiendo de un WordPress estándar, ya podemos empezar activando el modo WordPress Multisite con subdirectorios.

2 Activa el modo Multisite

Para activar modo Multisite de WordPress tenemos que modificar el archivo de configuración: wp-config.php
Accede a tu servidor usando un cliente FTP y abre el archivo wp-config.php con tu Editor de Texto preferido. La mayoría de los clientes FTP te permitirán editar el archivo sin tener que bajarlo a tu ordenador.

En Wetopi usamos SFTP. Es lo mismo que FTP pero usando conexiones seguras y transportando los datos de forma encriptada. Si estás trabajando en un servidor Wetopi, encontrarás los credenciales de SFTP en la sección avanzada: Menú opciones → Avanzado de tu servidor WordPress:

We will log to enable WordPress Multisite with subdirectories using the sftp credentials
Los credenciales los encontrarás en el menú opciones.

Edita el archivo de configuraciones de WordPress wp-config.php

En esta captura del cliente SFTP se muestra el emplazamiento del archivo wp-config.php justo dentro del directorio raíz html/:

SFTP WordPress html dir content
Éste cliente SFTP muestra el contenido del directorio raíz donde encontrarás el wp-config.php

Cuando lo tengas abierto en tu editor de texto, localiza el comentario siguiente:

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

Justo antes del comentario indicado, añade las siguientes líneas:

/** Multisite */
define('WP_ALLOW_MULTISITE', true);

Listo! Guarda los cambios.

Ahora ya tenemos preparado WordPress para activar nuestra «red de blogs» y así tener un Multisite.

3 Configuración de la red

Vuelve al panel de administración de WordPress y recarga la página. Ahora dentro de la sección de «Herramientas», justo al final, encontrarás la nueva opción «Configuración de la red«:

En esta sección «Configuración de la red»WordPress te da la opción de instalar Multisite bajo Subdominios o Subdirectorios:

Siguiendo el propósito de éste tutorial, «WordPress Multisite con subdirectorios», marca la opción «Subdirectorios». Opcionalmente puedes modificar el nombre de la red e indicar el correo electrónico de quien va a ser el encargado de administrar el conjunto de sitios WordPress en red. Para continuar, pulsa el botón «Instalar».

4 Activando la red

Justo después de darle al botón «Instalar», WordPress te mostrará en pantalla un bloque de código a añadir en wp-config.php y otro en .htaccess

Paso 1. Añadimos la configuración en wp-config
Edita de nuevo el archivo wp-config.php, y añade las líneas de código indicadas en el paso 1. justo después del cambio anterior:

define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', 'tudominio.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

Atención! donde pone tudominio.com deberías tener el dominio en el que realmente estás trabajando.

El bloque de cambios entero de wp-config.php deberá parecerse a este:

/** Multisite */
define('WP_ALLOW_MULTISITE', true);
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', 'tudominio.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
/* That's all, stop editing! Happy blogging. */

Paso 2. Edita la configuración del servidor web

Si tu WordPress funciona con servidor de páginas Apache, vuelve a tu cliente SFTP y edita el archivo .htaccess

NOTA: Encontrarás el archivo .htaccess en el mismo directorio en el que tienes wp-config.php Si no lo encuentras, crea un archivo nuevo con este mismo nombre.

Atención! En Wetopi tus WordPress utilizan el servidor de páginas Nginx! La configuración .htaccess indicada no te servirá.

No te preocupes, en wetopi, la configuración es sencilla y la encontrarás preparada.

Vuelve al cliente SFTP, pero en lugar de editar el .htaccess editaremos el archivo de configuración nginx.conf

El archivo nginx.conf lo encontrarás en el directorio /var/www/conf

Nginx config to edit in order to Setup WordPress Multisite with sub-directories
En wetopi encontrarás el archivo de configuración nginx.conf en el directorio /conf

Al abrirlo con tu Editor, localiza las siguientes líneas:

location / {
    include  /var/www/conf/mime.types;

    # No php is touched for static content.
    # include the "?$args" part so non-default permalinks doesn't break when using query string
    try_files $uri $uri/ /index.php?$args;
}

Justo después, añade o descomenta líneas para que quede como en el siguiente bloque de código:

# Multisite subdirectory mode only (subdomains mode works by default)
# uncomment following if-block only if you are running a WordPress multisite under subdirectories
if (!-e $request_filename) {
  rewrite /wp-admin$ $scheme://$host$uri/ permanent;
  rewrite ^(?!^/my-db-admin)(/[^/]+)?(/wp-.*) $2 last;
  rewrite ^(?!^/my-db-admin)(/[^/]+)?(/.*.php) $2 last;
}

Así es como debería aparecer:

location = /robots.txt {
    allow all;
    try_files $uri /index.php?$args;
}

location / {
    include  /var/www/conf/mime.types;

    # No php is touched for static content.
    # include the "?$args" part so non-default permalinks doesn't break when using query string
    try_files $uri $uri/ /index.php?$args;
}


# Multisite subdirectory mode only (subdomains mode works by default)
# uncomment following if-block only if you are running a WordPress multisite under subdirectories
#
if (!-e $request_filename) {
      rewrite /wp-admin$ $scheme://$host$uri/ permanent;
      rewrite ^(?!^/my-db-admin)(/[^/]+)?(/wp-.*) $2 last;
      rewrite ^(?!^/my-db-admin)(/[^/]+)?(/.*.php) $2 last;
}

5 Cargar la nueva configuración del servidor

Tras los cambios en nginx.conf (o .htaccess) tu servidor web tiene que cargar la configuración. Si tu servidor está en Wetopi, se trata de un simple clic: abre el Menú opciones y dale a la opción Reiniciar:

Ahora ya puedes volver al panel de administración de WordPress. En el Escritorio podrás ver la nueva sección «Mis sitios»:

Apartado mis sitios de WordPress Multisite con subdirectorios

Ya tienes, completamente configurado tu WordPress Multisite con subdirectorios.

Ahora ya podrás crear distintos sitios WordPress dentro de tu red Multisite organizada en subdirectorios. Para administrar el multisite verás que aparece un nuevo menú «Mis sitios» en la barra superior de tu panel WordPress admin, justo arriba a la izquierda.

¿No tienes una cuenta en wetopi?

Incluye servidores desarrollo Gratis.
Sin tarjeta de crédito.

Compara wetopi con tu hosting actual

Date de alta, pide una migración y compara.

Hacemos una copia de tu web gratis y sin esfuerzo por tu parte.

Sin letra pequeña.
Sin compromisos.
Sin tarjeta de crédito.