Como corrigir erro de serialização após migração
Perguntas frequentes
O que e um dado serializado no WordPress?
E uma string PHP que armazena estruturas (arrays, objetos) com o tamanho de cada valor embutido, como s:5:"valor". Widgets, opcoes de tema e configuracoes de plugin usam esse formato. Por isso a troca de URL precisa recontar o tamanho, ou o PHP nao le mais o dado.
Por que o UPDATE de SQL quebra a serializacao?
Porque o UPDATE troca o texto da URL mas nao atualiza o numero do tamanho gravado antes da string. Se a URL nova tem comprimento diferente, a contagem fica errada e o PHP descarta a estrutura inteira, fazendo widgets e opcoes sumirem ou resetarem.
Ja fiz o replace cru e quebrou tudo. Tem volta?
A forma mais segura e restaurar o backup do banco anterior ao replace e refazer a troca com WP-CLI search-replace. Sem backup, o dado serializado corrompido geralmente esta perdido e os widgets e opcoes de tema afetados precisam ser reconfigurados manualmente.
Better Search Replace e seguro para serializados?
Sim. Tanto o Better Search Replace quanto o WP-CLI search-replace reconhecem dados serializados e recalculam o tamanho das strings ao substituir. Use a opcao de teste antes de gravar para conferir quantas linhas serao alteradas e em quais tabelas.
Trocar http por https tambem pode quebrar?
Pode, se feito com replace cru: https tem um caractere a mais que http, mudando o comprimento da string serializada. Mesmo nessa troca aparentemente simples, use search-replace que reconta o tamanho, em vez de UPDATE ou edicao do dump.
Preciso de SSH para corrigir a serializacao?
Nao obrigatoriamente. O WP-CLI via SSH e o caminho mais robusto, mas o plugin Better Search Replace faz a mesma substituicao tratando serializacao pelo painel. Em ambos, faca backup do banco antes e rode primeiro em modo de teste.














