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).
Antes de começar: Faca backup do banco de dados antes do search-replace: a operacao altera milhares de linhas e e irreversivel sem copia. Confirme também que o backup da pasta uploads esta completo antes de sobrescrever qualquer arquivo no destino.
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.
BASH
# 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
Perguntas frequentes
Por que as imagens quebram mas o texto aparece?
Porque o texto fica no banco e as imagens dependem de dois fatores: o caminho gravado no banco (URL) e o arquivo fisico em uploads. Se a URL aponta para o domínio antigo ou o arquivo não veio, a imagem quebra enquanto o texto, que não depende de arquivo, continua aparecendo.
A biblioteca de mídia esta vazia. Os arquivos sumiram?
Nem sempre. A biblioteca lista anexos a partir do banco (tabela wp_posts); se a URL não foi atualizada ou os registros apontam para caminhos antigos, ela aparece vazia mesmo com os arquivos na pasta uploads. Faca o search-replace da URL para corrigir.
Como sei se a pasta uploads veio completa?
Compare o tamanho de wp-content/uploads na origem e no destino via FTP ou SSH. Diferencas grandes indicam transferencia incompleta. Verifique também se as subpastas por ano e mes existem; falta delas gera 404 direto nas imagens daquele período.
Posso trocar a URL com um UPDATE de SQL?
Não. Muitos dados de mídia ficam em campos serializados (metadados de imagem, configurações de tema). Um UPDATE cru quebra o tamanho declarado das strings e corrompe esses dados. Use WP-CLI search-replace ou Better Search Replace, que tratam a serialização.
As imagens aparecem mas as miniaturas não. Por que?
Os tamanhos gerados (miniaturas) podem não ter sido transferidos ou o tema novo define dimensoes diferentes. Use o plugin Regenerate Thumbnails para recriar as miniaturas a partir das imagens originais já presentes na pasta uploads.
Usava CDN na origem e a mídia sumiu. O que fazer?
Se um plugin de offload (S3, CDN) hospedava as imagens fora do site, elas podem não estar no backup. Reative o offload apontando para o mesmo storage, ou baixe os arquivos do CDN antigo e suba para wp-content/uploads no destino antes de corrigir as URLs.














