Оновлення сайту на WordPress до останньої версії – це одна з основних рекомендацій для будь якого вебмайстра. Остання версія містить не тільки нові цікаві функції, а й виправляє проблеми у тих, що були в попередніх версіях, та, що також важливо, виправляє “дірки” у безпеці, про які дізнались розробники з моменту останніх оновлень.
На жаль, хоча сам процес оновлення у WordPress, мабуть, найкраще реалізовано серед усіх систем керування сайтами, що я бачив, бувають випадки, коли після оновлення є необхідність відкатити назад до попередньої версії.
Одразу скажу, що це досить не складна операція, тому не варто хвилюватися, ви зможете повернути стару версію вордпрес на сайт, зазвичай, менше ніж за півгодини-годину.
Зміст:
- Чому може бути потрібно повернути стару версію WordPress?
- Як відкатити WordPress: покрокова інструкція
- Як відкатити WordPress: використовуємо плагін
- Оновлення бази даних
Коли треба робити відкат WordPress?
Така необхідність може виникнути, коли після оновлення щось на Вашому сайті припинило працювати, або працює з помилками. Серед популярних проблем – несумісність якихось активних плагінів на сайті та нової версії вордпрес, або аналогічна проблема з активним шаблоном.
Одним з нещодавніх прикладів є несумісність дуже популярного плагіна кешування W3 Total Cache та останньої версії WordPress 5.3
Користувачі, що оновили вордпрес та користувалися вказаним плагіном, отримали різноманітні помилки в адмінці WordPress та на сайті, на зразок:
Warning: Declaration of W3TCDbCache_Wpdb::prepare($query, $args) should be compatible with wpdb::prepare($query, …$args) in /home/**********/public_html/www/wp-content/plugins/w3-total-cache/DbCache_Wpdb.php on line 8
Warning: Cannot modify header information – headers already sent by (output started at /home/**********/public_html/wp-content/plugins/w3-total-cache/DbCache_Wpdb.php:8) in /home/**********/public_html/www/wp-includes/pluggable.php on line 1265
Warning: Cannot modify header information – headers already sent by (output started at /home/**********/public_html/www/wp-content/plugins/w3-total-cache/DbCache_Wpdb.php:8) in /home/**********/public_html/www/wp-includes/pluggable.php on line 1268
Code language: PHP (php)
Або ось приклад попередження від плагіну WP-DB-Backup, що вискакує у користувачів вордпрес версії 5.3:
Notice: Undefined index: wp_db_temp_dir in /var/www/vhosts/**********/public/wp-content/plugins/wp-db-backup/wp-db-backup.php on line 112
Code language: PHP (php)
Отже, якщо подібна проблема трапиться, Ви станете перед питанням – як повернутись до старої версії вордпрес, аби Ваш сайт продовжив коректно працювати, поки розробники плагінів/шаблонів випустять оновлення для своїх продуктів, які будуть сумісні з новою версією WordPress.
Повертаємось до старої версії вручну.
План повернення до старої версії досить простий і виглядає так:
- Зробити бекап даних (хоча Ви маєте робити його перед оновленням, а не по факту появи проблем)
- Знайти та завантажити потрібну попередню версію вордпрес
- Замінити файли WordPress на сайті тими, що Ви завантажили на попередньому кроці
- Оновити базу даних
- Перевірити результат
На першому кроці потрібно зробити бекап чи резервну копію, як Вам зручніше, поточного стану сайту, аби завжди мати можливість повернутись до цього стану, а не залізти ще в глибшу прірву проблем. Як зробити бекап – написано безліч статей, зокрема багато хостинг-провайдерів, у яких Ви розміщуєте сайти, мають докладні інструкції, як зробити бекап засобами хостингу.
Найпростіший варіант, мабуть – це підключитись до сервера хостингу через ФТП-клієнт (про підключення можна підглянути тут) та завантажити на свій комп’ютер усі файли Вашого сайту в якусь окрему директорію. А після завантажити обов’язково копію бази даних , це легко зробити через плагін WP Db Backup , просто встановлюєте цей плагін та йдете на його сторінку в меню “Іструменти – Backup” , тиснете Backup Now – і зберігаєте файл *.sql на Ваш комп’ютер (це і є копія бази).
Звісно, тут є певні нюанси, наприклад Ваша адмінка не працює через оновлення, або база занадто велика і через браузер бекап бази повністю не завантажується. Тоді просто зверніться до Вашого хостера, він допоможе зробити бекап.
Зробіть бекап перед зміною версії незалежно від стану сайту
На другому кроці потрібно завантажити архів з WordPress тої версії, що працювала у вас коректно. Для цього Ви йдете на нашу сторінку релізів або на офіційний сайт і завантажуєте потрібну версію.
Далі розпаковуєте її в якусь окрему папку, відкриваєте цю папку, аби перед вами були файли вордпрес, як на скріншоті:
Важливо! Далі з цієї директорії видаляєте чи перейменовуєте папку з іменем wp-content. Це папка для зберігання завантажених Вами файлів, плагінами та шаблонами. Її треба видалити/перейменувати із завантаженого “чистого” вордпрес, аби Ви не затерли дані в такій самій папці Вашого сайту, які Ви завантажували чи змінювали до сьогодні (зображення/плагіни/шаблони).
Третій крок – відкриваєте у фтп-клієнті з одного боку папку на Вашому комп’ютері з чистим вордпресом, з іншого боку папку з Вашим сайтом. Виглядатиме це приблизно так (ліворуч чистий вордпрес, праворуч – сайт):
Виділяєте усі папки/файли ліворуч з локального комп’ютера та копіюєте їх на сервер із заміною тих файлів, що існують. Копіювати можна просто перетягнувши виділені дані, в моєму випадку – зліва направо.
Повертаємось до старої версії автоматизовано.
Якщо Ваша адмінка працює достатньо коректно для того, аби встановити новий плагін та скористатися ним – можна зробити повернення до старої версії трошки швидше та простіше.
Свого часу я використовував цей спосіб аби дізнатись, з якою версією WordPress коректно працює один з встановлених у мене плагінів.
Отже встановлюємо плагін “WP Downgrade | Specific Core Version” , активуємо його та переходимо в меню “Налаштування – WP Downgrade” , там вписуємо потрібну нам версію та зберігаємо:
Далі йдемо в меню “Майстерня – Оновлення” і бачимо можливість перевстановити вордпрес обраної версії, тиснемо “Перевстановити зараз”:
Оновлення бази даних
Після ручного відкату чи повернення до старої версії за допомогою плагіну Вам може бути запропоновано “Оновити базу даних”, аби привести її до відповідної встановленій версії вордпрес структурі:
На цьому все. Сподіваюсь, це вирішить проблеми, що виниклі.