No blog, já falei algumas vezes sobre como é interessante segmentar suas lojas e abrir novas lojas dedicadas a um público específico. Dessa forma, você consegue, dentro da mesma instalação do Magento, atender a um público de nicho, em uma maneira personalizada que talvez não seria viável atingir, se fosse necessário criar uma nova loja do zero. A configuração das múltiplas lojas pode ser feita diretamente no painel e passa a valer imediatamente, através de uma caixa de seleção no cabeçalho.

Mas e os múltiplos sites? Como configurar múltiplos domínios no Magento? Essa configuração também é bem simples, apesar de envolver alguns ajustes extras nos arquivos. Para esse tutorial, utilizei uma conta na Knownhost, nosso provedor de hospedagem de confiança, usando o Plesk. Se o seu provedor não usa o Plesk, será necessário configurar mais um arquivo, para que  o servidor entenda que aquele novo domínio deve responder na mesma pasta da instalação Magento, ou seja, na mesma pasta onde está seu domínio atual.


O primeiro passo é criar o catálogo de produtos que será exibido em seu novo domínio/loja. Você pode utilizar o mesmo catálogo, mas eu recomendo criar um novo, com sua estrutura própria de departamentos e categorias. Para isso, no backend do Magento basta navegar até Catálogo > Gerenciar Categorias e clicar em Criar Categoria. Lembre-se que há um problema de semântica no Magento, onde Categoria é o catálogo de produtos como um todo e Sub-Categoria são os departamentos, categorias e sub-categorias propriamente ditas.

Criando categoria no Magento - imagem: reprodução

Depois de criado o catálogo para sua loja segmentada, você poderá criar os departamentos, categorias e sub-categorias como desejar e povoar com seus produtos, inclusive alterando textos e imagens, inserindo conteúdo específico para a nova loja. Agora é a hora de criar o novo domínio, loja e visão de loja. Para isso, acesse Sistema > Gerenciar Lojas e siga esses passos:

  • crie um Website – eu costumo utilizar o nome do domínio para que fique mais claro, uma vez que esse nome é interno, não é visto pelo consumidor. Utilize um código único e o anote, porque ele será necessário no último passo.
  • crie uma Loja – vincule essa loja ao Website e ao Catálogo de Produtos
  • crie uma Visão de Loja – ou quantas visões de loja quiser, vinculando-as à loja desejada. Não se esqueça de que a visão deve ter um código único, não utilizado pelas demais visões de loja

Criando uma nova loja no Magento - imagem: reprodução

Nesse ponto, o Magento vai pedir para você refazer os índices, de modo que ele posso reconstruir as informações de catálogo e endereços web. O próximo passo é mexer em seu painel Plesk, fornecido pela sua provedora de hospedagem. Em nosso painel, configuramos para que o novo domínio responda na mesma pasta que a loja original (no caso, /httpdocs). Se o seu painel não oferecer essa opção, dê uma olhada nesse artigo no próprio site do Magento, com a configuração a ser feita no servidor.

Configurando domínio no Plesk - imagem: reprodução

Agora é hora de mexer no .htaccess de sua instalação Magento. Você deve abrir o arquivo e incluir as seguintes linhas no final, tomando o cuidado de manter um backup, é claro. Na primeira sequência de quatro linhas, você deve informar o seu domínio original e vinculá-lo ao código base. Nas quatro linhas seguintes, você informa o seu novo domínio e o código que você anotou lá no começo do post. o tipo segue sendo website.

############################################
## Changed to host multiple domains

SetEnvIf Host www\.sualoja\.com\.br MAGE_RUN_CODE=base
SetEnvIf Host www\.sualoja\.com\.br MAGE_RUN_TYPE=website
SetEnvIf Host ^sualoja\.com\.br MAGE_RUN_CODE=base
SetEnvIf Host ^sualoja\.com\.br MAGE_RUN_TYPE=website

SetEnvIf Host www\.minhalojadenicho\.com\.br MAGE_RUN_CODE=lojadenicho
SetEnvIf Host www\.minhalojadenicho\.com\.br MAGE_RUN_TYPE=website
SetEnvIf Host ^minhalojadenicho\.com\.br MAGE_RUN_CODE=lojadenicho
SetEnvIf Host ^minhalojadenicho\.com\.br MAGE_RUN_TYPE=website

Dando tudo certo, nesse ponto sua loja já está respondendo nos domínios corretos, mas o novo endereço ainda é redirecionado para o endereço antigo. Para corrigir isso, é preciso ir em Sistema > Configuração, selecionar o ambiente no canto superior esquerdo e ir na aba Web. Desmarque a caixa “Usar Padrão” e escreva a URL do seu novo domínio nas caixas HTTP e HTTPS. Só refazer o cache e tudo estará funcionando.

Configuração dos endereços no Magento - imagem: reprodução

Ops, talvez nem tudo. A configuração já foi feita mas alguns ajustes ainda são necessários. Não se esqueça de:

  • reformular as páginas e os blocos estáticos, para que eles apareçam também na sua nova loja
  • adicionar os produtos também na nova loja, já que por padrão eles não são disponibilizados automaticamente. Essa configuração está na aba Sistemas, na página de edição do produto.
Como configurar múltiplos domínios em sua loja Magento
2 votos, 5.00 média (95% pontuação)
  • Carlos Henrique

    Olá tudo bom, me diz uma coisa, eu tenho http://www.A.com e tenho http://www.B.com.br no servidor eu poderia direcionar o http://www.B.com.br para o A e seguir a configuração, não consigo acessaro /var/www/http do servidor – pois uso o NEXCESS e por algum motivo não dá acesso a esta pasta

  • jPedro

    Olá André. Primeiramente parabéns pelo post!
    Eu estava seguindo os passos e notei uma coisa.
    Na terceira linha, você fez na configuração do .htaccess está: “SetEnvIf Host http://www.sualoja.com.br MAGE_RUN_CODE=base”
    Percebi que está “com.br” o certo seria “com.br MAGE_RUN_CODE=base”. Estou certo?

    Obrigado e novamente parabéns.

  • http://www.andregugliotti.com.br/ Andre Gugliotti

    Correto, obrigado por avisar!

  • Wira Nunes

    Tem como fazer isso via localhost? como separo isso no frontend? por ex loja.com.br/1 loja.com.br/2?

  • Manoela Tyrka

    Olá André,
    Segui os passos mas não deu certo, estou usando um subdomínio, veja se está correta a forma de escrita, já segui todos os passos mas não sei o que está acontecendo, poderia me ajudar?

    SetEnvIf Host http://www.mirrage.com.br MAGE_RUN_CODE=base
    SetEnvIf Host http://www.mirrage.com.br MAGE_RUN_TYPE=website
    SetEnvIf Host ^mirrage.com.br MAGE_RUN_CODE=base
    SetEnvIf Host ^mirrage.com.br MAGE_RUN_TYPE=website

    SetEnvIf Host http://www.envelope.mirrage.com.br MAGE_RUN_CODE=envelope
    SetEnvIf Host http://www.envelope.mirrage.com.br MAGE_RUN_TYPE=website
    SetEnvIf Host ^.envelope.mirrage.com.br MAGE_RUN_CODE=envelope
    SetEnvIf Host ^.envelope.mirrage.com.br MAGE_RUN_TYPE=website

    No host criei o subdominio e coloquei a pasta public_html como raiz
    Inclusive já tentei sem a entre envelope.mirrage e também não deu certo

    Estou achando que há algum erro na instalação do meu magento, pois tenho duas visões de loja instaladas e não aparece o botão de seleção de idioma.

  • http://www.andregugliotti.com.br/ Andre Gugliotti

    Manoela,
    Realmente, o subdomínio está “redirecionando” para o domínio principal, o que parece mesmo indicar que o apontamento para a public_html está correto. O que me vem à cabeça é se o website está habilitado e tem uma visão de loja também habilitada ou se o código do website está correto (envelope).
    Quanto a não aparecer a caixa de seleção, pode ser esse erro (estar desabilitado o website/visão de loja) ou talvez o tema não tenha essa caixa.

  • Manoela Tyrka

    Consegui redirecionar o dominio, agora preciso configurar tudo.
    A única função que ainda não consegui fazer funcionar é que apareça a div dos idiomas.
    Tenho inglês e português instalados e habilitados e não aparece a caixa de seleção.

  • Willian

    Olá André, estou estudando seus 2 livros sobre magento. Me indique algumas lojas multistore, estou muito curioso para ver como que fica. Abraços. Muito bom seus livros.

  • http://www.andregugliotti.com.br/ Andre Gugliotti

    William, não me recordo de cabeça de nenhuma loja no Brasil (as duas que sei não posso dizer pois as empresas trabalham marcas diferentes).

  • Luiz Gabriel Cardozo

    Se eu quiser montar uma pequena rede de lojas, lojas pequenas max 50 produtos cada, para alguns clientes que usam atualmente loja integrada e outras plataformas simples, você recomendaria multi store, ou instações independentes?

  • Leander Vorpagel

    Olá, boa noite

    E como ficaria se a hospedagem é da Knownhost de ambas as páginas, porém com o painel Cpanel ao invés de Plesk. Tentei varias maneiras, mas sem êxito. Erro 404.

    Atenciosamente,
    Leander Vorpagel

  • Marcelo Rocha

    É possível criar administradores independentes para cada loja?

  • Miguel

    Dá pra configurar um blog wordpress que tá em subdominio pra abrir como página home do magento? Ou teria que no magento executar este processo como se o subdominio fosse um outro domínio? Neste caso que você apresentou você considerou 2 domínios diferentes sendo o primeiro aquele que configurou no Plesk ou foi um domínio só como multiloja?