🎉 USE O CUPOM DESCONTO.FULL | 20% OFF acima de R$ 50,00

Como corrigir URLs quebradas após mudança de domínio

Time Full Services Time Full Services
Tipo Migracao & Backup
Nome do erro URLs quebradas após mudança de domínio EN: Broken URLs after domain change
Severidade Grave
Descrição URLs quebradas após mudanca de domínio acontecem quando o WordPress passa a usar um novo endereco, mas links internos, imagens e referencias no conteúdo continuam apontando para o domínio antigo. A causa e a URL antiga gravada no banco, que exige search-replace para trocar sem corromper dados serializados.

O que é as URLs quebradas após mudança de domínio?

URLs quebradas após mudança de domínio é o estado em que o site responde no domínio novo, mas o conteúdo ainda referencia o antigo: links internos levam ao endereço velho, imagens não carregam e formulários enviam para o lugar errado. O WordPress grava a URL absoluta em posts, opções e metadados; trocar só siteurl/home não atualiza essas milhares de referências espalhadas pelo banco.

Como identificar

  • Links internos do menu e do conteúdo levam ao domínio antigo e retornam 404.
  • Imagens da biblioteca de mídia não aparecem (src ainda aponta para o domínio antigo).
  • O navegador mostra aviso de conteúdo misto porque recursos carregam do endereço anterior.
  • Redirecionamentos em loop ou “too many redirects” ao acessar páginas internas.
Antes de começar: Faça backup completo do banco antes do search-replace: ele altera milhares de linhas de uma vez e não há desfazer sem a cópia. Rode sempre um –dry-run antes para conferir o volume de alterações esperado.

Como prevenir

  • Sempre faça a troca de domínio com WP-CLI search-replace ou Better Search Replace, nunca SQL cru
  • Mantenha um redirect 301 permanente do domínio antigo para o novo enquanto houver links externos
  • Use URLs relativas para mídia quando possível e teste em staging antes de apontar o DNS

Causa

  • URL antiga gravada em milhares de linhas do banco (post_content, guid, wp_options, postmeta).
  • Apenas siteurl e home alterados, sem substituir as URLs absolutas no conteúdo e nos metadados.
  • Dados serializados (widgets, opções de tema/plugin) com a URL antiga, que um find-replace cru corromperia.
  • Cache (plugin ou CDN) servindo páginas antigas com os links do domínio anterior.
  • Ausência de redirect 301 do domínio antigo para o novo, mantendo links externos quebrados.

Como resolver

  1. Atualize siteurl e home: em Configurações > Geral, defina a URL do WordPress e a URL do site para o novo domínio (ambas em https).
  2. Faça o search-replace no banco: substitua o domínio antigo pelo novo em todas as tabelas preservando dados serializados. Use o WP-CLI (search-replace) ou o plugin Better Search Replace, nunca um UPDATE de SQL cru.
  3. Regenere os permalinks: em Configurações > Links permanentes, clique em Salvar para reescrever o .htaccess e atualizar a estrutura de links no novo domínio.
  4. Configure o redirect 301: no domínio antigo, adicione um redirecionamento 301 para o novo, preservando o caminho, para não perder SEO nem links externos.
  5. Limpe o cache: limpe o cache do plugin e do CDN para que as páginas sejam reconstruídas com os links do domínio novo.
BASH
# WP-CLI: troca o dominio antigo pelo novo em TODO o banco, preservando serializacao
# 1) Simule primeiro (nao grava nada):
wp search-replace 'dominio-antigo.com' 'dominio-novo.com' --all-tables --dry-run

# 2) Aplique de verdade quando o relatorio bater:
wp search-replace 'dominio-antigo.com' 'dominio-novo.com' --all-tables --report-changes-only

# 3) Limpe permalinks e cache de objetos apos a troca:
wp rewrite flush && wp cache flush

Perguntas frequentes

Mudei siteurl e home, mas os links continuam quebrados. Por quê?
Porque siteurl e home só definem o endereço base. As URLs absolutas do domínio antigo continuam gravadas no conteúdo dos posts, nos metadados e nas opções. Só um search-replace em todo o banco substitui essas milhares de referências.
Posso trocar o domínio com find-and-replace direto no SQL?
Não. Widgets e opções de tema/plugin ficam em dados serializados, que guardam o tamanho exato de cada string. Um replace cru quebra esse tamanho e corrompe os dados. Use WP-CLI search-replace ou Better Search Replace.
As imagens sumiram após mudar o domínio. Como corrigir?
O src das imagens ainda aponta para o domínio antigo no banco. Após o search-replace em todas as tabelas, os caminhos passam a usar o novo domínio e as imagens voltam. Limpe o cache para ver o resultado.
Preciso de um redirect 301 do domínio antigo?
Sim, se o domínio antigo ainda recebe acessos ou tem backlinks. O 301 preserva o SEO transferindo a autoridade e evita que links externos quebrem. Configure-o no servidor do domínio antigo apontando para o novo.
Devo incluir o https:// no termo de busca do search-replace?
Rode preferindo só o domínio (ex.: 'domínio-antigo.com') para pegar referências com http, https e protocolo relativo. Se o conteúdo misturava http e https, faça uma passada extra com cada protocolo para não deixar sobras.
Recebo 'too many redirects' após a mudança. O que é?
Geralmente é siteurl/home conflitando com um redirect mal configurado, ou cache antigo. Confirme que ambas as URLs apontam para o domínio novo em https, refaça os permalinks e limpe o cache do plugin e do CDN.

Seja PRO.

Tenha acesso a snippets de código premium — PHP, JavaScript, CSS e HTML prontos para usar em seus projetos.

Conhecer o plano Pro →

Uma nova era para o WordPress.

A FULL Services redefine o CMS com uma arquitetura modular que transforma o WordPress em um motor de crescimento digital. 

Painéis personalizados

Um novo nível de controle para o WordPress. Acompanhe métricas, automações e evolução do seu site em um único painel visual.

A força por trás de grandes marcas

Para agências, estúdios e profissionais independentes que desejam oferecer soluções de alto nível com sua própria marca.

Componentes

Hero Sections

30 componentes

Seções de CTA

14 componentes

Login

14 componentes

Blog

14 componentes

Cabeçalhos

24 componentes

Seções de FAQ

53 componentes

Cadastro

53 componentes

Blog individual

53 componentes

Rodapés

28 componentes

Seções de contato

27 componentes

Seções de preços

27 componentes

Faixas

27 componentes

Portfólio

16 componentes

Seções de equipe

12 componentes

Números

12 componentes

Logotipos

12 componentes