Пошук і заміна в SQL
Змініть URL сайту, не пошкодивши серіалізовані дані
Працює у вашому браузері. Нічого не завантажується.
Про Пошук і заміна в SQL
Наївний пошук і заміна в SQL у базі даних WordPress ламає кожну серіалізовану опцію, якої торкається, бо збережена довжина рядка більше не збігається. Інструмент генерує безпечні запити і пояснює, які саме — ні.
Схоже
Інші інструменти, які можуть вам знадобитися
FAQ
Питання
Чи можна змінити URL мого сайту WordPress через SQL-пошук і заміну?
Не безпечно, і це найпоширеніша погана порада у світі WordPress. Багато опцій зберігаються як PHP-серіалізовані рядки, які записують власну довжину в байтах. Проста SQL-заміна змінює текст, але не довжину, тож PHP тихо не може десеріалізувати рядок, і значення просто зникає — забираючи з собою налаштування віджетів, модифікації шаблону й конфігурацію плагінів.
Що варто використати натомість?
WP-CLI: спершу 'wp search-replace old new --all-tables --dry-run', потім без --dry-run. Він розуміє серіалізацію й правильно переписує префікси довжини. Якщо доступу до CLI немає, плагін Better Search Replace робить те саме з адмінки.
Чи варто оновлювати стовпець GUID?
Ні. GUID — це постійний унікальний ідентифікатор запису, а не посилання, і читалки стрічок орієнтуються саме на нього. Його переписування змусить кожного підписника побачити кожен старий запис як абсолютно новий. Документація WordPress прямо каже не змінювати його.