Как отключить XML-RPC в WordPress для повышения безопасности

XML-RPC — это протокол, который позволяет удалённо взаимодействовать с сайтом WordPress, например, публиковать записи через мобильные приложения или внешние сервисы. Несмотря на удобство, XML-RPC часто становится причиной уязвимостей и атак на сайт, таких как brute force или DDoS. В этой статье разберём, как правильно отключить XML-RPC в WordPress, чтобы повысить безопасность вашего ресурса.

Что такое XML-RPC и почему его отключают

XML-RPC был добавлен в WordPress для удалённого доступа к сайту. Это удобно, если вы используете мобильные приложения, внешние редакторы или сервисы, которые требуют взаимодействия с сайтом. Но многие сайты не используют этот функционал, и его наличие становится точкой входа для атак.

Основные причины отключения XML-RPC:

  • Защита от перебора паролей (brute force) через XML-RPC методы.
  • Предотвращение DDoS атак, которые используют xmlrpc.php.
  • Уменьшение количества ненужных запросов к серверу.

Если вы не используете мобильные приложения или внешние сервисы, которые нуждаются в XML-RPC, отключение — правильный выбор.

Способы отключения XML-RPC в WordPress

Существует несколько способов отключить XML-RPC в WordPress: с помощью плагинов, через .htaccess или добавление кода в functions.php. Рассмотрим каждый из них подробно.

Отключение через functions.php

Добавьте следующий код в файл functions.php вашей активной темы или в плагин для кастомных функций:

function wpmonitor_disable_xmlrpc() {
    add_filter('xmlrpc_enabled', '__return_false');
}
add_action('init', 'wpmonitor_disable_xmlrpc');

Этот фильтр полностью отключит обработку XML-RPC внутри WordPress, возвращая false на запросы к xmlrpc.php.

Отключение через .htaccess

Если у вас веб-сервер Apache, можно заблокировать доступ к файлу xmlrpc.php на уровне сервера. Для этого добавьте в файл .htaccess в корневой папке сайта следующий код:

<Files xmlrpc.php>
  Order Deny,Allow
  Deny from all
</Files>

Этот способ хорош тем, что запросы к XML-RPC даже не доходят до WordPress, снижая нагрузку на сервер.

Использование плагинов для отключения XML-RPC

Если вы не хотите редактировать код, можно установить специальный плагин. Например:

  • Disable XML-RPC — простой плагин, который полностью отключит XML-RPC.
  • Clearfy Pro — многофункциональный плагин оптимизации и безопасности, который позволяет отключать XML-RPC и другие ненужные сервисы одним кликом.

Использование плагина удобно, если вы хотите управлять безопасностью через интерфейс без правок кода.

Проверка отключения XML-RPC

После отключения XML-RPC важно проверить, что сайт действительно не отвечает на запросы к xmlrpc.php. Для этого можно воспользоваться онлайн-сервисами или выполнить curl-запрос:

curl -I https://example.com/xmlrpc.php

Если всё настроено правильно, вы должны получить ответ 403 Forbidden (если блокировали через .htaccess) или 405 Method Not Allowed / пустой ответ (если отключили через фильтр).

Как временно разрешить XML-RPC для конкретных IP

Иногда нужно оставить XML-RPC включённым, но ограничить доступ только доверенным IP-адресам. Для этого можно использовать .htaccess с условием:

<Files xmlrpc.php>
  Order Deny,Allow
  Deny from all
  Allow from 123.123.123.123
  Allow from 234.234.234.234
</Files>

Замените IP-адреса на те, которые вы доверяете. Такой способ позволяет сохранить функциональность, но исключить атаки с других адресов.

Дополнительные рекомендации по безопасности WordPress

Отключение XML-RPC — важный шаг, но не единственный для защиты сайта. Рекомендуем также:

  • Использовать сложные пароли и двухфакторную аутентификацию.
  • Регулярно обновлять WordPress, темы и плагины.
  • Устанавливать плагины безопасности, например, Clearfy Pro.
  • Настроить лимиты на количество попыток входа.
  • Использовать брандмауэр и мониторинг активности.

Все эти меры вместе помогут значительно повысить безопасность вашего WordPress-сайта и сохранить ваши данные в безопасности.

WooCommerce: как исправить проблему с неотображением цены товара после обновления
31.05.2026
Как автоматизировать удаление старых записей по мета-данным в WordPress
22.01.2026
Как регистрировать собственные события в WordPress для мониторинга
05.04.2026
Как использовать фильтр pre_get_posts для узкой настройки запросов в WordPress
20.04.2026
Как избежать конфликтов плагинов в WordPress
06.12.2025