Ремонт сайтів

WordPress автоматично перенаправляє на старий домен: як виправити

Якщо сайт на WordPress після зміни домену або перенесення на інший хостинг автоматично відкриває стару адресу, проблема зазвичай пов’язана не з одним файлом, а з кількома джерелами налаштувань. Старий домен може залишитися в базі даних, конфігурації WordPress, кеші, правилах вебсервера, плагінах або налаштуваннях CDN.

Не варто одразу масово змінювати дані чи видаляти правила редиректів. Спочатку створіть резервну копію файлів і бази даних. Якщо сайт має робочий трафік, бажано виконувати перевірки в режимі, який мінімізує ризик втрати даних і додаткових простоїв.

Де WordPress зберігає стару адресу

Основні URL сайту WordPress зазвичай зберігаються в таблиці параметрів бази даних, найчастіше з назвою wp_options. Потрібно перевірити значення:

  • siteurl — адреса, за якою встановлено WordPress;
  • home — публічна адреса сайту, яку бачать відвідувачі.

Префікс wp_ може відрізнятися, тому орієнтуйтеся на фактичну назву таблиці у вашій базі. Старий домен також може бути присутнім у записах меню, віджетах, налаштуваннях теми, плагінах, метаданих і контенті сторінок.

Окремо перевірте файл wp-config.php. У ньому можуть бути задані константи:

  • WP_HOME;
  • WP_SITEURL.

Якщо ці значення примусово встановлені зі старим доменом, зміна параметрів у базі даних не усуне перенаправлення. У такій ситуації спочатку перевіряють, чи відповідають константи новій адресі, протоколу http або https та потрібному формату домену — з www чи без нього.

Перевірка бази кешу й конфігурації

Після виправлення адреси WordPress браузер або сервер може продовжувати віддавати стару відповідь із кешу. Перевірте та, за потреби, очистіть:

  • кеш браузера або відкрийте сайт у приватному вікні;
  • кеш плагіна оптимізації;
  • об’єктний кеш Redis або Memcached;
  • кеш на рівні хостингу;
  • кеш CDN, зокрема Cloudflare, якщо він використовується.

Далі потрібно переглянути конфігурацію вебсервера. Для Apache це зазвичай файл .htaccess, а для Nginx — конфігурація віртуального хоста. Шукайте правила RewriteRule, return 301, return 302 та згадки старого домену. Редирект може бути заданий не самим WordPress, а панеллю хостингу, налаштуванням домену або проксі-сервера.

Перед редагуванням .htaccess збережіть його копію. Помилка в правилах може призвести до циклічних перенаправлень, помилки 500 або повної недоступності сайту. Після зміни конфігурації перевірте не лише головну сторінку, а й кілька внутрішніх URL, сторінку входу та адміністративну панель.

Якщо після очищення кешу редирект зберігається, подивіться ланцюжок відповідей через інструменти розробника браузера або команду на кшталт curl -I https://example.com. Вона допоможе визначити, який сервер або URL формує перенаправлення.

Як безпечно замінити URL у даних

Після резервного копіювання потрібно визначити, де саме залишився старий домен. Для цього можна виконати пошук у базі даних, але масова заміна звичайним SQL-запитом не завжди безпечна. Просте редагування тексту може пошкодити довжину або структуру спеціальних даних WordPress.

Безпечніший порядок дій виглядає так:

  1. зафіксувати старий і новий URL, включно з протоколом та варіантом із www;
  2. створити окрему резервну копію бази даних;
  3. перевірити значення home, siteurl, параметри теми та активних плагінів;
  4. виконати заміну інструментом, який підтримує серіалізовані дані;
  5. очистити кеш і перевірити сайт після операції.

Для технічної заміни часто використовують WP-CLI або спеціалізовані інструменти міграції. Перед виконанням команди важливо перевірити, до якої бази підключено WordPress, і спочатку запустити режим попереднього перегляду, якщо він доступний. Не слід без перевірки замінювати домен у всіх таблицях: сторонні плагіни можуть зберігати зовнішні URL, API-адреси або службові значення, які не повинні змінюватися.

Якщо доступна лише панель хостингу, можна працювати через phpMyAdmin, але перед SQL-операціями необхідно експортувати базу. Неправильний запит або заміна частини доменного імені може змінити велику кількість записів і ускладнити відкат.

Що робити із серіалізованими значеннями

У WordPress частина налаштувань зберігається у серіалізованому форматі PHP. Це можуть бути масиви параметрів віджетів, тем і плагінів. Усередині такого значення разом із текстом зберігається довжина рядка. Якщо змінити домен звичайною операцією пошуку та заміни, довжина може перестати відповідати фактичному тексту.

Наслідки пошкодження серіалізованих даних:

  • зникнення віджетів або елементів меню;
  • скидання налаштувань плагіна чи теми;
  • помилки PHP під час завантаження сторінки;
  • часткова або повна втрата конфігурації окремого компонента.

Тому для заміни URL використовуйте інструмент, який уміє розпаковувати, оновлювати та повторно серіалізувати такі значення. Після операції перевірте головну сторінку, шаблони, меню, віджети, форми та функції, що залежать від плагінів.

Якщо база вже пошкоджена, не варто продовжувати експерименти на єдиній копії. Збережіть поточний стан, відновіть резервну копію на тестовій базі або зверніться до спеціаліста. Це особливо важливо, якщо разом із перенаправленням зникли налаштування, з’явилися помилки PHP або адміністративна панель перестала відкриватися.

Як перевірити редиректи та SEO

Після виправлення старої адреси перевірте, чи не залишилися зайві перенаправлення. Важливо відрізняти нормальний редирект зі старого домену на новий від циклу, у якому адреси по черзі перенаправляють одна на одну.

  • перевірте головну сторінку та кілька внутрішніх сторінок;
  • переконайтеся, що HTTPS не перенаправляється назад на HTTP;
  • перевірте варіанти домену з www і без нього;
  • перегляньте правила в .htaccess, Nginx, CDN та плагінах SEO;
  • переконайтеся, що canonical URL містить новий домен;
  • перевірте XML-карту сайту, посилання в меню та адресу WordPress у листах і формах.

Редирект 301 зі старого домену може бути потрібним для збереження переходів і сигналів пошукових систем, але він має вести безпосередньо на відповідну сторінку нового домену. Надмірні ланцюжки, перенаправлення всіх URL на головну сторінку або цикли можуть погіршити індексацію та створити помилки для відвідувачів.

Якщо сайт повідомляє про нескінченні перенаправлення, не відкривається після зміни .htaccess або старий домен з’являється знову після очищення кешу, потрібна комплексна діагностика бази, конфігурації сервера та плагінів. У таких випадках може знадобитися toomany_redirects-iak-zupynyty-neskinchenne-perenapravlennia-saytu/">ремонт перенаправлень WordPress із попереднім резервним копіюванням і перевіркою джерела помилки.

Залишити коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *