Ваш сайт працює. Товари додаються, замовлення приходять, але все частіше ви ловите себе на думці, що щось не так. Сторінки завантажуються повільно, у браузері з’являються дивні попередження, а бухгалтер скаржиться, що не може отримати звіт з адмінки. Або ще гірше: сайт просто «падає» в найкращий момент.
Якщо це про вас — швидше за все, ваш бізнес працює на застарілому коді, який називається legacy PHP. Це не просто технічна дрібниця. Це проблема, яка щодня коштує вам грошей. І її можна вирішити.
Що таке legacy PHP і чому це боляче?
PHP — це мова, на якій працює більшість сайтів. Вона постійно розвивається: кожні два-три роки виходить нова версія. Старі версії перестають підтримуватися. Це означає, що для них більше не випускають виправлення безпеки.
Якщо ваш сайт створювали десять років тому, він, швидше за все, працює на PHP 5.6 або 7.0. Ці версії «мертві» вже кілька років. Хакери знають це не гірше за вас — а точніше, набагато краще. Вони використовують відомі вразливості, щоб зламувати сайти і красти дані клієнтів, паролі, платіжну інформацію.
Але безпека — не єдиний біль. Legacy PHP — це ще й швидкість. Нові версії мови працюють значно швидше за старі. Сайт на сучасному PHP може завантажуватися в два-три рази швидше. Ви цього не бачите, поки не порівняєте. Але ваші клієнти бачать: якщо сторінка вантажиться більше трьох секунд, більша частина з них просто йде.
Крім того, сучасні платіжні системи, CRM, маркетингові інструменти часто вимагають свіжих версій PHP. Якщо ваш сайт на старому коді, вони просто не працюватимуть. Ви втрачаєте можливість підключити нові сервіси, які могли б збільшити продажі.
Скільки коштує ігнорування проблеми?
Давайте порахуємо реальні цифри. Дослідження показують: кожна зайва секунда завантаження сторінки зменшує конверсію на 7%. Якщо у вас 10 000 відвідувачів на місяць і середній чек 500 грн — це тисячі гривень втраченої виручки щомісяця.
Ще одна стаття витрат — злам. Автоматичні сканери знаходять сайти зі старими версіями PHP за лічені хвилини. Усунення наслідків втручання, відновлення даних, чистка сайту — це мінімум 10 000 грн, а часто й декілька місяців роботи розробника плюс виплати постраждалим клієнтам.
Додайте сюди падіння позицій у Google. Пошукові системи дають перевагу швидким і безпечним сайтам. Сайт на legacy PHP не може отримати «зелений» статус безпеки в браузері. Список нових клієнтів з пошуку скорочується.
Якщо скласти всі ці фактори, старий сайт щороку коштує вам десятки, а то й сотні тисяч гривень. Просто тому, що він працює на вчорашніх технологіях.
Як позбутися legacy PHP без втрат: покрокова інструкція
Добра новина: оновлення не означає повну переробку сайту. У більшості випадків можна оновити PHP, не чіпаючи дизайн та функціонал. Але робити це треба правильно.
Якщо ваш сайт на WordPress або WooCommerce
Це найпоширеніший випадок і тут усе зрозуміло.
Зробіть резервну копію. Це обов’язково. В адмінці зайдіть у розділ «Плагіни» → «Додати новий», знайдіть плагін UpdraftPlus і встановіть його. Після активації перейдіть у «Налаштування» → «UpdraftPlus Backups» і натисніть кнопку «Створити резервну копію». Далі в налаштуваннях плагіна у вкладці «Віддалене зберігання» підключіть Google Drive або Dropbox, щоб копія зберігалася не на тому ж хостингу, де може “впасти” сайт.
Оновіть ядро WordPress. В адмінці знайдіть меню «Оновлення». Якщо там є повідомлення про нову версію — натисніть «Оновити зараз».
Оновіть усі плагіни. Перейдіть у «Плагіни» → «Всі плагіни». Для кожного плагіна, де написано «Є нова версія», натисніть кнопку «Оновити». Якщо якийсь плагін не оновлюється і при цьому не критичний — краще його видалити.
Змініть версію PHP на хостингу. Це робиться не в адмінці WordPress, а в панелі керування хостингом. Зазвичай це cPanel, DirectAdmin або ISPmanager. У панелі знайдіть розділ «PHP Selector», «Версії PHP» або «Налаштування PHP». Виберіть сучасну стабільну версію — 8.2 або 8.3. Якщо не знаєте, де це, зателефонуйте в техпідтримку хостингу і скажіть: «Хочу змінити версію PHP для свого сайту, покажіть, де це в налаштуваннях». Це їхній обов’язок — допомогти.
Після зміни версії перевірте сайт. Відкрийте головну сторінку, сторінку товару, кошик, оформлення замовлення, адмінку. Якщо щось працює не так — у тому ж розділі панелі хостингу поверніть попередню версію.
Якщо ваш сайт на OpenCart
Тут усе схоже, але є нюанс. Спочатку зробіть резервну копію через адмінку: розділ «Система» → «Технічне обслуговування» → «Резервна копія». Далі оновіть ядро OpenCart через «Система» → «Оновлення». Версію PHP на хостингу змінюйте так само, як описано вище. Якщо після цього сайт працює, але частина сторінок видає помилки — поверніть попередню версію PHP. OpenCart старіших версій часто вимагає втручання програміста, тож без фахівця тут можна не впоратися.
Якщо сайт створений під замовлення (кастомний)
Тут немає стандартної адмінки з одними й тими ж меню, тому універсальної інструкції дати не можна. Але є загальні принципи, які працюють завжди.
- Зробіть повну резервну копію файлів і бази даних. Файли — через FTP або файловий менеджер хостингу. База даних — через phpMyAdmin, розділ «Експорт».
- Створіть тестову копію сайту в підпапці на тому ж хостингу, наприклад,
/test/. - У панелі хостингу для папки
/test/виберіть нову версію PHP через PHP Selector. - Подивіться, чи працює сайт у тестовій папці. Якщо так — переносьте цю ж зміну на основний сайт. Якщо ні — без програміста не обійтись, бо код доведеться доопрацювати.
Типові помилки під час оновлення
Перша — оновлення без резервної копії. Якщо щось піде не так, ви втратите не лише сайт, а й дані клієнтів. Друга — оновлення PHP одразу на проді без перевірки. Це як лагодити двигун на ходу. Третя — залишати старі бекапи в папці сайту. Хакери часто знаходять їх і викрадають дані. Після створення копії обов’язково скачайте її собі на комп’ютер і видаліть з сервера.
Що робити, якщо самому не вийшло?
Якщо ви пройшли всі кроки, але сайт усе ще працює нестабільно, або ж ви бачите помилки, які не можете виправити, — це нормально. Legacy PHP часто приховує глибші проблеми в коді, які не видно зовні. У такому разі найрозумніший крок — делегувати завдання тим, хто бачив такі ситуації сотні разів.
Якщо ви спробували кроки вище і все ще не вийшло (або не хочете ризикувати), DevCev Digital допоможе провести оновлення без втрат і налаштувати сайт так, щоб ця проблема більше не поверталась.