() translation by (you can also view the original English article)
Um ano ou mais atrás, tive um desastre de hospedagem. O servidor do meu provedor de hospedagem foi hackeado e demoraram mais de uma semana para identificar qual era o problema e corrigi-lo.
Nesse meio tempo os sites dos meus clientes eram todos redirecionados para um site de dados, e eu ficava recebendo telefonemas dos meus clientes me exigindo que consertasse as coisas imediatamente.
Eu tinha que agir rápido. Mas ao invés de simplesmente mover todos os sites para um novo servidor (e um novo provedor de hospedagem, devo acrescentar), eu decidi mudar os sites de uma forma que facilitasse a migração para qualquer servidor, caso acontecesse isso novamente. Então movi um número de sites com sua própria instalação WordPress para minha rede de Multisite existente, que já tinha migrado para o novo servidor.
Migrar um site pronto em WordPress para rede de Multisite é mais complexo do que apenas mover uma instalação normal do Wordpress para outra instalação nova do WordPress, mas não é impossível. Neste tutorial eu vou te mostrar dois métodos para fazê-lo: utilizando plugins e o processo manual.
O Que Você Vai Precisar
Para seguir este tutorial, você vai precisar:
- Uma instalação do WordPress com um site existente funcionando.
- Do WordPress Multisite, em que você seja o administrador da rede.
- Para a migração manual, você vai precisar de um cliente de FTP, um editor de código e acesso ao phpMyAdmin.
Usando um Plugin para Mover um Site Para Multisite
Se seu site não tem um monte de configurações de plugin, temas ou telas de configurações do site, você pode ser capaz de movê-lo usando o plugin WordPress Importer. Se o site tem widgets, você pode copiar suas configurações do outro lado usando o plugin Widget Settings Importer/Exporter.
No entanto se você adicionou um monte de configuração sob medida usando configurações ou telas de opções ou personalizador de tema, nenhum destas configurações será copiado para o outro lado. Neste caso, você precisará fazer uma migração manual.
Para maiores detalhes sobre como usar esses plugins para mover o seu site, veja o meu tutorial anterior sobre o uso de plugins para mover um site WordPress. O processo é exatamente o mesmo para migrar um site para uma rede Multisite, como é para um único site.
Migrando um Site para Multisite Manualmente
O site que vocês estão migrando para o Multisite terá três componentes que você precisa copiar do site antigo:
- os arquivos do theme e plugin — você pode copiar estes arquivos ou instalá-los na sua rede de sites, se eles já não estiverem instalados
- uploads— você encontrará estes em
wp-content/uploads
em seu site antigo, enquanto na instalação em vários locais precisarão ir parawp-content/uploads/sites/XX
, ondeXX
é o ID do seu novo site na rede ( em breve) - tabelas de banco de dados
Nota: Se você está migrando o seu site Multisite e o seu site foi criado antes WordPress 3.5, não terá uma pasta de sites
. Em vez disso, você terá uma pasta de blogs.dir
no wp-content
com todos os arquivos de carregamento para os subsites. Terá uma pasta numerada para o site que você está criando, para que você copie os arquivos para ela. Abordarei isso mais detalhadamente abaixo.
Primeiro o Backup
Antes de fazer algo assim, é uma boa idéia fazer backup do site que você está migrando e de sua instalação Multisite. Use seu plugin de backup preferencial, ou uma combinação de FTP e phpMyAdmin, se você preferir trabalhar manualmente.
Você vai usar esse backup para copiar os arquivos relevantes para o seu novo site, e também dá-lhe paz de espírito no caso acontecer qualquer problema.
Criando um Novo Site na Rede
Antes de você poder migrar o seu site antigo para o Multisite, você precisará criar um novo site vazio na rede. Mais tarde, você vai importar tudo do seu site antigo para este novo site.
Crie o site de uma forma normal, indo a Rede Admin > Sites, clicando em Adicionar Novo e insira os detalhes de seu novo site.
Encontrando o ID do Seu Novo Site na Rede Multisite
Cada site em uma rede Multisite, tem seu próprio ID numérico exclusivo. Isso é usado para identificar sua pasta no diretório wp-content/uploads/sites
(ou wp-content/blogs.dir
se sua rede Multisite for mais antiga— veja acima) e também para identificar as tabelas de banco de dados para esse site.
Faça isso indo em Redes Admin > Sites e, em seguida, selecionando a opção de editar para o site que você acabou de criar. A URL do WordPress te dará o ID do site. O URL aparecerá no formulário assim https://mynetwork.com/wp-admin/network/site-info.php?id=XX
XX
é a identificação do seu site e será o nome da pasta que contém seus arquivos, bem como o prefixo para seus nomes de tabela de banco de dados.
Upload de Arquivos Para o Novo Site
Identifique os plugins utilizados pelo seu site antigo e os instale (caso eles já não estejam instalados) na rede de seu WordPress através da seção de Plugins ou envie para wp-content/plugins
do backup que você tirou do seu site antigo.
Faça o mesmo para quaisquer temas que seu site esteja usando — copia eles a partir do seu backup para o diretório wp-content/themes
de sua rede, ou reinstalá.
Nota: Os temas e plugins são armazenados em um só lugar para todos os sites na rede Multsite—você não precisa armazená-los em algum lugar específico para o novo site.
Copie os uploads do seu site antigo para o novo. Você precisará copiar os arquivos estão em wp-wp-content/uploads
em seu site antigo. O local em que você vai fazer o upload dos arquivos vai depender quanto tempo a rede tem:
- Se a rede foi criada após WordPress 3.5, terá uma pasta de
sites
emwp-content/uploads
. Encontre a subpasta com ID do seu site e envie o conteúdo da pastawp-content/uploads
do seu site antigo para aquela. - Se a rede é mais velha e tem uma pasta de
blogs.dir
, que também contém uma pasta com ID do seu site. Então terá uma subpasta chamadafiles
. Copie o conteúdo da pastawp-content/uploads
do seu site antigo para a pastafiles
.
Nota: você pode precisar excluir qualquer pasta que WordPress criou para seu novo site em sites
ou blogs.dir
para evitar qualquer conflito.
Uma vez que você tenha finalizado tudo isso, ative qualquer tema ou plugin no seu novo site.
Exportando Tabelas do Seu Site Antigo
WordPress Multisite usa tabelas de banco de dados separado para cada site na rede. Em vez de armazenar os posts em seu site em wp_posts
, por exemplo, ele armazena em wp_XX_posts
, onde XX
é a identificação do seu site.
No entanto, ele não usa tabelas separadas para dados do usuário — isso é armazenado em uma tabela wp_users
e wp_usermeta
para toda a rede.
Isso significa que você precisará copiar todas as tabelas do seu site antigo do outro lado exceto as duas tabelas de usuário, e você precisará alterar os nomes dos arquivos que você está copiando. Infelizmente, você terá que criar os usuários manualmente no novo site usando as telas de admin do WordPress.
Para obter mais informações sobre tabelas de vários sites e banco de dados, consulte este tutorial sobre o banco de dados WordPress Multisite.
No PhpMyAdmin para seu antigo site, clique na tab Estrutura. Em seguida, selecione todas as tabelas exceto wp_users
e wp_usermeta
. Um exemplo é mostrado abaixo.



Clique sobre a seleção:na caixa de lista suspensa, selecione Exportar e depois clique em Executar. Isto irá baixar o arquivo sql
para sua máquina com o conteúdo dessas tabelas.
Adicionando Usuários
Como eu mencionei acima, você não pode copiar as tabelas wp_users
e wp_usermeta
como estas serão duplicadas na rede em vários locais.
Antes de começar a importar as tabelas que você acabou de baixar, configure os mesmos usuários em seu novo site como você tinha no antigo. Note que eles terão IDs identificações diferentes no banco de dados da rede diferentes do site antigo,o que pode causar algumas imprecisões, como atribuição de lugares para autores. Você precisará corrigir isso no final, que abordarei mais tarde.
Edição de Tabelas do Banco de Dados
Faça uma cópia do arquivo sql
que foi baixado para sua máquina e de-lhe um nome que lhe diz o que é (por exemplo, adicionando copia
ao nome). Abra em um editor de código.
Editando os Links
Altere todas as instâncias do domínio do site na rede em vários locais para seu novo domínio em vários locais. Por exemplo, se seu site for http://mysite.com
, altere para http://network.com/mysite
. Se sua rede usa subdomínios você precisará alterá-lo para http://mysite.network.com
. Salve seu arquivo.
Edição de Tabela de Referências
As tabelas de banco de dados no seu novo Multisite precisará de prefixos para a identificação do local. No seu arquivo sql
, substitua todas as instâncias do wp_
para wp_XX_
, onde XX
é o seu ID do local.
Agora salve o arquivo sql
.
Importação de Tabelas Para o Novo Banco de Dados
Agora que você já instalou os seus temas e plugins e exportou seus dados, você precisará importar as tabelas de banco de dados para sua rede Multisite.
Descartando as Tabelas Existentes
Antes de enviar as tabelas do seu site antigo, você precisará excluir as tabelas duplicada que o WordPress tenha adicionado ao seu novo site.
No phpMyAdmin, descarte quaisquer tabelas que são prefixadas com wp_XX_
, onde XX
é o ID do seu site. Estas incluem as seguintes, mas também pode incluir tabelas criadas por plugins:
wp_XX_commentmeta
wp_XX_comments
wp_XX_links
wp_XXoptions
wp_postmeta
wp_posts
wp_terms
wp_term_relationships
wp_term_taxonomy
Selecione as tabelas (mas quaisquer tabelas de wp_XX_
criadas por plugins), Selecione: menu suspenso, selecione o Drop e Sim.
O exemplo a seguir inclui uma tabela extra foi criado por um plugin:



Importante: Se seu site antigo tinha tabelas de banco de dados que foram criadas por plug-ins, você deve instalar os mesmos plugins na rede antes de importar o novo banco de dados. A importação irá incluir estes tabelas, que não funcionará a menos que o plugin tenha sido instalado.
Subindo as Tabelas de Banco de Dados
Em seguida suba o banco de dados que você já editou:
- Clique na guia de Importação.
- Clique no botão Escolher arquivo.
- Selecione o arquivo sql que editou e clique em Escolher ou OK.
- Clique no botão Executar.
- Depois de um tempo (dependendo do tamanho do seu banco de dados), você verá uma mensagem informando o upload foi concluído com êxito.
Passos Finais
Limpe o cache do seu navegador. Isso evita qualquer problema que possa ter caso seu navegador tenha cache de conteúdo do seu site antigo.
Agora acesse o admin do WordPress do site remoto. Se você moveu as tabelas de usuário do outro lado, seus detalhes de login será o mesmo para seu site antigo, mas se não, será o que você especificou quando você instalou o WordPress no novo local.
Visite a tela Links Permanentes para seu novo site e ative os links amigáveis.
De uma olhada em Posts na tela principal e verifique quais autores têm sido atribuídos a eles — há uma boa chance de que isso esteja errado. Você pode mudar isso em massa:
- Selecione todos os posts que devem ser atribuídos a um determinado autor.
- Clique em Ações de Massa e Editar.
- Clique em Aplicar.
- No painel que aparecer, selecione o autor correto da caixa suspensa.
- Clique em Atualizar.
No painel de edição é mostrado a captura de tela:



Se seu site tiver páginas e tipos de post pesonalizados, repita o processo acima para eles.
Verifique se todos os links estão funcionando e se os widgets e plugins estão se comportando como deveriam. Se não, você pode voltar no passo anterior do processo, usando seus backups, ou simplesmente configurando os plugins e widgets de dentro de seu novo site.
Configurando o Mapeamento de Domínio
Se você quiser manter o mesmo nome de domínio que você estava usando para o site quando estava em uma instalação de site unica, você pode usar o plugin de mapeamento de domínio para fazer isso. Instale o plugin, ative na sua rede e em seguida, siga as instruções dadas pelo plugin para configurá-lo. Isto envolve fazer alterações nas configurações de DNS do seu domínio.
Resumo
Movendo um site WordPress para a rede Multisite a partir de sua própria instalação não é algo que você possa fazer rapidamente ou sem que seja exaustivo, mas é possível e eu já fiz algumas migrações deste tipo. Basta seguir os passos indicados aqui e certifique-se que você tenha backups em caso de problemas, este tutorial deve ajudá-lo nesse processo.
Seja o primeiro a saber sobre novas traduções–siga @tutsplus_pt no Twitter!