O WPML pode servir diferentes idiomas a partir de diferentes domínios ou subdomínios. Para que isso funcione, é necessário modificar algumas configurações em seu servidor web. Vamos começar com a teoria de como tudo funciona, para que você entenda como fazer as configurações em seu próprio servidor.

Passos para o processamento de requisições de diferentes domínios

Quando uma requisição chega, acontece o seguinte:

  1. O DNS diz ao navegador onde o site está hospedado.
  2. O servidor web recebe a requisição e decide qual host virtual responde.
  3. O host virtual roda WordPress e WPML. O WPML diz ao WordPress qual página retornar para cada idioma.

Para idiomas em diferentes domínios funcionarem, todos os idiomas precisam apontar para a mesma instalação de WordPress. Você precisa configurar o DNS e o Apache para fazer isso.

Se você está editando o arquivo .htaccess, tentando redirecionar as requisições de um domínio para outro, você está fazendo algo errado. Existe só uma instalação WordPress e, portanto, nada a ser redirecionado.

1) Configure o DNS

Você precisa registrar todos os domínios e subdomínios para os diferentes idiomas. Como você faz isso depende muito do painel de controle de seu sistema de hospedagem, mas o resultado final é sempre o mesmo. Todos os domínios devem ir para o mesmo servidor web.

Se você está rodando um site local (localhost) e quer testar essa configuração, terá de editar o arquivo ‘hosts’ e adicionar as entradas para os diferentes domínios.

Normalmente, o endereço do servidor local é 127.0.0.1. Então se você quer testar domínios como es.local e de.local, adicione o seguinte ao seu arquivo hosts:

127.0.0.1  es.local
127.0.0.1  de.local

Em computadores Linux, o arquivo hosts fica em /etc/hosts. No Windows, ele normalmente está em C:WINDOWSsystem32driversetchosts.

2) Configure o servidor web

Em nosso exemplo vamos usar Apache e explicar como são os arquivos de configuração. Seu servidor pode ter um painel de controle acima do Apache, que adiciona uma interface gráfica para facilitar o controle dos arquivos de configuração. Se você não descobrir como implementar o seguinte usando o painel de controle, você pode copiar os exemplos desta página e solicitar ao seu provedor de hospedagem web.

A maneira mais fácil é ter uma única entrada VirtualHost para todos os domínios e usar instruções ServerAlias, dizendo ao Apache para responder aos diferentes domínios com o mesmo host virtual.

Por exemplo:

<VirtualHost *>
  DocumentRoot /your_wp_install_directory/wordpress
  ServerName www.english-domain.com
  ServerAlias www.french-domain.fr

  ... your other stuff here ...
</VirtualHost>

Isso diz ao Apache que existe uma única instalação de WordPress que responde a partir de www.english-domain.com e www.french-domain.fr. Não importa se são domínios completamente diferentes ou subdomínios.

Se você não sabe como configurar o ServerAlias no arquivo de hosts (talvez porque não tem acesso direto a ele), você pode configurar duas seções VirtualHost, ambas apontando para o mesmo DocumentRoot (caminho aonde o WordPress está instalado), mas com diferentes valores para o ServerName.

Você pode testar essa configuração simples mesmo sem o WPML (recomendado). Vá para ambos os domínios e veja se consegue acessar seu site WordPress.

Nota: Muitas empresas de hospedagem não permitem que você acesse diretamente os arquivos de configuração do Apache. Em vez disso, você pode tentar criar domínios adicionais do cPanel que apontam para a mesma instalação física do WordPress.

3) Diga ao WPML que está usando idiomas em diferentes domínios

Quando sua configuração estiver funcionando, você pode dizer ao WPML para usá-la para definir diferentes idiomas.

Vá para WPML->Idiomas. Escolha ‘Um domínio diferente por idioma‘. O WPML irá perguntar o domínio para cada idioma. Insira o domínio, valide e salve.

Idiomas por domínio no WPML

Os valores padrão que o WPML define nos campos de idioma são subdomínios com os nomes de locale. Você pode sobrescrevê-los com seus nomes de domínio reais.


Suporte a multisite

Esta página de perguntas frequentes descreve os passos necessários para configurar idiomas em domínios numa instalação WordPress de site único.

Você pode usar idiomas em domínios no modo multisite por realizar configurações adicionais. Para fazer isso, siga as etapas do guia para configurar idiomas em domínios no modo multisite.