Poupe até 53% em Servidores VPS, escolha agora. Oferta limitada.

WordPress: como migrar tema filho sem perder estilos — direto no código

16 min de leitura  ·  Guia técnico

Migrar tema filho no WordPress significa transferir a pasta do tema personalizado — com todos os seus arquivos CSS, PHP e assets — de um servidor para outro sem perder nenhuma customização visual. Para migrar um tema filho sem plugin, siga estes passos:

  1. Faça backup completo da pasta do tema filho e do tema pai via FTP ou gerenciador de arquivos do cPanel.
  2. Exporte o banco de dados MySQL com mysqldump para preservar as configurações do Customizer.
  3. Copie ambas as pastas para wp-content/themes/ no servidor de destino.
  4. Importe o dump SQL no banco de dados do novo servidor.
  5. Reative o tema filho em Aparência > Temas no painel do WordPress.
  6. Verifique o carregamento do style.css do tema filho inspecionando o código-fonte do front-end.

Pré-requisitos para migrar tema filho no WordPress

  • Acesso FTP ou SFTP ao servidor de origem e ao servidor de destino (use o FileZilla como cliente FTP se precisar de um guia de configuração).
  • Acesso ao cPanel ou SSH com permissão de leitura e escrita em wp-content/themes/.
  • Credenciais do banco de dados MySQL de origem e destino (host, usuário, senha, nome do banco).
  • WordPress 6.x instalado no servidor de destino com o mesmo usuário administrador ou com permissão para reativar temas.
  • WP-CLI instalado opcionalmente para verificação via linha de comando.
  • PHP 8.1 ou superior no servidor de destino para compatibilidade com temas modernos.
  • Espaço em disco suficiente para acomodar os arquivos do tema pai e do tema filho.

Como copiar os arquivos do tema filho via FTP e cPanel

A transferência direta dos arquivos é o núcleo da migração de tema filho no WordPress. Diferente de plugins de migração que empacotam tudo automaticamente, o método manual garante controle total sobre quais arquivos são movidos e evita conflitos de versão.

Conecte-se ao servidor de origem com o FileZilla ou com o gerenciador de arquivos do cPanel. Navegue até o diretório:

/public_html/wp-content/themes/

Você verá uma estrutura semelhante a esta:

themes/
├── twentytwentyfour/        ← tema pai
├── twentytwentyfour-child/  ← tema filho
└── index.php

Atenção: Copie ambas as pastas — o tema pai e o tema filho. Ignorar o tema pai causará erro de dependência no WordPress ao tentar ativar o tema filho no destino.

Para fazer o download via FTP com FileZilla, clique com o botão direito em cada pasta e selecione Baixar. Para ambientes com SSH, use scp para transferência direta entre servidores:

scp -r usuario@servidor-origem:/public_html/wp-content/themes/twentytwentyfour \
    usuario@servidor-destino:/public_html/wp-content/themes/

scp -r usuario@servidor-origem:/public_html/wp-content/themes/twentytwentyfour-child \
    usuario@servidor-destino:/public_html/wp-content/themes/

Output esperado após o comando scp:

style.css                          100%  4321     1.2MB/s   00:00
functions.php                      100%  2198     0.9MB/s   00:00
screenshot.png                     100%  87KB     2.1MB/s   00:00

Se preferir compactar antes de transferir, use tar no servidor de origem via SSH:

cd /public_html/wp-content/themes/
tar -czf temas-backup.tar.gz twentytwentyfour twentytwentyfour-child

Depois, transfira o arquivo temas-backup.tar.gz e extraia no destino:

tar -xzf temas-backup.tar.gz -C /public_html/wp-content/themes/

Exportar e importar o banco de dados para preservar estilos do Customizer

As customizações visuais feitas no Customizer do WordPress — cores, fontes, layout de cabeçalho — não ficam nos arquivos do tema. Elas são armazenadas na tabela wp_options do banco de dados, nas chaves theme_mods_nome-do-tema. Sem migrar o banco, você perde todas essas configurações mesmo que os arquivos CSS estejam intactos.

Para exportar o banco de dados no servidor de origem via linha de comando SSH:

mysqldump -u usuario_db -p nome_do_banco > backup-wordpress.sql

Se preferir usar o cPanel, acesse phpMyAdmin, selecione o banco de dados, clique em Exportar e escolha o formato SQL com a opção Rápido.

Para verificar se as configurações do tema filho estão no dump antes de importar:

grep "theme_mods" backup-wordpress.sql

Output esperado:

INSERT INTO `wp_options` VALUES ('theme_mods_twentytwentyfour-child','a:3:{s:18:\"custom_css_post_id\";i:42;...}');

Importe o dump no banco de dados do servidor de destino:

mysql -u usuario_db_destino -p nome_do_banco_destino < backup-wordpress.sql

Atenção: Se o servidor de destino já tiver um WordPress instalado com dados, a importação irá sobrescrever as tabelas existentes. Faça backup do banco de destino antes de executar este comando.

Caso queira migrar apenas as configurações do tema sem sobrescrever o banco inteiro, exporte somente as linhas relevantes:

mysqldump -u usuario_db -p nome_do_banco wp_options \
  --where="option_name LIKE 'theme_mods%'" > theme-mods-only.sql

Depois importe esse arquivo parcial no destino:

mysql -u usuario_db_destino -p nome_do_banco_destino < theme-mods-only.sql

Para conexões remotas ao MySQL via cPanel, consulte o guia de conexão remota ao MySQL no cPanel para liberar o acesso externo antes de executar os comandos acima.

Verificar a estrutura do tema filho após a migração

Após copiar os arquivos e importar o banco, é essencial confirmar que o tema filho está estruturalmente correto no servidor de destino. Um tema filho mal configurado pode carregar sem erros aparentes mas ignorar os estilos personalizados.

Verifique se o arquivo style.css do tema filho contém o cabeçalho obrigatório com a referência ao tema pai:

cat /public_html/wp-content/themes/twentytwentyfour-child/style.css

Output esperado (primeiras linhas):

/*
 Theme Name:   Twenty Twenty-Four Child
 Theme URI:    https://seusite.com.br
 Description:  Tema filho do Twenty Twenty-Four
 Author:        Seu Nome
 Template:     twentytwentyfour
 Version:      1.0.0
*/

O campo Template: deve corresponder exatamente ao nome da pasta do tema pai. Se houver divergência — por exemplo, Template: twentytwentyfour mas a pasta do pai se chama TwentyTwentyFour com letras maiúsculas — o WordPress não reconhecerá a dependência.

Verifique também o arquivo functions.php do tema filho para confirmar que o enqueue do stylesheet está correto:

cat /public_html/wp-content/themes/twentytwentyfour-child/functions.php

Output esperado:

<?php
add_action( 'wp_enqueue_scripts', 'tema_filho_enqueue_styles' );
function tema_filho_enqueue_styles() {
    wp_enqueue_style(
        'parent-style',
        get_template_directory_uri() . '/style.css'
    );
    wp_enqueue_style(
        'child-style',
        get_stylesheet_directory_uri() . '/style.css',
        array( 'parent-style' )
    );
}

Se o functions.php não enfileirar o stylesheet do tema pai, os estilos do tema filho serão carregados sem a base do tema pai, causando quebra visual.

Para verificar via WP-CLI diretamente no servidor de destino:

wp theme list --path=/public_html

Output esperado:

+---------------------------+----------+--------+---------+
| name                      | status   | update | version |
+---------------------------+----------+--------+---------+
| twentytwentyfour          | inactive | none   | 1.2     |
| twentytwentyfour-child    | active   | none   | 1.0.0   |
+---------------------------+----------+--------+---------+

O tema filho deve aparecer com status active e o tema pai como inactive (presente mas não ativo diretamente).

Reativar o tema filho e ajustar permissões de arquivo

Com os arquivos no lugar e o banco de dados importado, acesse o painel do WordPress no servidor de destino em Aparência > Temas. O tema filho deve aparecer listado. Clique em Ativar.

Se o tema não aparecer na lista, o problema geralmente é de permissão de arquivo. Verifique e corrija as permissões das pastas de tema:

find /public_html/wp-content/themes/twentytwentyfour-child -type d -exec chmod 755 {} \;
find /public_html/wp-content/themes/twentytwentyfour-child -type f -exec chmod 644 {} \;

Permissões corretas para temas WordPress:

  • Pastas: 755 (leitura e execução para todos, escrita apenas para o dono)
  • Arquivos: 644 (leitura para todos, escrita apenas para o dono)
  • Nunca use 777 em arquivos de tema — isso representa risco de segurança grave.

Após ativar o tema, acesse o front-end do site e inspecione o código-fonte com Ctrl+U no navegador. Procure pela tag <link> que referencia o style.css do tema filho:

<link rel="stylesheet" href="https://seusite.com.br/wp-content/themes/twentytwentyfour-child/style.css?ver=1.0.0" />

Se essa linha aparecer no código-fonte, o tema filho está sendo carregado corretamente com seus estilos personalizados.

Caso o site use HTTPS e você precise garantir que os assets do tema sejam carregados com o protocolo correto, consulte o guia sobre como redirecionar HTTP para HTTPS para evitar avisos de conteúdo misto que podem bloquear o carregamento do CSS.

Problemas comuns e como resolver

Sintoma: tema filho não aparece em Aparência > Temas após a migração

Causa: A pasta do tema filho não foi copiada corretamente para wp-content/themes/, ou o arquivo style.css está ausente ou corrompido. O WordPress só reconhece um tema se encontrar o cabeçalho válido no style.css.
Solução: Verifique se a pasta existe no servidor de destino com ls -la /public_html/wp-content/themes/. Confirme que o arquivo style.css está presente e contém o campo Theme Name: no cabeçalho. Se o arquivo estiver ausente, faça o upload novamente via FTP.

Sintoma: WordPress exibe erro "O tema pai está ausente" ao ativar o tema filho

Causa: A pasta do tema pai não foi copiada para o servidor de destino, ou o nome da pasta do tema pai não corresponde ao valor do campo Template: no style.css do tema filho.
Solução: Copie a pasta do tema pai para wp-content/themes/ no servidor de destino. Verifique se o nome da pasta é exatamente igual ao valor de Template: — o WordPress diferencia maiúsculas de minúsculas nesse campo.

Sintoma: estilos do tema filho não são aplicados mesmo após ativação

Causa: O arquivo functions.php do tema filho não está enfileirando o stylesheet corretamente, ou há cache de página/browser impedindo o carregamento do CSS atualizado.
Solução: Revise o functions.php e confirme que a função wp_enqueue_style está registrando o child-style com dependência no parent-style. Limpe o cache do WordPress (se usar plugin de cache) e force o recarregamento do navegador com Ctrl+Shift+R.

Sintoma: customizações do Customizer desapareceram após a migração

Causa: O banco de dados não foi migrado junto com os arquivos do tema, ou foi importado em um banco diferente do que o WordPress está usando no servidor de destino.
Solução: Verifique o arquivo wp-config.php do WordPress no destino para confirmar o nome do banco de dados (DB_NAME), o usuário (DB_USER) e o host (DB_HOST). Reimporte o dump SQL no banco correto. Confirme com grep "theme_mods" backup-wordpress.sql que as configurações estavam no dump.

Sintoma: imagens do tema filho aparecem quebradas após a migração

Causa: As URLs das imagens no banco de dados ainda apontam para o domínio ou caminho do servidor de origem.
Solução: Use WP-CLI para substituir as URLs antigas pelas novas no banco de dados:

wp search-replace "https://site-antigo.com.br" "https://site-novo.com.br" \
  --path=/public_html --all-tables

Output esperado:

Success: Made 47 replacements.

Perguntas frequentes sobre migração de tema filho no WordPress

É possível migrar um tema filho no WordPress sem usar plugin?

Sim. Basta copiar a pasta do tema filho via FTP ou gerenciador de arquivos do cPanel, importar o banco de dados com as customizações e reativar o tema no painel do WordPress. Nenhum plugin é necessário para esse processo quando feito diretamente nos arquivos do servidor. O método manual oferece controle total e evita dependências de plugins que podem conflitar com o ambiente de destino.

O que acontece com os estilos do tema filho ao migrar para outro servidor?

Os estilos definidos no arquivo style.css do tema filho são preservados desde que a pasta completa do tema seja copiada corretamente. Customizações feitas via Customizer do WordPress ficam salvas no banco de dados e precisam ser migradas junto com o dump SQL para não serem perdidas. Sem a migração do banco, os arquivos CSS chegam intactos, mas as configurações visuais do Customizer são perdidas.

Preciso migrar o tema pai junto com o tema filho?

Sim, o tema filho depende do tema pai para funcionar. Se o tema pai não estiver presente no servidor de destino, o WordPress exibirá um erro de dependência e o tema filho não será ativado. Copie ambas as pastas para o diretório wp-content/themes/ do novo servidor. O nome da pasta do tema pai deve corresponder exatamente ao valor do campo Template: no style.css do tema filho.

Como verificar se o tema filho foi migrado corretamente?

Acesse o painel do WordPress em Aparência > Temas e confirme que o tema filho aparece listado e ativo. Em seguida, abra o front-end do site e inspecione o código-fonte para verificar se o arquivo style.css do tema filho está sendo carregado. Você também pode executar wp theme list via WP-CLI para confirmar o status de cada tema instalado no servidor.

As customizações feitas no Customizer do WordPress são migradas automaticamente?

Não automaticamente. As configurações do Customizer ficam armazenadas na tabela wp_options do banco de dados, nas chaves theme_mods_nome-do-tema. Para migrá-las, é necessário exportar e importar o banco de dados completo ou usar a ferramenta de exportação nativa do WordPress em Ferramentas > Exportar e depois importar no destino. A exportação nativa, porém, não cobre todas as configurações do Customizer — o dump SQL completo é o método mais confiável.

Conclusão

  • Copie sempre as duas pastas: tema pai e tema filho devem estar presentes em wp-content/themes/ no servidor de destino — a ausência do tema pai impede a ativação do filho.
  • Migre o banco de dados: os estilos do Customizer vivem na tabela wp_options; sem o dump SQL, as customizações visuais são perdidas mesmo com os arquivos CSS intactos.
  • Valide após a migração: use wp theme list via WP-CLI e inspecione o código-fonte do front-end para confirmar que o style.css do tema filho está sendo carregado corretamente antes de considerar a migração concluída.

Leia também

Precisa de ajuda com hospedagem WordPress?

Migrar temas e bancos de dados manualmente exige atenção a cada detalhe — um arquivo faltando ou uma permissão errada pode derrubar o visual do site inteiro. A AviraHost oferece planos de hospedagem com cPanel, suporte técnico especializado e ambiente otimizado para WordPress, reduzindo os riscos de migração.

Conheça os planos de hospedagem da AviraHost

  • 0 Os usuários acharam isso útil
  • WordPress, tema-filho, migração, cPanel, AviraHost, PHP, hospedagem
Esta resposta foi útil?

Artigos Relacionados

Guia Completo: Como escolher o melhor plano de hospedagem para o seu site

Escolher o plano de hospedagem ideal para o seu site é fundamental para garantir seu bom...

Lista Prática: 5 Vantagens de ter SSL gratuito no seu site

Ter um certificado SSL no seu site não é apenas uma questão de segurança, mas também uma...

Comparativo: Hospedagem de sites vs. VPS: qual é a melhor opção?

Quando se trata de escolher entre hospedagem compartilhada ou VPS, as opções variam de acordo...

Dicas de Otimização de Servidores Linux

Dicas de Otimização de Servidores Linux Servidores Linux são amplamente utilizados por sua...

Como Implementar Soluções Eficientes para Melhorar a Gestão de Serviços Online

Como Implementar Soluções Eficientes para Melhorar a Gestão de Serviços Online...