<- Все статьи Миграция WordPress

Почему search-replace безопасен для сериализации

Опубликовано 14 июня 2026 г.

Как изменить URL сайта WordPress, не повреждая сериализованные данные.

Conceptmigrate-toolkit.bitechlab.com

Проблема

WordPress хранит множество опций в виде сериализованных данных PHP. Этот формат кодирует длину каждой строки. Если вы замените один URL на другой с другой длиной с помощью простого поиска/замены SQL, заявленная длина больше не будет соответствовать, и WordPress не сможет прочитать данные.

Конкретный пример

Сериализованная опция siteurl. s:25 указывает на строку из 25 символов.

a:1:{s:7:"siteurl";s:25:"https://ancien-domaine.com";}

Наивная замена (неверная длина, данные повреждены) :

a:1:{s:7:"siteurl";s:25:"https://nouveau-domaine.com";}

Безопасная для сериализации (пересчитанная длина) :

a:1:{s:7:"siteurl";s:26:"https://nouveau-domaine.com";}

Как работает инструмент

  1. Он десериализует значение, если оно сериализовано.
  2. Он рекурсивно проходит по массивам, объектам и вложенным строкам.
  3. Он заменяет старую строку на новую.
  4. Он ресериализует: PHP автоматически пересчитывает длины.

Результат: можно изменить домен с разной длиной, не ломая виджет, меню или настройку Elementor.

Перенесите WordPress без головной боли

WP Migrate Toolkit переносит файлы + базу по FTP, без SSH.

Скачать CLI Скачать плагин