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

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

Зачем отключать XML-RPC: риски и проблемы безопасности

По умолчанию XML-RPC включён в WordPress и доступен по адресу your-site.com/xmlrpc.php. Он позволяет выполнять удалённые вызовы функций, что удобно, но одновременно открывает дополнительные векторы атак.

Основные угрозы при включённом XML-RPC:

  • Brute force атаки на учетные записи через метод system.multicall — злоумышленники могут пробовать множество паролей за один запрос.
  • DDoS-атаки — чрезмерная нагрузка на сервер из-за большого количества запросов к XML-RPC.
  • Использование уязвимостей в плагинах или ядре через XML-RPC для выполнения произвольного кода.

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

Как автоматически отключить XML-RPC через functions.php

Самый простой способ — добавить код в файл functions.php вашей темы или в отдельный плагин. Мы создадим функцию wpfront_disable_xmlrpc, которая будет блокировать все запросы к xmlrpc.php.

function wpfront_disable_xmlrpc() {
    if (strpos($_SERVER['REQUEST_URI'], 'xmlrpc.php') !== false) {
        wp_die('Доступ к XML-RPC запрещён.', 'XML-RPC отключён', array('response' => 403));
    }
}
add_action('init', 'wpfront_disable_xmlrpc');

Этот код проверяет, если URI запроса содержит xmlrpc.php, — останавливает выполнение и выводит сообщение об ошибке 403.

Преимущества способа

  • Легко внедрить — достаточно вставить в functions.php.
  • Не требует установки плагинов.
  • Работает сразу после активации.

Недостатки

  • Если вы используете приложения или сервисы, которые работают через XML-RPC (например, Jetpack, мобильное приложение WordPress), они перестанут работать.

Отключение XML-RPC с помощью плагинов — обзор и рекомендации

Если вы предпочитаете не править код сайта напрямую, можно установить специализированные плагины из репозитория WordPress.

Плагин Disable XML-RPC

Очень простой плагин, который отключает все запросы к XML-RPC. После активации больше ничего не нужно настраивать.

Скачать и установить можно здесь: Disable XML-RPC

Плагин Clearfy Pro

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

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

Чтобы убедиться, что XML-RPC отключён, можно выполнить несколько простых шагов.

Через браузер или curl

Попробуйте открыть в браузере https://your-site.com/xmlrpc.php. Если видите сообщение типа "Доступ к XML-RPC запрещён" или ошибку 403, значит, отключение сработало.

Также можно выполнить команду в терминале:

curl -I https://your-site.com/xmlrpc.php

В ответе должен быть статус 403 или 404.

Проверка через онлайн-сервисы

Существуют онлайн-инструменты, которые проверяют доступность XML-RPC на сайте, например, xmlrpc.eritreo.it. Просто введите URL вашего сайта и проанализируйте результаты.

Альтернативы XML-RPC для удалённого управления WordPress

Если вам нужна функциональность удалённого управления сайтом, но XML-RPC отключён, рассмотрите альтернативные варианты.

REST API WordPress

Современный и более безопасный способ взаимодействия с сайтом — REST API. Он поддерживается WordPress с версии 4.7 и позволяет выполнять практически все операции, которые раньше были возможны через XML-RPC.

Пример запроса для получения списка постов через REST API:

fetch('https://your-site.com/wp-json/wp/v2/posts')
  .then(response => response.json())
  .then(data => console.log(data));

REST API более гибкий и позволяет настроить аутентификацию и права доступа гораздо удобнее.

Плагины для управления сайтом

Для удалённого управления можно использовать такие плагины, как WPCommunity или WPRemark, которые добавляют возможности взаимодействия с пользователями и администраторами без необходимости использования XML-RPC.

Подытожим: что делать для автоматического отключения XML-RPC

Для автоматического отключения XML-RPC на сайте WordPress достаточно добавить функцию wpfront_disable_xmlrpc в functions.php или использовать плагин Disable XML-RPC. Если вы предпочитаете комплексное решение, обратите внимание на Clearfy Pro.

Также стоит рассмотреть переход на REST API для безопасного удалённого управления сайтом.

Как создать автоматические ответы на часто задаваемые вопросы в WordPress
20.12.2025
Как удалить неиспользуемые метаданные из базы данных WordPress для оптимизации
05.01.2026
Как удалить старые ревизии постов в WordPress из базы данных
26.01.2026
Как отключить автоматическую отправку системных писем WordPress
21.02.2026
Как удалить черновики в WordPress без плагинов
22.01.2026