Власник інтернет-магазину зазвичай оновлює сайт у двох випадках: коли щось зламалось, або коли розробник написав “треба оновити плагіни, є вразливість”. Обидва варіанти — це реакція на подію, а не план. І це нормально, поки магазин маленький і трафік стабільний. Але варто вийти на сезонні хвилі продажів — і раптом виявляється, що оновлення, зроблене невчасно, коштує дорожче за саму вразливість, яку воно мало закрити.
Ми регулярно бачимо один і той самий сценарій: команда відкладає оновлення тижнями, бо “зараз не до того”, а потім робить усе одразу, одним великим пакетом, за три дні до великого розпродажу. Ядро, дюжина плагінів, тема — все залито на прод майже без тестування. Найчастіше нічого не стається. Але коли стається — стається саме в момент, коли трафік найвищий за рік.
Оновлення — це не подія, а розклад
Хороша новина: план оновлень не мусить бути складним. Йому не потрібен окремий відділ чи дорогий інструмент моніторингу. Достатньо трьох речей: розуміння, з якою частотою оновлювати різні шари системи, календаря, куди ці оновлення вписані заздалегідь, і звички перевіряти сайт на копії перед продакшеном.
Різні частини сайту живуть у різному темпі. Плагіни безпеки й дрібні патчі варто підтягувати щомісяця — там зазвичай мінімум ризику, а вразливості закриваються швидко. Велике оновлення ядра CMS чи фреймворку, навпаки, розумно робити раз на квартал, з окремим тестовим прогоном. А повний аудит безпеки — перевірка прав доступу, застарілих облікових записів, забутих інтеграцій, старих API-ключів — це вже раз на півроку чи навіть рік, залежно від розміру магазину.
Змішувати ці три темпи в один “оновлюємо коли є час” — і є та сама причина, чому оновлення завжди відкладаються до останнього.
Стейджинг — не розкіш, а страховка
Тестове середовище звучить як щось, що потрібно тільки великим командам. Насправді для магазину на WordPress чи OpenCart це може бути просто клон бази й файлів на піддомені, який синхронізується раз на тиждень. Головне — щоб оновлення плагіна чи теми спочатку прогнали там, а не одразу на живому сайті з реальними клієнтами.

Ми бачили випадок, коли оновлення платіжного плагіна на копії пройшло без питань, а на проді конфліктувало зі старою версією іншого модуля — форма оплати просто переставала відправляти дані. На стейджингу цей конфлікт спливає одразу. На проді — тільки коли перший клієнт напише в підтримку, що не може оплатити замовлення.
Що саме перевіряти на копії
- Чи проходить оформлення замовлення від кошика до підтвердження
- Чи працюють інтеграції з платіжними системами й доставкою
- Чи не зламався вигляд на мобільних після оновлення теми
- Чи не зникли кастомні поля й налаштування після оновлення плагіна
Вікна тиші: коли оновлення заборонені
Тут потрібна певна дисципліна, яку легко порушити під тиском “ну це ж дрібне оновлення”. За два-три тижні до відомого піку — Чорна п’ятниця, різдвяні свята, початок навчального року для магазинів канцтоварів, свій сезонний пік для конкретної ніші — краще взагалі не чіпати продакшен без крайньої необхідності. Не тому, що оновлення небезпечні самі по собі. А тому, що якщо щось піде не так, часу розібратись і відкотити зміни вже не буде: трафік іде, замовлення йдуть, і кожна хвилина простою рахується в грошах.
Практичне правило, яке добре працює: останнє “велике” оновлення — за два тижні до сезонного піку, щонайменше. Після цього — тільки критичні патчі безпеки, і ті бажано ставити вночі з моніторингом напоготові. Все інше чекає до завершення сезону.
Місячний і квартальний ритм
Якщо перевести це в чек-лист, на місяць виходить не так багато пунктів. Раз на місяць варто підтягнути дрібні оновлення безпеки, перевірити, що бекапи реально відновлюються (а не просто створюються — це різні речі), і глянути швидкість завантаження ключових сторінок: каталогу, картки товару, кошика.
- Оновлення плагінів і залежностей з патчами безпеки
- Перевірка, що останній бекап реально відновлюється на тестовому середовищі
- Швидкість завантаження головних сторінок і чекауту
- Строк дії SSL-сертифіката — автопродовження не завжди спрацьовує тихо
- Биті посилання й 404-сторінки, особливо після зміни каталогу
Раз на квартал до цього додається більше: оновлення ядра CMS чи фреймворку на стейджингу з повним регресійним прогоном, перевірка логів на повторювані помилки, ревізія прав доступу співробітників — хтось звільнився три місяці тому, а доступ до адмінки досі активний. Дрібниця, поки не стане проблемою.
Як накласти це на календар українського інтернет-магазину
Січень і лютий — найспокійніший період після новорічних свят. Ідеальний час для великих оновлень ядра, зміни теми, міграцій. Березень-квітень — можна робити повний аудит безпеки, поки трафік ще не розігнався до літа. Літо зазвичай трохи спокійніше за листопад-грудень, тож середина літа — ще одне вікно для оновлень, які відкладали навесні.
А от вересень уже варто планувати обережніше: у частини ніш починається передсвятковий розгін продажів раніше, ніж здається. Листопад і грудень — той самий період тиші з попереднього розділу. Ставиться на паузу все, крім критичних патчів.
Це не універсальний шаблон — у магазину дитячих товарів пік перед 1 вересня, у флориста — перед 8 березня, у когось інший сезон взагалі. Логіка одна: подивитись на власну статистику трафіку за минулий рік і відзначити ці вікна в календарі заздалегідь, а не згадувати про них за тиждень до факту.
Хто це має робити
У невеликій команді план оновлень часто просто лежить у голові одного розробника — і це працює, поки цей розробник у відпустці не буде рівно тоді, коли треба ставити критичний патч. Мінімум, який варто зафіксувати письмово: хто відповідає за оновлення, куди дивитись за розкладом (навіть проста таблиця в Google Sheets підійде), і хто підміняє, якщо основна людина недоступна.
Магазинам, де оновлення веде підрядник на підтримці, варто прямо запитати: чи є в них подібний річний план, чи оновлення відбуваються реактивно, за фактом скарги чи вразливості. Різниця в підході видно не одразу, а якраз у той момент, коли трафік підскакує і ціна помилки зростає в рази.

Календар оновлень не рятує від усіх проблем. Але він забирає найдорожчий сценарій зі столу — той, де оновлення й сезонний пік стикаються лобом, бо ніхто заздалегідь не подивився на дату.