¿Está pensando en organizar un sitio web WPML con distintos dominios por idioma?

Más allá de las apariencias, existen algunas ventajas adicionales que surgen de utilizar distintos dominios en el sitio web.

Algunas personas prefieren acceder a nombres de dominio que parezcan pertenecer a su propio país; esto puede ser aprovechado para generar lealtad entre los visitantes. También existe una suerte de bono SEO dado que ello puede contribuir a dirigir mejor al usuario hacia el destino deseado.

Los distintos dominios por idioma se definen en WPML -> Página de idiomas.

Los distintos dominios por idioma se definen en WPML -> Página de idiomas.

 

Primeramente explicaremos el significado exacto de poner esto en práctica.

Imaginemos que usted desea ofrecer contenido en idiomas inglés y alemán con WPML y opción de dominio diferente por idioma.

Tiene dos posibilidades al momento de determinar idiomas por dominio:

  • Dominios diferentes

Si, por ejemplo, tiene dos dominios (example.com para inglés y example.de para alemán) puede alcanzar el objetivo utilizando esta opción.

example.com > inglés

example.de > alemán

  • Subdominios

También es posible utilizar subdominios como: en.example.com para el idioma inglés y de.example.com para el alemán.

en.example.com > inglés

de.example.com > alemán

La pregunta que sigue es: ¿Cómo lograr esto? La respuesta depende de dos componentes principales en la configuración del sitio web:

  • el DNS del servidor,
  • el servidor HTTP (Apache, Nginx, etc.).

Definir el servidor DNS

Configuración manual

Configuración de DNS con determinación de dominio de alto nivel

Si se tienen diferentes dominios de alto nivel (example.com, example.de) es necesario configurarlos primero para disponer de las autorizaciones correspondientes de los servidores DNS. Esto se hace usualmente en el panel de configuración proporcionado por las empresas arrendatarias de los dominios.

Una vez que se hayan agregado los dominios, es necesario crear un registro en el servidor DNS que apunte al servidor HTTP. En pocas palabras, el servidor necesita saber qué información proporcionar al usuario una vez que accede a un dominio en particular. Si ingresa al dominio .de se espera que el servidor aporte la versión en alemán.

Si ya se dispone de un servidor DNS, se debe (y es preferible) crear un “registro A” para el otro dominio que apunte a su servidor.

Es posible utilizar dos tipos de registro.

  • Registro A: se debe especificar el IP del servidor, lo que es una solución buena y rápida.
  • Registro CNAME: es posible definir un nombre de dominio para el servidor; un poco más lento pero efectivo si se cambia la dirección IP del servidor a menudo.

Lista de registros. Las pantallas para definir dominios del más alto nivel pueden diferir.

Lista de registros. Las pantallas para definir dominios del más alto nivel pueden diferir.

Configuración de DNS con configuración de subdominio

La configuración de subdominios es sencilla. Se debe crear un registro A o CNAME en el servidor DNS y direccionarlo al mismo IP o dominio del servidor HTTP / HTTPS.

Las pantallas para configurar los subdominios pueden diferir.

Las pantallas para configurar los subdominios pueden diferir.

Advierta que luego de completar las configuraciones, es necesario continuar con las indicaciones en “Configurar el servidor HTTP” de esta guía.

Configuración en cPanel

Al utilizar cPanel, las entradas DNS y HTTP necesarias quedan agregadas automáticamente; solo se debe realizar esta acción para preparar el servidor.

Configurar un dominio de alto nivel

En la mayoría de los casos, la parte del cPanel que es necesario utilizar luce como sigue.

domains.cpanel

Es posible utilizar dos métodos para agregar los dominios adicionales:

  • Dominio aparcado: aparcar el nombre del dominio adicional; esta es la mejor opción dado que utiliza la misma ruta del sitio en la configuración http.Pantalla de dominio aparcado
  • Dominio addon: debe especificarse cuidadosamente la carpeta con la instalación actual de WordPress.Pantalla de dominio addon

Luego de completar estos pasos, es necesario consultar la sección “Finalizar” en esta guía.

Todas las configuraciones para Apache y DNS serán creadas y agregadas por el cPanel y todo debería funcionar correctamente.

Configurar los subdominios

Para configurar un subdominio, es necesario ir al ícono de subdominios del menú del cPanel.

Al crear un subdominio es necesario indicar dónde ha sido instalado WordPress para poder trabajar con la opción “Dominio diferente por idioma” de WPML.Pantalla de subdominios

Una vez completada esta parte, debe irse a la sección “Finalizar” de esta guía.

Todas las configuraciones para Apache y DNS serán creadas y agregadas por el cPanel y todo debería funcionar correctamente.

Asegúrese que todos los dominios apunten a la misma carpeta raíz de WordPress antes de confirmar la configuración.

Configurar el servidor HTTP

Hemos llegado a la segunda parte más importante de esta configuración: utilizar el servidor que es posible administrar.

Para que la configuración funcione, es necesario agregar una entrada en el servidor web que sea capaz de reconocer el nombre de dominio (o de subdominio) que se ha agregado y que apunta al servidor DNS.

Si usted administra su propio servidor, es muy fácil; tan solo es necesario agregar algunos aliases a la configuración actual.

A continuación se muestra un ejemplo de configuración para servidor Apache.


 DocumentRoot "/var/www/www.example.com/webroot"

  ServerName example.com

  ServerAlias example.de

...

Y eso es todo. Sencillo, ¿no?

Es igualmente sencillo configurar un servidor Nginx.

server {
        server_name example.com;
        ...
}
 
server {
        server_name example.de;
        ...

Cualquiera sea la solución que se utilice, lo más importante es tener presente que el alias debe apuntar a la misma carpeta física donde esté instalado WordPress.

Finalizar

Cuando todo este proceso esté concluido, se puede cambiar la configuración en WPML -> Idiomas a dominios diferentes por idioma. Cuando se ingrese la información solicitada (el otro dominio o subdominio), el presionar el botón Guardar será suficiente acción para validar el dominio. En caso de problemas con la validación, aparecerá un informe y se guardarán todos los cambios realizados.

Depuración

Si aún subsisten los problemas con la configuración nueva, será apropiado habilitar la función de depuración de WordPress. Para ello bastará con agregar el snippet siguiente al archivo wp-config.php del sitio web WordPress.


// Turn debugging on

define('WP_DEBUG', true);



// Tell WordPress to log everything to /wp-content/debug.log

define('WP_DEBUG_LOG', true);



// Turn off the display of error messages on your site

define('WP_DEBUG_DISPLAY', false);



// For good measure, you can also add the follow code, which will hide errors from being displayed on-screen

@ini_set('display_errors', 0);

Luego de ello, será necesario controlar el archivo de registros que será creado en /wp-content/debug.log cuando se salvan las opciones de dominio en WPML.

También es posible controlar la respuesta admin-ajax.php en la consola del navegador (presionar<F12> en el teclado para abrir la consola). Basándose en la salida de la consola y en la información del registro en ../wp-content/debug.log es posible inhabilitar plugins no importantes de WordPress para intentar ubicar el origen del problema.Ejemplo de consola del navegador

Si aún persisten los problemas, será mejor ponerse en contacto con uno de nuestros especialistas, aquí en el foro WPML.


 

George Botsev

George Botsev

Soy una persona que gusta de la tecnología, como la de Star Trek, las computadoras y todo eso. Mis otros intereses están relacionados fundamentalmente con tecnologías de la información, administración de sistemas, electrónica, software y hardware de código abierto, fotografía y música.

Tengo más de 10 años de experiencia con WordPress y otro tanto como profesional de tecnologías de la información y gestión de sistemas.

Mi tarea principal ha sido depurar problemas y, desde septiembre de 2014, integrar el equipo de soporte de WPML. Ayudo a algunos de ustedes en el foro para resolver problemas.