¿Cómo crear un sitio web bajo WordPress con uno o varios alias de nombre de dominio?

  • WordPress - Blog

¿Cómo crear un sitio web bajo WordPress con uno o varios alias de nombre de dominio?

Muchas veces necesitamos crear un sitio web corporativo o un blog bajo WordPress y nos encontramos con el problema de que el cliente necesita que esté operativo bajo más de un dominio, tal y como ocurre en el propio sitio web corporativo de APG que está plenamente operativo bajo los dominios https://artprojectgroup.es y https://artprojectgroup.es, o bajo más de un subdominio, como ocurre con Caravaning Blog in English, que está plenamente operativo bajo los subdominios http://english.caravaningblog.com y http://english.caravaningblog.es. Y aunque parece algo sencillo de realizar y que no debería producirnos ningún tipo de problema, no es así.

Para hacer posible que varios dominios o subdominios funcionen correctamente bajo una única instalación de WordPress y mostrando el mismo contenido, lo primero que tenemos que hacer es, obviamente instalar WordPress y configurarlo correctamente para que esté plenamente operativo. Tras ello vamos a instalar, además de los plugins habituales que más nos gusten, Domain Mirror, un simple y sencillo plugin que nos va a hacer la magia necesaria para que nuestro WordPress funcione correctamente bajo varios dominios.

Domain Mirror

Domain Mirror

Para configurar Domain Mirror sólo tenemos que ir a Ajustes -> Domain Mirror. Una vez allí veremos que podemos configurar el plugin simplemente pulsando el botón Get Current Domain, y obtendremos todos los datos que previamente hemos introducido en la configuración de nuestro WordPress. Podemos corregir aquellos datos que queramos modificar y guardamos todo pulsando Save Changes. Una vez guardado, es recomendable volver a abrir la pantalla de configuración mediante la ruta Ajustes -> Domain Mirror, pulsamos Add New Domain y repetimos el mismo proceso descrito, pero esta vez vamos a cambiar la extensión del dominio, o el propio nombre del dominio, y volveremos a guardar todo con Save Changes. Con estos simples y sencillos pasos ya tenemos nuestra instalación de WordPress totalmente operativa en los dominios que necesitamos, pero, ¿realmente está plenamente operativa? Pues la respuesta es no. ¿Qué falta para que esté plenamente operativa?

Obviamente, y gracias a Domain Miror, el comportamiento de WordPress es impecable y totalmente operativo en los dominios que hemos configurado, pero si tratamos de leer el archivo robots.txt o el archivo sitemap.xml, veremos que es el mismo en todos los dominios, incluso tendremos problemas para leer el archivo sitemap.xml si lo hemos generado con la ayuda del plugin Google XML Sitemaps. En APG utilizamos un pequeño truco de programación que os hará la vida mucho más sencilla.

Lo primero que vamos a hacer es crear unos archivos PHP que se van encargar de hacer la magia. Nosotros solemos utilizar 5 archivos, uno para el archivo robots.txt, llamado robots.php, otro para el archivo sitemap.xml, llamado sitemap-xml.php, otro para el archivo sitemap-image.xml, llamado sitemap-image.php, otro para el archivo sitemap-mobile.xml, llamado sitemap-mobile.php, y por último otro para el archivo sitemap-video.xml, llamado sitemap-video.php. El primer archivo lo creamos a mano, aquí tienes un ejemplo:

User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/

Sitemap: http://www.nombrededominio.ext/sitemap.xml
Sitemap: http://www.nombrededominio.ext/sitemap-image.xml
Sitemap: http://www.nombrededominio.ext/sitemap-mobile.xml
Sitemap: http://www.nombrededominio.ext/sitemap-video.xml

El resto los generamos a partir de los plugin Google XML Sitemaps, Google XML Sitemap for Images, Google XML Sitemap for Mobile y Google XML Sitemap for Videos. El contenido del primer archivo necesario, robots.php, es este simple y sencillo código:

<?php
header( 'Content-Type: text/plain; charset=iso-8859-1' );
$archivo = implode( file( 'robots.txt' ) );
$archivo = str_replace( "www.nombrededominio.ext", $_SERVER['HTTP_HOST'], $archivo );
echo $archivo;
?>

Para el resto de los archivos el código que tenemos que utilizar son los siguientes, para el archivo sitemap-xml.php:

<?php
header( "Content-type: text/xml" );
$archivo = implode( '', file( 'sitemap.xml' ) );
$archivo = str_replace( "www.nombrededominio.ext", $_SERVER['HTTP_HOST'], $archivo );
echo $archivo;
?>

Para el archivo sitemap-image.php:

<?php
header( "Content-type: text/xml" );
$archivo = implode( '', file( 'sitemap-image.xml' ) );
$archivo = str_replace( "www.nombrededominio.ext", $_SERVER['HTTP_HOST'], $archivo );
echo $archivo;
?>

Para el archivo sitemap-mobile.php:

<?php
header( "Content-type: text/xml" );
$archivo = implode( '', file( 'sitemap-mobile.xml' ) );
$archivo = str_replace( "www.nombrededominio.ext", $_SERVER['HTTP_HOST'], $archivo );
echo $archivo;
?>

Y, por último, para el archivo sitemap-video.php:

<?php
header( "Content-type: text/xml" );
$archivo = implode( '', file( 'sitemap-video.xml' ) );
$archivo = str_replace( "www.nombrededominio.ext", $_SERVER['HTTP_HOST'], $archivo );
echo $archivo;
?>

Obviamente en todos los casos hay que cambiar el nombre de dominio y poner el dominio principal sobre el que está instalado WordPress. Por ejemplo, en nuestro caso hemos utilizado como dominio principal, aunque no lo es ya que es un alias de dominio, el nombre de dominio https://artprojectgroup.es. De esta forma cuando se abren los archivos robots.txt, sitemap.xml, sitemap-image.xml, sitemap-mobile.xml y sitemap-video.xml desde cualquiera de los nombres de dominio que utiliza nuestra instalación de WordPress, se cambiará de forma automática el nombre de dominio principal por el actual. Pero para ello necesitamos un último y sencillo paso, modificar el archivo .htaccess.

Para modificar el archivo .htaccess vamos a introducir estas líneas, ojo que si ya existe alguna de las 2 primeras líneas no hay que volver a introducirla, así como la última:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^sitemap.xml$ /sitemap-xml.php [L]
RewriteRule ^sitemap-image.xml$ /sitemap-image.php [L]
RewriteRule ^sitemap-mobile.xml$ /sitemap-mobile.php [L]
RewriteRule ^sitemap-video.xml$ /sitemap-video.php [L]
RewriteRule ^robots.txt$ /robots.php [L]
</IfModule>

Y gracias a estas sencillas modificaciones haremos que nuestro sitio web corporativo o blog sea completamente rastreado desde cualquiera de sus nombres de dominio por todos los buscadores de Internet.

Otro día hablaremos de la importancia de estos 5 archivos para ayudar a los buscadores web a rastrear el contenido completo de nuestro sitio web, es decir, para el SEO.

Por cierto, este truco con los archivos robots.txt y sitemap.xml, no son exclusivos de WordPress, lo podemos utilizar sobre cualquier trabajo que realicemos en el que se vayan a emplear más de un nombre de dominio, independientemente del CMS o aplicación web que utilicemos.

Actualización: Todos los plugins aquí indicados se han quedado obsoletos, recomendamos la lectura de la entrada ¿Es posible tener una única instalación de WordPress con múltiples nombres de dominio y múltiples bases de datos?, y utilizar los plugins allí descritos.

8 Comentarios

  1. Antonio Roman Jueves, 17 de Julio de 2014 en 12:09- Responder

    Hola Buenos días he realizado todo los pasos tal como lo explicas en el post y no me funciona no se si hago algo mal……estoy utilizando la versión de WordPress 3.9.1

    • Art Project Group Jueves, 17 de Julio de 2014 en 12:46- Responder

      Seguramente estás haciendo algo mal, ya que, tal y como puedes comprobar en este mismo sitio web, funciona perfectamente bajo los nombres de dominio artprojectgroup.es, artprojectgroup.es, artprojectgroup.es y artprojectgroup.es. Ahora eso si, recuerda que ahora usamos Multiple Domains with Analytics en lugar de Domain Mirror.

      Si necesitas cualquier tipo de ayuda, recuerda que tenemos a tu disposición nuestra Ticket de soporte.

      Un saludo.

  2. Antonio Roman Jueves, 17 de Julio de 2014 en 13:28- Responder

    Hola de nuevo podéis ustedes solucionarle el problema directamente y dejarmelo preparado para otros posibles dominios……..

  3. Martin Diaz Jueves, 30 de Octubre de 2014 en 12:16- Responder

    Hola, gracias por el tip!
    Una pregunta, al tener dos dominios distintos con el mismo contenido, google no penaliza a uno por contenido duplicado?

    Gracias
    M

    • Art Project Group Jueves, 30 de Octubre de 2014 en 12:22- Responder

      Si utilizas alias de dominio, tal y como lo explicamos no, Google nunca considera contenido duplicado el contenido de distintos alias de dominio, ya que no dejan de ser un tipo de redirección.

      Un saludo.

  4. Alejandro Castillo Viernes, 9 de Enero de 2015 en 20:12- Responder

    Hola, es muy interesante su articulo, veo que cambiaron de plugin. y han respondido una de las interrogantes que yo tambien tenía acerca de la penalización por parte de google.

    Ahora, mi situación es que tengo un sitio, mi dominio tiene casi 3 años, en un momento el dominio fue bloqueado por facebook(hace 2 años), sin posibilidad alguna que me desbloqueen, por tanto no puedo poner actualizaciones de blog, etc.. que dirijan a mi sitio, ni siquiera puedo poner la URL en mi información personal.

    Ahora tengo un sitio operativo funcionando al 100 sin ningun problema (nunca he servido nada ilegal o virus, asi que no se por que FB me bloqueó). mi pregunta es que si compro un nuevo dominio y solo hago una simple redireccion al principal, creen que FB me bloquee el nuevo dominio?? Será mejor hacer esta otra configuración que explican ustedes para asegurarme que no me baneen? igual no lo haran de esta segunda forma, no?

    Espero puedan ayudame, gracias.

    • Art Project Group Domingo, 11 de Enero de 2015 en 17:10- Responder

      Lo más probable es que si tienes el dominio X bloqueado y contratas un dominio Y para hacer una redirección a X, es que Facebook te banee el dominio Y también. Ahora bien, si haces de Y un alias de X, y no vuelves a ser denunciado por nadie, lo más probable es que Facebook te deje tranquilo.

      De todas formas, sin saber las causas exactas, es muy difícil valorar la situación y su posible solución.

      Un saludo.

Deje un comentario

Comparte esto con un amigo