Tutoriais

Como migrar o site de um cliente de uma rede WordPress Multisite

Equipe GrabWP
· 6 min read · Revisado por Equipe GrabWP

Se você gerencia agências ou hosting em WordPress Multisite, este momento é inevitável: um cliente cresce além da rede, ou quer levar seu site para seu próprio servidor, ou você simplesmente precisa isolá-lo para faturamento e suporte. No papel, extrair um único subsite parece uma exportação de cinco minutos. Na prática, é um dos trabalhos mais complicados no WordPress. Este guia mostra o fluxo de trabalho exato para extrair um subsite de forma limpa e reconstruí-lo como um site standalone que o cliente possa possuir.

1. Por que a extração de um único subsite é tão dolorosa

Um subsite Multisite não é um site independente. É um conjunto de tabelas com prefixo (wp_5_posts, wp_5_options e assim por diante) que compartilham tabelas globais para usuários, usermeta e configurações da rede. A tela nativa de Tools > Export fornece apenas um arquivo XML de posts, páginas e mídia. Ela deixa para trás:

  • Usuários e suas funções, que vivem nas tabelas globais compartilhadas
  • Configurações de plugin e theme armazenadas na tabela options do subsite
  • Tabelas personalizadas criadas por formulários, e-commerce ou plugins de membros
  • Dados serializados onde a URL ou o caminho antigo do subsite está embutido

Reconstrua apenas a partir desse XML e você passará dias recriando contas, reconfigurando plugins e caçando links quebrados. O objetivo, em vez disso, é uma cópia completa e byte a byte apenas dos dados desse subsite, seguida de um restore limpo em uma instalação que nunca foi um Multisite.

2. Escolha a arquitetura de destino

Decida onde o site extraído viverá antes de exportar. Dois bons resultados:

  • Uma instalação standalone de site único. Uma instalação comum do WordPress no próprio hosting do cliente ou no seu. Esta é a opção totalmente independente e a que os clientes geralmente desejam quando saem.
  • Um tenant isolado do GrabWP. Se você deseja manter os benefícios operacionais de uma única base de código, mas com separação real, mude o site de lugar como um tenant usando o plugin gratuito GrabWP Tenancy. Cada tenant recebe uploads isolados, seu próprio prefixo de tabela e roteamento baseado em domínio ou caminho, por exemplo, yoursite.com/site/client-a sem alterações de DNS.

De qualquer forma, o destino é um contexto de site único, não outro Multisite. Isso é importante para a etapa de restore abaixo.

3. Exporte os dados do subsite

A maneira limpa de capturar tudo é fazer um backup por tenant no GrabWP Tenancy Pro. Seu recurso de backup gera o arquivo de exportação que a ferramenta de restore lê: um pacote completo do database do site e do seu wp-content, não apenas um dump XML.

  1. No ambiente de origem, execute o backup por tenant para o subsite que você está movendo.
  2. O backup de 7 etapas é executado com progresso em AJAX para que você possa acompanhar a conclusão.
  3. Faça o download do ZIP de exportação resultante. Este arquivo é o único artefato que você leva para o novo ambiente.

Isso é importante porque o GrabWP Restore aceita apenas arquivos ZIP produzidos pelo recurso de backup do GrabWP Tenancy Pro. Ele não é um importador genérico para backups arbitrários, e essa restrição é o que torna o restore previsível.

4. Reconstrua de forma limpa com o GrabWP Restore

Reconstruindo um subsite extraído como um tenant isolado com o GrabWP Restore

Crie uma nova instalação de site único do WordPress no destino e, em seguida, instale o plugin gratuito GrabWP Restore.

  1. Vá para Tools > GrabWP Restore (apenas administrador).
  2. Faça o upload do ZIP de exportação do passo 3.
  3. Confirme o reconhecimento explícito de backup que o plugin exige antes de prosseguir.
  4. Execute o restore de 8 etapas e acompanhe o progresso em AJAX.

Por baixo dos panos, o Restore faz o trabalho pesado que as migrações manuais costumam errar: uma importação SQL em streaming que lida com grandes databases sem esgotar a memória, reescrita automática de prefixo de tabela para que as tabelas de entrada correspondam ao destino e compatibilidade de collation com MySQL 5.7 e 8.0 para que a importação não trave em incompatibilidades de charset.

Uma regra rígida: o Restore é intencionalmente desativado no Multisite. Operações destrutivas em toda a rede precisam de um fluxo de trabalho ciente da rede, portanto, você restaura na nova instalação de site único, nunca em uma rede em produção. Se você tentar pular etapas restaurando em outro Multisite, a ferramenta irá impedi-lo.

5. Verifique URLs e dados serializados

É aqui que as migrações ingênuas falham. A URL ou o caminho antigo do subsite é escrito em centenas de linhas, incluindo arrays serializados que uma simples busca e substituição acaba corrompendo. O GrabWP Restore cuida disso para você:

  • Atualização automática da URL do site define as URLs principal e do site para o novo destino.
  • Busca e substituição de URL em todo o database reescreve o endereço antigo em todos os lugares, incluindo dados serializados e codificados pelo theme, para que os layouts do page builder, as opções de widgets e as configurações de plugin continuem funcionando.

Após a conclusão do restore, faça uma verificação pontual do resultado:

  1. Faça login e confirme se a sua conta de admin e funções foram transferidas.
  2. Abra uma página criada com o seu page builder e confirme se as imagens e os módulos são renderizados.
  3. Procure no front-end por quaisquer referências remanescentes ao caminho antigo /subsite.
  4. Confirme se os uploads resolvem, já que o Restore faz um restore seguro de arquivos que renomeia quaisquer diretórios plugins, themes e uploads existentes para .old antes de gravar os novos, para que nada seja sobrescrito silenciosamente.

6. Entregue ou realoque como um tenant isolado

Neste ponto, você tem dois caminhos limpos:

  • Entregue o site. A instalação standalone é totalmente do cliente. Transfira as credenciais de hosting e pronto. Sem tabelas compartilhadas, sem dependência de rede.
  • Realoque como um tenant isolado. Mantenha o site na infraestrutura que você gerencia, mas como um tenant adequado. Com o GrabWP Tenancy Pro, cada tenant pode usar um prefixo MySQL compartilhado, um database MySQL dedicado ou SQLite, e obtém seu próprio wp-content isolado. Isso é uma separação real para suporte e faturamento, sem o acoplamento de tabelas compartilhadas que tornou a extração tão dolorosa em primeiro lugar.

7. Evite essa dor na próxima vez

O motivo pelo qual esse trabalho é difícil é arquitetônico: o Multisite acopla cada subsite a tabelas globais compartilhadas. Se você espera que clientes entrem e saiam, inicie-os em uma arquitetura de isolamento de dados onde cada site já é independente. Executar clientes como tenants do GrabWP significa que cada um já possui uploads isolados, seu próprio prefixo e roteamento independente, portanto, “mover um cliente” se torna “executar um backup e um restore” em vez de um trabalho de desenrolar de vários dias.

Comece agora

O fluxo de trabalho de extração acima é executado em ferramentas gratuitas mais uma parte paga: GrabWP Restore e GrabWP Tenancy são gratuitos, e o backup por tenant que produz o arquivo de exportação restaurável faz parte do GrabWP Pro por $9.99/month. Se você ainda está avaliando se o Multisite se encaixa na sua agência, leia quando não usar o WordPress Multisite a seguir.

Perguntas frequentes

Posso exportar apenas um subsite de uma rede WordPress Multisite?
Sim, mas o exportador nativo do WordPress lida apenas com posts, páginas e mídia em XML. Ele ignora usuários, options, tabelas personalizadas e configurações serializadas vinculadas à rede. Para obter uma cópia completa e restaurável de um subsite, use o backup por tenant do GrabWP Tenancy Pro, que gera um arquivo de exportação completo do database e do wp-content desse site.
Por que o GrabWP Restore não funciona no meu Multisite?
O GrabWP Restore é desativado intencionalmente no Multisite por design. O Restore executa operações destrutivas em toda a rede que um Multisite precisa de um fluxo de trabalho ciente da rede para lidar com segurança. O padrão correto é exportar da origem e, em seguida, restaurar em uma instalação standalone de site único recém-criada, nunca em um Multisite em produção.
Meus links e configurações vão quebrar após a mudança?
Eles não devem quebrar se você usar uma ferramenta que reescreve as URLs em todo o database. O GrabWP Restore executa uma busca e substituição em todo o database que inclui dados serializados e codificados pelo theme, além de uma atualização automática da URL do site, para que as configurações de widgets, o conteúdo do page builder e as options que armazenam o caminho antigo do subsite sejam corrigidos durante o restore.

Editorial standards: Our content is written by WordPress experts with hands-on multi-tenancy experience. Articles are fact-checked and regularly updated to ensure accuracy.