O recurso Multisite do WordPress permite utilizar vários sites na mesma instalação do WordPress. Porém, ele suporta apenas novos sites em subdomínios ou subpastas, ou seja, não suporta nativamente sites em um domínio diferente do domínio principal. Isso pode limitar bastante o uso deste recurso, já que a maioria das pessoas criam a rede multisite para utilizar vários domínios diferentes. Neste artigo mostrarei como é possível contornar isso e utilizar vários domínios diferentes dentro de uma rede multisite do WordPress.
Suporte Nativo do WordPress Multisite
O recurso multisite do WordPress permite apenas adicionar novos sites em subdomínios ou subpastas, conforme o exemplo abaixo:
Subdomínio: http://sitenovo.site-principal.com.br
Subpasta: http://site-principal.com.br/sitenovo
O problema é que as pessoas normalmente precisam criar um novo site a partir de um domínio diferente, conforme o exemplo abaixo:
http://sitenovo.com.br
Note que o "sitenovo.com.br" é um domínio totalmente diferente do "site-principal.com.br".
Apesar do WordPress não suportar corretamente, de maneira nativa, existem plugins que adicionam esta funcionalidade ao WordPress. Um desses plugins é o WordPress MU Domain Mappingm, que permite utilizar vários domínios dentro de uma rede multisite. Este plugin é mantido por vários desenvolvedores, incluindo a Automattic, que é a empresa responsável pelo WordPress.
Requisitos
Antes de seguir com este tutorial, você precisa ativar e configurar o recurso multisite do WordPress. Somente depois disto você vai conseguir adicionar novos sites e fazer o mapeamento dos domínios.
Também é preciso fazer a instalação do plugin WordPress MU Domain Mapping em seu site. Se você não sabe instalar um plugin, acesse o artigo como instalar plugins no WordPress.
Nunca se esqueça de fazer um backup do site antes de fazer qualquer alteração nele.
Passo 1 - Configurando o domínio via cPanel
No WP Total eu utilizo a hospedagem HostGator, que utiliza o cPanel para fazer o gerenciamento do site. Caso sua hospedagem de sites não utilize o cPanel, será necessário que você verifique junto a mesma como deve ser feito o apontamento de novos domínios para o servidor de hospedagem.
1 - Acesse o cPanel de sua hospedagem e clique Domínios Estacionados, no menu Domínios, conforme a imagem abaixo.
2 - Informe o endereço do novo domínio (sem http ou www) e depois clique no botão Adicionar domínio.
3 - A próxima tela deverá exibir a confirmação que o domínio foi inserido corretamente. Caso exiba algum erro, o ideal é que você entre em contato com o suporte de sua hospedagem de sites para verificar o que houve.
Observação: Essa adição de domínios no cPanel poderá demorar algum tempo para surtir efeito. Se ao acessar o novo domínio você se deparar com uma página 404 da hospedagem de sites, provavelmente seja porque a alteração ainda não entrou em vigor. Neste caso, espere alguns minutos e tente novamente. Fazer a limpeza de cache do DNS de seu computador também pode ajudar neste caso.
Passo 2 - Adicionando um novo site
Caso você ainda não tenha adicionado o novo site à rede multisite, deverá seguir o passo a passo descrito abaixo.
1 - No painel de administração do WordPress, vá até Meus Sites > Painel de Rede > Sites.
2 - Na tela aberta no passo anterior, clique no botão Adicionar Novo.
3 - Preencha as informações do novo site, conforme solicitado na tela, e depois clique no botão Adicionar Site.
Observação: No campo Endereço do site (URL) você não deve informar o domínio completo, apenas a parte do nome do site, por exemplo "sitenovo" (ver imagem acima). Somente no MU Domain Mapping é que você deve informar o endereço completo (por exemplo: sitenovo.com.br).
Passo 3 - Configurando o MU Domain Mapping
1 - Ainda no painel de administração do WordPress, clique em Meus Sites > Painel da Rede > Plugins.
2 - Procure pelo nome do plugin WordPress MU Domain Mapping e clique em Ativar na Rede.
3 - Utilizando um cliente FTP, mova o arquivo sunrise.php da pasta "public_html/wp-content/plugins/wordpress-mu-domain-mapping" para a pasta "public_html/wp-content".
Importante: Caso já exista um arquivo com nome de sunrise.php, é necessário, segundo a documentação do plugin, mesclar os dados dos dois arquivos. Se o arquivo existe, é porque ele está sendo usado por outro plugin e sua substituição poderá ocasionar erros no site.
4 - adicione o código abaixo no arquivo wp-config.php, localizado na pasta "public_html":
define( 'SUNRISE', 'on' );
5 - Agora, na barra lateral do WordPress, vá até Configurações clique em Domain Mapping. Certifique-se que a mensagem "Domain mapping database table created." foi exibida. Somente ao acessar essa tela o plugin cria as tabelas necessárias para o mapeamento, por isso é necessário confirmar se a mensagem foi exibida corretamente.
6 - O plugin deve ser configurado conforme a imagem abaixo (clique na imagem para ampliar). No campo "Server IP Address" você pode informar o IP do servidor, porém, segundo a documentação do plugin, essa informação é armazenada apenas para fins de documentação.
7 - Agora é preciso adicionar o mapeamento do novo domínio em Configuração > Domains. Informe o Site ID e o domínio, deixe a opção "Primary" marcada, depois clique em "Save".
Como obter o Site ID?
Se você não sabe como pegar o ID do site, que é necessário para adicionar um novo mapeamento de domínio, abaixo eu mostro como obter essa informação.
1 - Para obter o ID do site acesse Meus Sites > Painel da Rede > Sites.
2 - Vai ser exibida a lista com todos os sites da rede. Então clique no botão "Editar" exibido logo abaixo da URL do site.
3 - No endereço da página que foi aberta é exibido o ID do site, conforme mostra a imagem abaixo. Neste exemplo, o "2" é o ID do "sitenovo".
Basta pegar esse ID e informar ele no campo Site ID, no momento de mapear o novo domínio.
Conclusão
Criar uma rede de sites no WordPress é mais fácil do que parece. Como este artigo foi escrito visando passar o maior número de detalhes possível, pode dar a impressão que seja algo muito complicado, mas não é. Depois que você entende o funcionamento do recurso multisite e aprende a utilizar o plugin WordPress MU Domain Mapping fica tudo mais fácil. Qualquer dúvida deixe uma mensagem na seção de comentários.
Fonte: https://wordpress.org/plugins/wordpress-mu-domain-mapping/installation/
Oi Lucas, muito bom esse conteúdo!!
Olá Leonardo,
Não consegui entender como o wordpress estaria instalado em dois servidores diferentes no multisites.
Caro,
o recurso multisite permite eu usar a mesma base de usuários para 2 ou mais instalações?
ou seja, quando alguém se cadastrar no site A, irá aparecer no site B automaticamente?
Grato (Anderson)
Olá Anderson,
Permite sim. Esse é o comportamento padrão do WP no multisites.
Olá, segui suas instruções mas infelizmente não deu certo..
Tenho um site principal no Siteground que não é multisite, e dentro desta hospedagem tenho meus outros sites, inclusive este multisite que quero configurar. Depois que estacionei o domínio e fiz seu tutorial, o domínio novo só aponta pro meu site principal do siteground.. não direciona para o multisite que criei.. talvez pelo domínio principal não ser um multisite...não sei pq não deu certo.
Olá Danielle,
No seu caso parece ser um problema no mapeamento do domínio. Tenta apagar caches do navegador e do DNS do seu pc.
Lucas... ótimo tutorialll parabéns mesmo!
e para o pessoal que andou tendo problemas... eu uso multisite a muito tempo e em diversos jobs e projetos pessoais.. a maioria dos erros podem ser no wp-config, no htaccess e algumas vezes na sua conta de hospedagem, visto limitações de recursos, etc.
como o pessoal do wpmudev diz sobre host:.."cada um tem o que paga" - se vc paga um host de 1,99 ou 9,90, terá um serviço de acordo...
Parabéns pelo site, sou leitor e o tenho nos meus favoritos!
Obrigado Lucas,
Funcionou certinho.
Primeiramente parabéns pelo post. Muito bem explciado.
Gostaria de saber se é possível fazer este mesmo procedimento para um site que não esteja instalado na raiz do servidor(/public_html), pois o site que estou usando não é o site principal da hospedagem.
O diretório dele está tipo "/public_html/site_principal" e neste sit-principal.com.br que configurei a rede multisites.
Olá Junio,
Pode sim, desde que aponte o domínio para a pasta "/public_html/site_principal" (em vez de colocar "public_html").
Olá! Tenho uma dúvida... Isso interfere em alguma coisa a indexação no google ou recursos de SEO?
Excelente artigo, em breve vou tentar instalar conforme as orientações!
Obrigado! Abraço!
Olá Rodrigo,
Isso não interfere na indexação ou nos recursos de SEO.
Espero ter ajudado.
Boa noite! Muito bom o post. Tirou algumas dúvidas que tinha. Não sei se aconteceu contigo em algum momento, mas aqui eu não estou conseguindo entrar nos painéis (daskboards) dos sites que foram mapeados. Você sabe como solucionar este problema? E eles não fazem loguin pelo link direto do administrador. Desde já agradeço.
Olá André,
Pode ser algum problema com o arquivo .htaccess, verifique se o mesmo está conforme o solicitado.
Espero ter ajudado.
Fiz todo procedimento, porém não obtive exito, não cria a rede e diz que não foi encontrado o dns, configurado corretamente como o artigo descreve.
Olá Elton,
Pode acontecer de demorar um pouco para as alterações do DNS serem aplicadas. Se ainda não funcionou, é só falar que eu vou tentar ajudá-lo.
Adicionei um entrada DNS com * A 1440 com ip do servidor via cpanel, agora da erro na porta 80, quando consigo diz que o Administrador está desabilitado, mas não vai para o novo dominio, fica: site.com.br/wp-login?sitenovo.com.br e se acessado pelo domínio novo aparece a tela default CGI, como é a primeira vez que utilizo este recurso estou quebrando a cabeça!
Na verdade aparece assim: http://site.com.br/wp-signup.php?new=sitenovo.com.br
Olá Elton,
Desculpa a demora para responder seu comentário...
Quando ele faz esse redirecionamento é porque o site não existe/não foi encontrado pelo WP. Então veja se o mapeamento está correto em "Configurações" > "Domains". Certifique-se que informou o domínio e o ID dele corretamente.
Sobre a exibição da página default CGI... Além de apontar o DNS para o IP do servidor é necessário configurar o servidor para "aceitar" as requisições deste domínio. Não sei qual é sua hospedagem de sites, mas na HostGator é só ir no Cpanel e clicar em "Domínios" > "Domínio estacionados" e adicionar o novo domínio. Feito isso o servidor responde as requisições corretamente.
Qualquer dúvida é só falar.
Eu adicionei o plugin depois de ter a rede configurada no domínio principal e depois de ativar, ficou apresentando este erro:
Domain Mapping Disabled. You must create a network for it to work.
Não consigo corrigir isso. Alguma idéia?
Olá Diego,
Para que o plugin funcione é necessário, além de ativar o recurso multisite, ter mais de um site na rede.
Espero ter ajudado.
Boa noite.
estava seguindo seu passo a passo para instalação de novos dominios em dominios complementares no CPANEL,para utilizar em multisite mas qdo estava configurando contas FTP, recebi mensagem de erro e que o dominio não existia. Fiz contato com minha hospedagem e me disseram q eu teria q registrar(pagar ) novo dominio, não entendi, é isso mesmo? tenho q pagar por todos os dominios ?
Olá Isabel,
Esta correto sim, você precisa adquirir o domínio para poder usá-lo.
Espero ter ajudado.
Olá, bom dia. Executei os passos , inclusive quero agradecer pelo post, porque foi um dos mais didáticos que já achei, mas ainda assim a rede multisites que criei continua a apresentar problemas. Um dos sites criados, sem domínio personalizado, fica em uma tela branca e não carrega o admin; um outro, com domínio personalizado ao clicar para acessar o painel exibe a seguinte mensagem: Não é possível acessar esse site
A página da web pode estar temporariamente indisponível ou pode ter sido movida permanentemente para um novo endereço da web.
ERR_NAME_RESOLUTION_FAILED.
Agradeceria muito uma dica, pois já estou desanimada com essa situação. Agradeço tb se me ajudar indicando tutoriais ou livros que possam me ajudar a resolver esse problema...
Olá Daniele,
Desculpa a demora para responder seu comentário... se você usou a opção de subdomínio ou inseriu um domínio personalizado, é necessário ir até o cPanel de sua hospedagem e adicionar/configurar este domínio (cada hospedagem tem uma maneira diferente de fazer). Sempre que fizer uma alteração desta, espere algum tempo para testar, pois alterações de domínios podem demorar a surtir efeito.
Sobre o site que não carrega o admin (exibe a tela branca), neste caso é preciso investigar. O ideal é ativar o modo debug do WordPress e verificar se exibe algum erro. A partir da mensagem de erro exibida é possível identificar o problema.
Espero ter ajudado.
Muito bom o artigo, não utilizava esse recurso do WP, vou testar baseado no seu tutorial... o/
Abraços