Como atualizar urls na base de dados WordPress ao mover o domínio?
PT-PT

Como atualizar urls na base de dados WordPress ao mover o domínio?

Última verificação: 1 de maio de 2026
4min de leitura
Tutorial
Arquitetura de servidores

Mover um site WordPress (por exemplo, de dev.site.com para site.com) parece simples: basta executar um “Localizar e Substituir” na base de dados, certo?

ERRADO.

Se tentar executar uma consulta SQL bruta como: UPDATE wp_options SET option_value = replace(option_value, 'antigo.pt', 'novo.pt')

…vai quebrar o seu site. Especificamente, perderá Widgets, Opções de Tema é a configuração de muitos plugins.


#O erro comum: Simples “find & replace”

Muitos programadores (é até alguns fornecedores de alojamento) sugerem usar a função simples SQL REPLACE() para atualizar URLs. Esta abordagem parece lógica, mas é fundamentalmente falhada no ecossistema WordPress.

A Tentação:

-- Isto parece seguro, mas NÃO É
UPDATE wp_options 
SET option_value = REPLACE(option_value, 'https://antigo.pt', 'https://novo.pt');

O Que Acontece:

  • Alguns URLs são atualizados corretamente.
  • Dados serializados tornam-se corrompidos.
  • Widgets desaparecem.
  • Opções do tema reiniciam para o padrão.
  • Configurações de plugins são perdidas.
  • O site fica parcialmente quebrado.

Por Que Falha: O WordPress não armazena todos os dados como texto simples. Muitos dados são armazenados como dados PHP serializados, o que requer tratamento especial.


#Entender a serialização: O problema central

#O que é serialização?

O WordPress armazena estruturas de dados complexas (arrays, objetos) na base de dados como Strings Serializadas. A serialização converte estruturas PHP numa string que pode ser guardada na base de dados.

Exemplo de Dados Serializados:

// Array PHP Original
array(
    'home' => 'https://antigo.pt',
    'siteurl' => 'https://antigo.pt',
    'admin_email' => '[email protected]'
)

// String Serializada (guardada na DB)
a:3:{s:4:"home";s:17:"https://antigo.pt";s:7:"siteurl";s:17:"https://antigo.pt";s:11:"admin_email";s:17:"[email protected]";}

#Decompor a string serializada

Vamos descodificar s:17:"https://antigo.pt":

  • s = string (cadeia de caracteres)
  • 17 = comprimento da string (número de caracteres)
  • "https://antigo.pt" = o valor

A Parte Crítica: O número 17 representa a contagem exata de caracteres da string "https://antigo.pt".

#O que acontece com substituição simples?

Original:

s:17:"https://antigo.pt"

Após SQL Replace Simples (antigo.pt -> novo-domínio.pt):

O Problema:

  • O comprimento da string mudou de 17 para 23 caracteres.
  • A serialização ainda diz s:17 (espera 17 caracteres).
  • PHP tenta ler 17 caracteres: "https://novo-domin"
  • Falta o final.
  • Todo o array torna-se inválido.
  • Os dados estão corrompidos.

Resultado: O WordPress não consegue ler as configurações ou widgets, por isso ignora-os ou reinicia-os.


#Onde estão os dados serializados?

#Locais comuns

1. Tabela wp_options:

  • siteurl e home.
  • Dados de Widgets (sidebars_widgets).
  • Modificações de Tema (theme_mods_*).
  • Opções de plugins.

2. Tabela wp_postmeta:

  • Campos Personalizados (Custom Fields).
  • Dados do ACF.
  • Metadados de anexos.

#A solução: Ferramentas conscientes de serialização

Precisa de uma ferramenta que:

  1. Dessencialize os dados (converta string de volta para array PHP).
  2. Substitua o texto dentro da estrutura de dados.
  3. Recalcule as contagens de caracteres.
  4. Ressencialize os dados.
  5. Atualize a base de dados.

#Método 1: Wp-CLI (recomendado)

A Forma Profissional: Se tiver acesso SSH, o WP-CLI é a melhor ferramenta.

Uso Básico:

wp search-replace 'https://antigo.pt' 'https://novo.pt' --all-tables

Opções Avançadas:

## DRY run (ver o que mudaria sem executar)
wp search-replace 'https://antigo.pt' 'https://novo.pt' --all-tables --dry-run

#Método 2: Plugin better search replace

Para utilizadores sem CLI: Se não tiver acesso SSH, use o plugin Better Search Replace.

Como Usar:

  1. Instale o plugin.
  2. Vá a Ferramentas > Better Search Replace.
  3. Insira o URL antigo é o novo.
  4. Selecioné as tabelas.
  5. Importante: Marque “Run as dry run?” primeiro.
  6. Clique em “Run Search/Replace”.

#Resumo

Em 2026, é essencial usar as ferramentas certas para migração.

  • Nunca use SQL REPLACE simples.
  • Nunca edite ficheiros SQL com editor de texto.
  • Sempre use WP-CLI ou Better Search Replace.

Isto garante que os seus widgets e configurações complexas sobrevivam à mudança de domínio.

Veja os nossos serviços de desenvolvimento WordPress.

Próximo passo

Transforme o artigo numa implementação real

Este bloco reforça a ligação interna e conduz o leitor para o passo seguinte mais útil dentro da arquitetura do site.

Quer implementar isto no seu site?

Se quer transformar o artigo em melhorias concretas, redesign ou num plano de implementação, posso fechar o escopo e executar.

O que é Como atualizar urls na base de dados WordPress ao mover o domínio? #
Como atualizar urls na base de dados WordPress ao mover o domínio é tratado como uma decisão concreta em WordPress: utilidade, limites técnicos e risco em produção.
Como funciona o Como atualizar urls na base de dados WordPress ao mover o domínio?? #
A implementação começa por confirmar o objetivo, rever o estado atual do site, aplicar a alteração em ambiente controlado e validar o resultado antes de publicar.
Porque é que o Como atualizar urls na base de dados WordPress ao mover o domínio? é importante para o WordPress? #
O tema é importante quando afeta indexação, desempenho, segurança, manutenção ou autonomia editorial do site.

Precisa de FAQ adaptado ao setor e mercado? Criamos uma versão alinhada com os seus objetivos de negócio.

Fale connosco

Artigos Relacionados

Um guia abrangente de fortalecimento da segurança WordPress para 2026 - configuração de servidor, autenticação com Passkeys, configuração WAF, cabeçalhos CSP, proteção de base de dados, segurança headless é uma checklist de auditoria de 25 pontos.
wordpress

Fortalecimento da Segurança WordPress 2026: O Guia técnico do Servidor à Aplicação

Um guia abrangente de fortalecimento da segurança WordPress para 2026 - configuração de servidor, autenticação com Passkeys, configuração WAF, cabeçalhos CSP, proteção de base de dados, segurança headless é uma checklist de auditoria de 25 pontos.

Guia técnico de WordPress Multisite para implementações enterprise. Aprenda padrões de arquitetura, escalabilidade para 1000+ sites, hardening de segurança, mapeamento de domínios, gestão de utilizadores e otimização de custos para redes de franchising, universidades é organismos governamentais.
wordpress

WordPress Multisite para Enterprise: Arquitetura, Escalabilidade e Boas Práticas

Guia técnico de WordPress Multisite para implementações enterprise. Aprenda padrões de arquitetura, escalabilidade para 1000+ sites, hardening de segurança, mapeamento de domínios, gestão de utilizadores e otimização de custos para redes de franchising, universidades é organismos governamentais.

Escolher a arquitetura de servidor certa em 2026 é uma decisão estratégica vital. Este guia de +2000 palavras compara Cloud, Edge e Hosting Managed.
hosting

Hosting WordPress em 2026, cloud vs edge vs tradicional

Escolher a arquitetura de servidor certa em 2026 é uma decisão estratégica vital. Este guia de +2000 palavras compara Cloud, Edge e Hosting Managed.