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

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

Что такое XML-RPC и почему его отключают (ключевые слова: безопасность WordPress, отключение xmlrpc)

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

Несмотря на полезность, XML-RPC часто становится уязвимостью. Злоумышленники могут использовать протокол для перебора паролей (brute force), проведения DDoS-атак и обхода стандартных механизмов защиты. Кроме того, многие сайты не используют XML-RPC и не нуждаются в этом функционале, поэтому отключение сервиса снижает потенциальные риски.

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

Способы отключения XML-RPC в WordPress (ключевые слова: отключить xmlrpc, удалить xmlrpc.php)

Существует несколько способов отключить XML-RPC в WordPress. Рассмотрим основные и наиболее безопасные варианты.

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

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

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

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

Блокировка доступа к xmlrpc.php через .htaccess

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

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

Для сайтов на Nginx конфигурация будет выглядеть так:

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

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

Отключение XML-RPC с помощью плагина Clearfy Pro

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

Проверка отключения XML-RPC и дополнительные советы (ключевые слова: проверить отключение xmlrpc, безопасность WordPress)

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

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

Если отключение прошло успешно, сервер должен вернуть ошибку или пустой ответ.

Также рекомендуется:

  • Проверять логи сервера на предмет попыток доступа к xmlrpc.php и блокировать IP с подозрительной активностью.
  • Использовать плагины безопасности, которые умеют фильтровать и ограничивать XML-RPC, например, Wordfence.
  • Регулярно обновлять WordPress и плагины для защиты от известных уязвимостей.

Пример кастомной функции отключения XML-RPC на wpall.ru (ключевые слова: кастомный код отключения xmlrpc)

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

function wpall_filter_xmlrpc_methods( $methods ) {
    unset( $methods['pingback.ping'] ); // Отключаем пингбэки
    unset( $methods['wp.getUsersBlogs'] ); // Отключаем получение информации о блогах
    return $methods;
}
add_filter( 'xmlrpc_methods', 'wpall_filter_xmlrpc_methods' );

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

Как создать автоответчик в комментариях WordPress
13.02.2026
Как сделать автоматическое удаление спама в комментариях WordPress
23.01.2026
Как использовать настройки Redis для ускорения WordPress
13.12.2025
Как создать автоматические резервные копии базы данных WordPress с помощью PHP
03.01.2026
Как создавать динамические скрипты в WordPress с примерами кода
10.12.2025