2.14.1.8. Зміна адреси сайту в WordPress
Увага!
Перед виконанням будь-яких дій обов’язково створіть резервну копію файлів сайту та його бази даних, щоб мати можливість повернути сайт у вихідний стан, якщо раптом щось піде не так.Важливі моменти:
- Якщо стара або нова адреса містить символи національного алфавіту (наприклад, кириличні), її потрібно перетворити в панікод за допомогою конвертера.
- Встановлений в налаштуваннях сайту редирект на HTTP/HTTPS повинен відповідати протоколу в новій адресі. Наприклад, якщо до сайту підключений сертифікат і в налаштуваннях сайту встановлений редирект на HTTPS, то нова адреса має починатися з
https://
. У разі невідповідності протоколу на сайті може виникати циклічний редирект між протоколамиhttp://
таhttps://
. - Встановлений в налаштуваннях сайту редирект на адресу з
www
або безwww
повинен відповідати новій адресі. Наприклад, якщо в налаштуваннях сайту встановлений редирект на адресу з www, то нова адреса також повинна бути з www. У разі невідповідності протоколу на сайті може виникати циклічний редирект між адресою зwww
і безwww
.
У статті описані різні способи зміни адреси сайту всередині WordPress. Для перейменування сайту в розділі «Мої сайти» використовуйте інструкцію.
Через панель керування
- В розділі «Мої сайти» в меню сайту натисніть «Встановлення CMS».
- Натисніть «Змінити адресу».
- Введіть нову адресу сайту та натисніть «Змінити адресу сайту».
Система бере з конфігураційного файлу сайту назву бази даних, що використовується, і змінює в ній стару адресу на нову.
Через базу даних
Увага!
Якщо назви таблиць у базі даних замість стандартногоwp_
починаються з іншого префікса, змініть префікс у SQL-запитах.
- У файлі конфігурації сайту подивіться назву бази даних, до якої він підключений.
- Відкрийте базу даних в phpMyAdmin.
- Виконайте наступні три SQL-запити:
UPDATE wp_options SET option_value = REPLACE(option_value, 'http://old-address.com', 'http://new-address.com') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = REPLACE(guid, 'http://old-address.com','http://new-address.com');
UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://old-address.com', 'http://new-address.com');
- Для зміни адреси сайту в метаданих слід додатково виконати ще один запит:
UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'http://old-address.com','http://new-address.com');
- Якщо на сайті використовуються коментарі слід додатково виконати ще два запити:
UPDATE wp_comments SET comment_content = REPLACE (comment_content, 'http://old-address.com', 'http://new-address.com'); UPDATE wp_comments SET comment_author_url = REPLACE (comment_author_url, 'http://old-address.com', 'http://new-address.com');
- Перевірте роботу сайту за новою адресою.
Через адмін-панель WordPress
- Відкрийте адмін-панель WordPress.
- Перейдіть в розділ «Налаштування → Загальні».
- Вкажіть нову адресу в полях «Адреса WordPress (URL)» та «Адреса сайту (URL)». Адреса обов’язково повинна починатися з протоколу
http://
абоhttps://
і в її кінці не повинно бути слеша/
. Приклад правильної адреси:http://example.com
. - Натисніть «Зберегти зміни».
- Перевірте роботу сайту за новою адресою.
За допомогою WP-CLI
Увага!
Спосіб слід застосовувати з обережністю, якщо база даних, до якої під'єднано сайт, використовується одночасно кількома сайтами.Для зміни адреси WordPress можна використовувати спеціалізовану утиліту WP-CLI (доступна на хостингу за замовчуванням).
- Підключіться до хостингу по SSH.
- Перейдіть в кореневий каталог сайту, виконавши команду:
cd ~/example.com/www
У команді замість
example.com/www
вкажіть свої дані. - Замініть адресу сайту в її базі даних, виконавши команду:
wp search-replace 'old-address.com' 'new-address.com'
У команді замість
old-address.com
вкажіть стару адресу сайту, замістьnew-address.com
— нову.
У результаті виконання команди відобразиться інформація про те, де і скільки було зроблено замін. - Перевірте роботу сайту за новою адресою.
Налаштувати пошук з заміною більш тонко (наприклад, тільки за певними таблицями або стовпцями) можна за допомогою додаткових атрибутів, описаних в документації.