До основного вмісту

Безпека WordPress: чекліст для власника сайту

WordPress · 20.03.2026 · 4 хв читання
Ілюстрація до статті «Безпека WordPress: чекліст для власника сайту»

WordPress — найпопулярніша CMS і найбільш атакована. 40% зломів відбуваються через застарілі плагіни. Цей чекліст закриває 95% загроз.

1. Оновлення — перший пріоритет

  • WordPress core — оновлюйте негайно
  • Плагіни й теми — щотижня
  • Видаліть невикористовувані плагіни та теми
  • Увімкніть автооновлення безпеки: Dashboard → Updates → Enable auto-updates

2. Захист wp-admin

# У .htaccess обмежити доступ до wp-admin за IP:
<Directory /var/www/site/wp-admin>
  Order deny,allow
  Deny from all
  Allow from ВАШ_IP
</Directory>
  • Змініть URL входу: плагін WPS Hide Login
  • Увімкніть двофакторку: плагін WP 2FA
  • Обмежте спроби входу: Limit Login Attempts Reloaded

3. wp-config.php — посилення

// Унікальні секретні ключі (генерація: https://api.wordpress.org/secret-key/1.1/salt/)
define('AUTH_KEY', 'унікальний_рядок');
// Заборонити редагування файлів з адмінки:
define('DISALLOW_FILE_EDIT', true);
// Обмежити ревізії:
define('WP_POST_REVISIONS', 5);
// Заборонити зовнішні HTTP-запити (якщо не потрібні):
// define('WP_HTTP_BLOCK_EXTERNAL', true);

4. Плагін безпеки

Встановіть один із:

  • Wordfence — файрвол + сканер малварі + блокування IP
  • Sucuri Security — моніторинг цілісності файлів
  • iThemes Security — комплексний захист

5. Права на файли

find /var/www/wordpress -type f -exec chmod 644 {} \;
find /var/www/wordpress -type d -exec chmod 755 {} \;
chmod 600 wp-config.php
✅ Регулярно робіть резервні копії: плагін UpdraftPlus зберігає бекапи в Google Drive, Dropbox або S3 — автоматично.

Типові помилки та що вони означають

ПовідомленняПричинаЩо робити
Too many login attempts, please try again laterПлагін обмеження спроб входу заблокував вашу IP-адресу після кількох невірних паролівЗачекайте тайм-аут (зазвичай 15–60 хвилин) або зніміть блокування в налаштуваннях плагіна
This site may be hacked (у Google Search Console)Google знайшов на сайті шкідливий редирект, спам-контент або впроваджений скриптПроскануйте файли, видаліть чужий код, запросіть повторну перевірку в Search Console
There has been a critical error on this websiteКонфлікт плагіна безпеки з темою або іншим плагіном, частіше після оновленняУвімкніть WP_DEBUG, знайдіть винуватця в debug.log, вимкніть його через FTP або SSH
Invalid command 'RewriteEngine', perhaps misspelledПравило з плагіна безпеки потрапило до .htaccess, але модуль mod_rewrite в Apache вимкненоУвімкніть модуль: a2enmod rewrite && systemctl restart apache2
403 Forbidden під час спроби зайти за старою адресою /wp-admin/Це очікувана поведінка плагіна зміни URL входу, а не помилкаВикористовуйте нову адресу входу, вказану в налаштуваннях WPS Hide Login

Порівняння плагінів безпеки

ПлагінФайрволСканер малваріЦіна Pro-версії
WordfenceТак, на рівні PHP до завантаження WordPressТак, база сигнатур оновлюється щодня$119/рік за сайт
Sucuri SecurityХмарний WAF, окрема платна послугаТак, плюс моніторинг цілісності файлів$199/рік за сайт
iThemes SecurityБазові правила рівня плагінаОбмежений, без бази сигнатур$99/рік за один сайт

Коли чекліста не вистачає

Чекліст закриває типові загрози, але є ситуації, де потрібні додаткові заходи:

  • Вразливість у власному коді теми або плагіна, написаного на замовлення, — потрібен аудит вихідного коду, а не готовий плагін безпеки
  • Зараження через сусідній сайт на тому самому shared-хостингу (cross-site contamination) — допомагає лише ізоляція акаунта або перехід на VDS
  • «Nulled»-версії платних плагінів і тем з безкоштовних форумів — у них часто вже вбудований бекдор ще до встановлення
  • Компрометація облікового запису хостингу, FTP або панелі реєстратора домену — WordPress тут ні до чого, а сайт все одно виявиться зламаним

Якщо сайт уже скомпрометовано, цей чекліст не допоможе його вилікувати — спочатку потрібна діагностика й очищення, як описано у статті «Злом сайту: діагностика, очищення та відновлення». Загальний чекліст безпеки сервера, на якому стоїть WordPress, — у статті «Безпека WordPress: повний чекліст захисту сайту».

Перевірка результату

Після застосування чекліста переконайтеся, що захист справді працює:

# Чи вимкнено редагування файлів з адмінки
wp eval 'var_dump(defined("DISALLOW_FILE_EDIT") && DISALLOW_FILE_EDIT);'

# Права на wp-config.php мають бути 600 або 640, не 644
stat -c "%a %n" wp-config.php

# Стара адреса входу має віддавати 404, а не форму логіну
curl -s -o /dev/null -w "%{http_code}\n" https://example.com/wp-admin/

# Активні плагіни безпеки через WP-CLI
wp plugin list --status=active | grep -i "wordfence\|sucuri\|ithemes"

Додатково поставте fail2ban перед сервером — він банить IP-адреси за логами Nginx/Apache ще до того, як запит дійде до WordPress.

Чи була стаття корисною?
← Назад до бази знань Поставити питання підтримці