XML-RPC — это протокол, встроенный в WordPress, который позволяет удалённо взаимодействовать с сайтом, например, используя мобильные приложения или внешние сервисы. Однако, несмотря на полезность, XML-RPC часто становится причиной замедления сайта и уязвимостей, так как его активно используют для проведения атак типа brute force и DDoS.
Что такое XML-RPC и почему его стоит отключить
XML-RPC — это интерфейс, который обрабатывает удалённые запросы в формате XML. Он позволяет выполнять разные действия без необходимости заходить в админку, например публиковать записи или управлять комментариями.
Проблема в том, что многие сайты не используют этот функционал, но оставляют его включённым. В таком случае XML-RPC становится точкой входа для злоумышленников, которые могут посылать тысячи запросов, нагружая сервер и замедляя работу сайта.
Кроме того, старые версии WordPress имели уязвимости в XML-RPC, что увеличивает риски безопасности.
Признаки проблем с XML-RPC
- Резкое увеличение нагрузки на сервер без видимых причин
- Повышенное количество неудачных попыток входа в админку
- Замедление работы сайта и задержки при обработке запросов
Как проверить, активен ли XML-RPC на вашем сайте
Самый простой способ — попытаться обратиться к файлу xmlrpc.php в корне сайта. Например, откройте в браузере https://ваш-сайт.ru/xmlrpc.php. Если вы увидите сообщение XML-RPC server accepts POST requests only., значит файл доступен и активен.
Также можно проверить наличие активности через логи сервера или плагин мониторинга безопасности, например, Wordfence.
Методы отключения XML-RPC для ускорения сайта
Отключение через functions.php темы
Самый лёгкий способ — добавить в файл functions.php вашей активной темы следующий код:
function wpspeed_disable_xmlrpc() {
add_filter('xmlrpc_enabled', '__return_false');
}
add_action('init', 'wpspeed_disable_xmlrpc');Этот фильтр полностью отключит обработку XML-RPC запросов в WordPress.
Блокировка доступа через .htaccess
Если ваш сайт работает на сервере Apache, можно запретить доступ к xmlrpc.php на уровне веб-сервера, что снизит нагрузку ещё сильнее:
<Files xmlrpc.php>
Order Allow,Deny
Deny from all
</Files>Для Nginx добавьте в конфигурацию:
location = /xmlrpc.php {
deny all;
access_log off;
log_not_found off;
}Использование плагинов для управления XML-RPC
Если вы предпочитаете не трогать код, воспользуйтесь специализированными плагинами:
- Disable XML-RPC — простой плагин, который полностью отключает XML-RPC.
- Stop XML-RPC Attack — позволяет блокировать вредоносные запросы, сохраняя при этом доступ для легитимных приложений.
- Clearfy Pro — комплексный инструмент для оптимизации и безопасности сайта, где есть возможность отключать XML-RPC и другие неиспользуемые функции.
Как проверить, что XML-RPC отключён
После внесения изменений снова попробуйте открыть https://ваш-сайт.ru/xmlrpc.php. Если вы получите ошибку 403 или подобное сообщение, значит доступ заблокирован.
Также можно использовать онлайн-сервисы проверки, например, xmlrpc.eritreo.it, чтобы убедиться, что протокол отключён.
Практические советы для поддержки производительности
Отключение XML-RPC — только часть оптимизации. Чтобы поддерживать сайт быстрым и безопасным, рекомендуем регулярно:
- Следить за обновлениями WordPress и плагинов
- Использовать кэширование (например, My Popup с функциями кеша)
- Проводить аудит безопасности (Clearfy Pro отлично помогает)
- Минимизировать количество активных плагинов
Выводы
Отключение XML-RPC в WordPress — простой и эффективный способ повысить скорость загрузки сайта и защитить его от распространённых атак, особенно если вы не используете функции удалённого управления.
Используйте приведённые методы — через код, серверные настройки или плагины — в зависимости от удобства и технических возможностей. Не забудьте протестировать сайт после изменений, чтобы избежать сбоев.