Как отключить XML-RPC в WordPress без помощи плагинов

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

Что такое XML-RPC и зачем его отключать

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

  • Brute force — подбор паролей с помощью метода system.multicall.
  • DDoS-атаки через массовые запросы XML-RPC.
  • Эксплуатация уязвимостей в определённых версиях WordPress и плагинах.

Если вы не используете внешние приложения для публикации или плагинов, требующих XML-RPC, лучше отключить этот протокол.

Как проверить, активен ли XML-RPC на вашем сайте

Для проверки достаточно открыть в браузере адрес https://ваш-сайт.ru/xmlrpc.php. Если вы видите сообщение «XML-RPC server accepts POST requests only.», значит, интерфейс активен. Если же получаете ошибку 403 или 404, значит он отключён.

Другой способ — воспользоваться онлайн-сервисами для проверки уязвимостей или утилитами типа curl:

curl -I https://ваш-сайт.ru/xmlrpc.php

Если в ответе идёт статус 200, значит доступ разрешён.

Отключение XML-RPC через functions.php — простой способ

Самый популярный и удобный метод — добавить в файл functions.php вашей темы следующий код:

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

Этот код использует встроенный фильтр WordPress xmlrpc_enabled, который при возврате false полностью отключает XML-RPC. После добавления и сохранения изменений интерфейс перестанет работать, а запросы к xmlrpc.php будут возвращать ошибку 403.

Важно: этот метод не требует установки дополнительных плагинов и не влияет на работу REST API.

Отключение XML-RPC через .htaccess — на уровне сервера Apache

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

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

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

Отключение на Nginx — пример настройки

Если ваш сайт работает на сервере с Nginx, добавьте в конфигурацию сайта в блок server следующий блок:

location = /xmlrpc.php {
    deny all;
    access_log off;
    log_not_found off;
}

После внесения изменений не забудьте перезапустить Nginx, чтобы настройки вступили в силу:

sudo systemctl reload nginx

Как проверить, что XML-RPC действительно отключён

После применения любого из описанных способов повторно проверьте доступность xmlrpc.php через браузер или curl. Вы должны получить ошибку 403 или 404, либо сообщение о запрещённом доступе.

Также рекомендую проверить логи сервера и мониторить попытки обращения к файлу — если они продолжаются, это может указывать на необходимость дополнительной настройки.

Почему не стоит отключать XML-RPC, если вы используете мобильные приложения и некоторые плагины

Перед отключением XML-RPC убедитесь, что вы не используете приложения WordPress для iOS или Android, а также плагины, которые зависят от этого протокола (например, Jetpack в некоторых режимах). В противном случае функционал может перестать работать.

Если нужна частичная блокировка, можно ограничить доступ по IP или добавить аутентификацию.

Заключение: лучшие практики по безопасности

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

Для комплексной защиты стоит также рассмотреть установку и настройку плагина Clearfy Pro, который помогает управлять неиспользуемыми функциями WordPress и оптимизировать безопасность.

WooCommerce: как автоматически удалять товары при пустой корзине
29.05.2026
Как использовать хуки для изменения функциональности WordPress
15.04.2026
Как удалить или изменить slug кастомного типа записи в WordPress без потери данных
03.03.2026
Как создать уникальную форму регистрации в WordPress с дополнительными полями
27.02.2026
WooCommerce: установка и настройка подключения платежного шлюза Сбербанк
25.05.2026