Блог · Web

Безпека WordPress: чекліст оновлень core, теми та плагінів

Як оновлювати WordPress із бекапом і staging, у якій послідовності перевіряти форми й оплату та як не відкрити сайт для експлойтів через відкладені патчі.

~3 хв читання Web

Безпека WordPress: чекліст оновлень core, теми та плагінів

Ризики відкладених оновлень

Ризики застарілого WordPress

Застарілий core або плагін з відомим CVE — один із найчастіших векторів компрометації для масового хостингу, де боти сканують відбитки версій.

Відкладені патчі часто дорожчі за планове оновлення з тестом, бо інцидент вимагає аврального відновлення з бекапу.

Навіть без інтернет-магазину зламаний сайт може розсилати спам, показувати паразитські сторінки в індексі або викрадати сесії адміністраторів — вартість відновлення й репутаційні втрати зазвичай вищі за ціну регламентного оновлення.

Юридичні вимоги до захисту персональних даних і договори з B2B-клієнтами часто передбачають «розумні технічні заходи»; відсутність критичних патчів після їхнього виходу важко аргументувати під час аудиту.

Автоматизовані боти не «дивляться» на якість дизайну — вони шукають відомі комбінації версій і відкриті вектори завантаження файлів, тому дисципліна версій важливіша за обсяг маркетингового контенту.

  • Підпишіться на security advisories для ключових плагінів.
  • Ведіть інвентар плагінів із датами останніх оновлень.
  • Перевіряйте нульові дні у новинах WP.
  • Погодьте з бізнесом вікно обслуговування для критичних патчів.
  • Не ігноруйте minor-релізи core.
  • Переконайтеся, що файлові права не дозволяють запис усім.
  • Перевірте список адміністраторів.
  • Увімкніть 2FA для адмінок.
  • Перевірте логи входів.
  • Плануйте ротацію секретів API.
  • Обмежте список плагінів, які можуть писати у файли теми з адмінки.
  • Перевірте наявність web application firewall правил для wp-login.php.
  • Зафіксуйте allowlist IP для SSH і адмінки, якщо це можливо в організації.
  • Переконайтеся, що відключені плагіни справді видалені, а не лишаються в wp-content роками.
  • Перевірте права на wp-config.php та .htaccess після міграції хостингу.

Швидкість після оновлень — Web Vitals.

Staging і бекап перед змінами

Staging і бекап WordPress

Повний бекап файлів і бази — мінімальний стандарт перед оновленням, який торкається оплати або форм лідів.

Staging-копія з тим самим PHP дозволяє відловити фатальні помилки сумісності до продакшену.

Переконайтеся, що бекап містить не лише uploads, а й mu-plugins та кастомні drop-ins — саме вони часто ламаються після оновлення PHP.

Якщо використовуєте зовнішній object cache, зафіксуйте процедуру flush після відновлення staging з дампу, щоб не ловити «фантомні» дані з продакшену.

Для магазинів окремо перевірте тестові платіжні ключі: випадковий charge на продакшен-ключі з staging — типова аварія після копіювання бази.

  • Перевірте розмір бекапу та місце зберігання.
  • Протестуйте відновлення бекапу раз на квартал.
  • Синхронізуйте контент staging без PII, якщо потрібно.
  • Переконайтеся, що staging закритий від індексу.
  • Перевірте wp-config на відмінності констант.
  • Погодьте час оновлення з низьким трафіком.
  • Додайте моніторинг uptime після релізу.
  • Перевірте критичні форми вручну.
  • Перевірте мобільну версію checkout.
  • Зберігайте changelog релізу.
  • Перевірте, що search_replace у staging не змінив домен у серіалізованих опціях некоректно.
  • Зробіть dry-run оновлення WooCommerce на копії з реальним набором плагінів оплати.
  • Переконайтеся, що SMTP-паролі в env staging відрізняються від продакшену.
  • Перевірте обсяг логів error_log після імітації пікового навантаження.

Міграції — SEO-чекліст.

Порядок оновлень

Порядок оновлення компонентів

Типовий порядок: спочатку core, потім плагіни, потім тема — але він може відрізнятися залежно від політики вашого підрядника та залежностей.

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

  • Оновлюйте плагіни по одному на staging.
  • Фіксуйте версії до/після в тікеті.
  • Перевірте PHP compatibility matrix.
  • Переконайтеся, що автонові не ламають прод.
  • Перевірте кастомні mu-plugins окремо.
  • Після теми перевірте дочірню тему overrides.
  • Перевірте критичні shortcodes.
  • Перевірте мультимовність WPML, якщо є.
  • Перевірте cron jobs.
  • Плануйте rollback path.
  • Перевірте сумісність PHP extensions після minor-оновлення core.
  • Переконайтеся, що composer-based залежності теми оновлені в lock-файлі.
  • Після оновлення перевірте XML-RPC та REST endpoints, якщо вони використовуються інтеграціями.
  • Зафіксуйте час відкату в SLA: хто приймає рішення про rollback.

Розробка та супровід — SEO-Studio.

Висновок

Безпека WordPress — це регулярність і дисципліна релізів, а не разовий «закрити всі дірки». Бекап, staging і поетапні оновлення зменшують ризик простою та втрати даних. Поєднуйте технічний календар із маркетинговим, щоб критичні патчі не чекали «кращого тижня». SEO-Studio допоможе вибудати супровід, де оновлення та моніторинг стають нормою, а не пожежогасінням.

Практичний мінімум для власника продукту: єдиний календар релізів, відповідальний за бекап, заборона «тихого» оновлення на проді без тікета й щоквартальна перевірка відновлення з архіву. Це дешевше за лист клієнтам про витік даних і тижні простою під форензикою.