Если вы только что установили WordPress, в первую очередь сделайте четыре вещи: обновите ядро, тему и плагины до актуальных версий, задайте администратору уникальный логин и длинный пароль с двухфакторной аутентификацией, отключите встроенный редактор файлов и настройте автоматическое резервное копирование. Эти шаги занимают час-два и закрывают большую часть типовых сценариев взлома.
WordPress — самая распространённая CMS в мире, поэтому именно на неё нацелены массовые автоматические атаки. Боты не выбирают жертву вручную: они перебирают пароли на странице входа, ищут известные уязвимости в старых версиях плагинов и тем, проверяют открытые служебные файлы. Само ядро WordPress обновляется регулярно и считается достаточно надёжным, а основная часть реальных взломов происходит через устаревшие расширения, слабые пароли и небрежные настройки хостинга.
Базовая защита не делает сайт неуязвимым, но переводит его из категории «лёгкая добыча» в категорию «проще пройти мимо». Ниже — порядок действий, который мы в Pear Advert выполняем на каждом новом сайте на WordPress, с пояснениями, зачем нужен каждый шаг.

1. Обновления ядра, тем и плагинов
Начиная с версии 3.7 WordPress умеет сам устанавливать минорные обновления ядра, которые обычно содержат исправления безопасности. Не отключайте этот механизм. С версии 5.5 автообновление можно включить и для отдельных плагинов и тем: на странице «Плагины» у каждого расширения есть ссылка «Включить автообновления». Для небольших сайтов-визиток мы рекомендуем включать её для всех проверенных плагинов; для интернет-магазинов и сложных проектов надёжнее обновлять вручную после проверки на копии сайта.
Сразу после установки удалите всё лишнее: неактивные темы (оставьте одну стандартную тему как запасную), демо-плагины, расширения, которые вы поставили «попробовать». Неактивный плагин с уязвимостью всё равно лежит на сервере, и его файлы могут быть доступны напрямую. Устанавливайте расширения только из официального каталога wordpress.org или с сайтов разработчиков. «Бесплатные» версии платных тем и плагинов из сомнительных источников — одна из самых частых причин заражения: в них нередко заранее встроен бэкдор.
2. Учётные записи, пароли и двухфакторная аутентификация
Не используйте логин admin и любые варианты с названием сайта или домена: такие имена перебирают в первую очередь. Пароль администратора должен быть длинным (от 16 символов) и уникальным — сгенерируйте его встроенным генератором WordPress или менеджером паролей. Проверьте раздел «Пользователи»: у каждого сотрудника должна быть своя учётная запись, а не общий логин на всех.
Выдавайте минимально необходимые роли. В WordPress есть роли «Администратор», «Редактор», «Автор», «Участник» и «Подписчик». Контент-менеджеру, который публикует новости, достаточно роли «Редактор» — он не сможет устанавливать плагины и менять настройки. Администраторов на сайте должно быть один-два человека. Учётные записи уволенных сотрудников и подрядчиков удаляйте сразу после окончания работ.
Двухфакторной аутентификации в ядре WordPress нет, её добавляют плагином. Подойдут, например, официальный плагин или модуль входа в составе Wordfence. После включения при входе нужно будет ввести код из приложения-аутентификатора на телефоне. Это защищает даже тогда, когда пароль утёк. Также в профиле пользователя есть раздел «Пароли приложений» (Application Passwords) — если вы не подключаете к сайту внешние сервисы через REST API, проверьте, что там нет лишних записей.
3. Защита страницы входа и административной панели
Страница wp-login.php и адрес /wp-admin/ одинаковы на всех сайтах WordPress, поэтому боты атакуют их постоянно. Задача — ограничить количество попыток входа. По умолчанию WordPress не ограничивает перебор паролей, поэтому установите плагин, который блокирует IP после нескольких неудачных попыток (такая функция есть в Wordfence, Solid Security и отдельных плагинах вроде Limit Login Attempts Reloaded). Дополнительно можно добавить капчу на форму входа.
Если сайтом управляют из офиса со статическим IP-адресом, надёжный вариант — разрешить доступ к wp-login.php только с этого адреса на уровне веб-сервера или панели хостинга. Ещё один популярный приём — смена адреса страницы входа плагином. Он снижает шум от ботов в журналах, но сам по себе не является защитой: относитесь к нему как к дополнению, а не к замене ограничения попыток и 2FA.
Отдельно решите вопрос с файлом xmlrpc.php. Этот интерфейс нужен для старых мобильных приложений, пингбэков и некоторых интеграций (например, Jetpack). Если вы ими не пользуетесь, XML-RPC лучше отключить — через него тоже перебирают пароли, причём много вариантов за один запрос.
4. Файл wp-config.php и права доступа к файлам
В wp-config.php хранятся доступы к базе данных и секретные ключи. Официальное руководство WordPress по безопасности рекомендует следующие настройки:
- добавить строку
define( 'DISALLOW_FILE_EDIT', true );— она отключает встроенный редактор файлов тем и плагинов в админке. Если злоумышленник всё же попадёт в панель, он не сможет одним кликом вписать вредоносный код; - проверить, что секретные ключи и «соли» (константы
AUTH_KEY,SECURE_AUTH_KEYи другие) заполнены уникальными значениями. Их можно сгенерировать на официальном сервисе api.wordpress.org; после замены все пользователи будут разлогинены — это нормально; - убедиться, что константа
WP_DEBUGна рабочем сайте выключена, иначе ошибки PHP с путями к файлам будут видны посетителям.
Права доступа к файлам по рекомендации WordPress: для каталогов — 755, для файлов — 644, для wp-config.php — 440 или 400, если это допускает конфигурация хостинга. Права 777 на каталоги не нужны никогда, даже «чтобы загружались картинки». Также полезно запретить выполнение PHP-файлов в каталоге wp-content/uploads: туда попадают загружаемые файлы, и исполняемому коду там делать нечего.
| Объект | Рекомендуемые права |
|---|---|
| Каталоги | 755 |
| Обычные файлы | 644 |
| wp-config.php | 440 или 400 |
5. Плагин безопасности: что он даёт и как не перестараться
Плагин безопасности объединяет несколько функций: файрвол уровня приложения, сканер вредоносного кода, ограничение попыток входа, двухфакторную аутентификацию, журнал событий. Самый распространённый вариант — (более 5 млн активных установок). Его бесплатная версия включает файрвол, сканер файлов ядра, тем и плагинов с их сравнением с оригиналами из каталога wordpress.org, 2FA и капчу на форме входа, ограничение частоты запросов и просмотр живого трафика. Альтернативы — Solid Security, All-In-One Security (AIOS) и другие.
Главное правило: ставьте один комплексный плагин безопасности, а не три сразу. Несколько файрволов конфликтуют друг с другом, замедляют сайт и иногда блокируют самого администратора. После установки пройдите мастер настройки, включите уведомления на e-mail, к которому у вас реально есть доступ, и запустите первое полное сканирование.

6. Резервные копии
Резервная копия — последняя линия обороны: если всё остальное не сработало, вы восстановите сайт за час, а не будете собирать его заново. Копия WordPress состоит из двух частей: базы данных MySQL (записи, страницы, настройки, заказы) и файлов (тема, плагины, каталог wp-content/uploads с изображениями). Нужны обе.
Настройте автоматическое копирование по расписанию: для сайта-визитки достаточно раз в неделю, для активного интернет-магазина — ежедневно. Храните копии не только на том же сервере: если взломают хостинг-аккаунт, пострадают и они. Подойдут встроенные бэкапы хостинга плюс выгрузка в облачное хранилище плагином вроде UpdraftPlus. Не реже раза в квартал проверяйте, что копия действительно разворачивается, — например, на тестовом поддомене.
7. Формы, комментарии и спам
Формы обратной связи и комментарии — открытая для всех точка ввода данных. Через них идёт спам, а иногда и попытки внедрить код. Если комментарии на сайте не нужны, отключите их в разделе «Настройки → Обсуждение». Если нужны — включите ручную модерацию первого комментария автора и поставьте антиспам-плагин (например, Akismet).
На формы заявок добавьте защиту от ботов: невидимую капчу (reCAPTCHA, Яндекс SmartCaptcha) или скрытое поле-ловушку (honeypot). Проверяйте, что плагин форм обновлён: популярные конструкторы форм регулярно получают исправления уязвимостей. Если формы позволяют загружать файлы, ограничьте допустимые типы (изображения, PDF) и размер.
8. HTTPS и заголовки безопасности
Сайт должен работать только по HTTPS. Бесплатный сертификат Let’s Encrypt выпускается в панели большинства российских хостингов за пару минут. После выпуска проверьте, что в разделе «Настройки → Общие» оба адреса (WordPress и сайта) начинаются с https://, и настройте постоянный 301-редирект с HTTP на HTTPS. Без шифрования пароль администратора передаётся по сети открытым текстом.
Следующий шаг — HTTP-заголовки безопасности, которые указывают браузеру, как себя вести: X-Frame-Options (запрет встраивания сайта в чужие фреймы), X-Content-Type-Options: nosniff, Referrer-Policy, а после проверки стабильной работы HTTPS — Strict-Transport-Security (HSTS). Их задают в конфигурации веб-сервера или файле .htaccess. С заголовком Content-Security-Policy будьте осторожны: неправильная политика ломает счётчики, виджеты и формы, его лучше настраивать вместе с разработчиком.

9. Мониторинг и журнал событий
Защиту нужно не только настроить, но и проверять. Раз в месяц открывайте раздел «Инструменты → Здоровье сайта»: WordPress сам подскажет об устаревших версиях PHP, неактивных темах, отключённом HTTPS и других проблемах. Читайте письма от плагина безопасности о результатах сканирования и блокировках — если их стало резко больше, сайт целенаправленно атакуют.
Полезно вести журнал действий пользователей: кто вошёл, какие плагины установил, что изменил в настройках. Это делают плагины журналирования активности (например, WP Activity Log или Simple History). При инциденте такой журнал помогает быстро понять, через какую учётную запись и когда произошло изменение. Также подключите внешний мониторинг доступности — например, проверку в Яндекс Метрике или любом сервисе uptime-мониторинга, чтобы узнавать о падении сайта раньше клиентов.
Типичные ошибки
- Логин
adminи пароль, который используется ещё на десятке сервисов. - Один общий аккаунт администратора на всех сотрудников и подрядчиков.
- Установка «нулённых» платных тем и плагинов из неофициальных источников.
- Отключённые обновления «чтобы ничего не сломалось» и плагины, которые не обновлялись годами.
- Права
777на каталоги и выполнение PHP в папке загрузок. - Резервные копии только на том же сервере и ни разу не проверенные.
- Три плагина безопасности одновременно, конфликтующие между собой.
- Включённый
WP_DEBUGна рабочем сайте.
Чек-лист первичной защиты
- Обновить ядро WordPress, темы и плагины до последних версий.
- Удалить неиспользуемые темы и плагины.
- Сменить логин администратора с
adminна уникальный и задать пароль от 16 символов. - Включить двухфакторную аутентификацию для всех администраторов и редакторов.
- Раздать сотрудникам отдельные учётные записи с минимальными ролями.
- Ограничить число попыток входа и при необходимости доступ к
wp-login.phpпо IP. - Отключить XML-RPC, если он не нужен.
- Добавить в
wp-config.phpстрокуDISALLOW_FILE_EDITи проверить секретные ключи. - Выставить права 755 на каталоги, 644 на файлы, 440 или 400 на
wp-config.php. - Запретить выполнение PHP в
wp-content/uploads. - Установить один плагин безопасности и запустить полное сканирование.
- Настроить автоматические резервные копии с хранением вне сервера и проверить восстановление.
- Защитить формы капчей или honeypot, настроить модерацию комментариев.
- Перевести сайт на HTTPS с 301-редиректом и добавить заголовки безопасности.
- Включить уведомления, журнал действий и мониторинг доступности.
Частые вопросы
Можно ли обойтись без плагина безопасности?
Можно, если ограничение попыток входа, 2FA, файрвол и сканирование настроены другими средствами — на уровне хостинга, веб-сервера или внешнего сервиса защиты. Для большинства небольших сайтов один хорошо настроенный плагин проще и надёжнее, чем набор ручных правок.
Не сломают ли автообновления сайт?
Минорные обновления ядра почти никогда ничего не ломают, их стоит оставлять включёнными. Риск есть у крупных обновлений плагинов, особенно конструкторов страниц и плагинов магазина. Для них разумно сначала обновлять тестовую копию сайта, а уже затем рабочую — и обязательно иметь свежую резервную копию.
Помогает ли смена адреса страницы входа?
Она уменьшает количество автоматических попыток и разгружает журналы, но не защищает от целенаправленной атаки. Основная защита — длинный уникальный пароль, двухфакторная аутентификация и ограничение числа попыток.
Как понять, что сайт уже взломан?
Признаки: посторонние ссылки или редиректы на чужие сайты (часто только для посетителей из поиска или с телефонов), незнакомые администраторы в списке пользователей, новые PHP-файлы в папке загрузок, предупреждения в Яндекс Вебмастере или браузере, резкий рост нагрузки на сервер. В этом случае запустите сканирование, смените все пароли и восстановите сайт из чистой копии.
Если не хочется разбираться в правах файлов, заголовках и настройках плагинов самостоятельно, мы проведём аудит безопасности вашего сайта на WordPress, закроем найденные уязвимости и настроим резервное копирование и мониторинг. Вы получите отчёт о том, что было сделано, и рекомендации на будущее.
Читайте также
- Признаки вируса на сайте и как его вылечить: пошаговая инструкция
- Топ-10 вирусов на сайтах: как распознать и удалить
Pear Advert · поддержка и защита сайтов
Защитим ваш сайт на WordPress
Проверим сайт на уязвимости, обновим и настроим защиту админки, резервные копии и мониторинг. По итогам передадим отчёт с рекомендациями.
- Аудит безопасности и отчёт с приоритетами
- Обновления, бэкапы и мониторинг доступности
- Очистка от вирусов и восстановление после взлома
Ответим в течение рабочего дня

