Простой текстовый поиск и замена в базе данных при смене домена может незаметно повредить часть контента — причина в особенностях того, как WordPress хранит некоторые данные.
Сериализованные данные содержат длину строки
WordPress хранит некоторые настройки (например, параметры виджетов) в сериализованном PHP-формате, где перед каждой строкой указывается её точная длина в символах. Если заменить старый домен на новый напрямую в SQL-запросе, а длина строк отличается, указанная длина перестаёт совпадать с реальной — данные становятся нечитаемыми для PHP.
Решение — специализированный инструмент
WP-CLI команда wp search-replace или плагин Better Search Replace понимают структуру сериализованных данных и корректно пересчитывают длину строк при замене — это принципиально отличается от обычного текстового поиска и замены через SQL-клиент.
Если данные уже повреждены
Восстановление возможно только из резервной копии, сделанной до неудачной замены — попытки вручную исправить повреждённые сериализованные данные крайне трудоёмки и ненадёжны.



