Como corrigir mídia que não aparece após migração
O que é a mídia que não aparece após migração?
Após migrar um site, a mídia que não aparece e o estado em que as imagens e arquivos enviados não carregam no destino, embora o conteúdo da página exista. O WordPress guarda os caminhos das imagens no banco (apontando para a URL antiga) e os arquivos fisicos ficam em wp-content/uploads. Se a URL não foi atualizada, se os arquivos não vieram completos ou se as permissões estão erradas, a mídia não renderiza.
Como identificar
- As imagens do conteúdo aparecem como icone quebrado ou caixa vazia no frontend.
- A biblioteca de mídia abre vazia, mesmo com os arquivos presentes na pasta uploads.
- O navegador retorna 404 ao abrir a URL direta de uma imagem em wp-content/uploads.
- As imagens ainda apontam para o domínio antigo no código-fonte da página (URL anterior).
Como prevenir
- Use um plugin de migração confiavel que transfere a pasta uploads e já faz o search-replace da URL
- Confira o tamanho total de wp-content/uploads na origem e no destino para garantir transferencia completa
- Documente plugins de offload de mídia (CDN/S3) antes de migrar, pois a mídia pode estar hospedada fora do site
Causa
- URL antiga ainda gravada no banco de dados, fazendo as imagens apontarem para o domínio anterior.
- Pasta wp-content/uploads transferida de forma incompleta (FTP interrompido ou subpastas por ano/mes faltando).
- Permissões incorretas nos arquivos e pastas de uploads no novo servidor (sem 644/755).
- Tabela de anexos desatualizada: registros em wp_posts apontando para caminhos absolutos do servidor antigo.
- Plugin de offload de mídia (CDN/S3) ativo na origem, com as imagens hospedadas fora e não migradas.
Como resolver
- Confirme a pasta uploads: via FTP, verifique se wp-content/uploads e as subpastas por ano/mes foram transferidas por completo. Pasta incompleta gera 404 direto nos arquivos de imagem.
- Faca o search-replace da URL: substitua a URL antiga pela nova em todo o banco preservando dados serializados, com WP-CLI search-replace ou o plugin Better Search Replace. Isso corrige imagens apontando para o domínio antigo.
- Ajuste as permissões: aplique 644 para arquivos e 755 para pastas em wp-content/uploads via FTP ou SSH, para o servidor servir as imagens.
- Regenere as miniaturas: use o plugin Regenerate Thumbnails para recriar os tamanhos de imagem que possam ter ficado para tras na transferencia.
- Desative o offload de mídia: se a origem usava CDN ou S3 para hospedar a mídia, desative o plugin ou reconfigure o destino, pois as imagens podem não ter vindo no backup.
# WP-CLI: corrige as URLs de midia apontando para o dominio antigo, preservando serializados
wp search-replace 'https://dominio-antigo.com/wp-content/uploads' 'https://dominio-novo.com/wp-content/uploads' --all-tables --report-changes-only
# Teste antes com --dry-run (nao grava nada, so mostra o que mudaria):
wp search-replace 'https://dominio-antigo.com' 'https://dominio-novo.com' --all-tables --dry-run














