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

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

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

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

  • массового перебора паролей (brute force);
  • атаки на сервер через pingback;
  • отправки большого количества запросов, что нагружает сервер.

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

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

Проверить доступность XML-RPC очень просто. Введите в браузере URL:

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

Если вы видите сообщение "XML-RPC server accepts POST requests only." или похожее, значит XML-RPC включен и доступен. Если сервер возвращает 403 или 404 ошибку, значит протокол отключен.

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

1. Отключение через functions.php (кодовое решение)

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

add_filter('xmlrpc_enabled', '__return_false');

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

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

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

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

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

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

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

Если вы предпочитаете не править код, можно использовать специализированные плагины. Например, Disable XML-RPC — простой и эффективный. Установка и активация плагина автоматически запретит доступ к xmlrpc.php.

Также плагин Clearfy Pro из WPSHOP предлагает опцию отключения XML-RPC и дополнительные настройки безопасности.

Как отключение XML-RPC влияет на функциональность сайта

Перед отключением важно понимать, что некоторые плагины и внешние сервисы могут использовать XML-RPC. Например:

  • Мобильные приложения WordPress;
  • Плагины для кросспостинга;
  • Интеграция с некоторыми сервисами управления контентом.

Если вы не используете такие функции, отключение не повлияет на работу сайта. В противном случае, рассмотрите альтернативу — ограничение доступа по IP или отключение отдельных функций XML-RPC (например, pingback) через фильтры.

Как ограничить только определенные функции XML-RPC

Иногда нужно не отключать весь протокол, а, например, выключить только pingback, который часто используется для DDoS атак. Для этого добавьте в functions.php:

add_filter('xmlrpc_methods', 'wpengine_filter_xmlrpc_methods');
function wpengine_filter_xmlrpc_methods($methods) {
    unset($methods['pingback.ping']);
    return $methods;
}

Этот код убирает метод pingback, оставляя остальной функционал XML-RPC доступным.

Дополнительные советы по безопасности на WPengine

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

  • Использовать плагин безопасности, например Clearfy Pro, который умеет отключать неиспользуемые функции, блокировать брутфорс и оптимизировать сайт.
  • Настроить двухфакторную аутентификацию для администраторов;
  • Регулярно обновлять ядро WordPress, темы и плагины;
  • Ограничить доступ к панели управления по IP;
  • Использовать SSL и CDN для защиты и ускорения сайта.
WooCommerce: решение проблемы не отображения атрибутов вариативных товаров
05.06.2026
Как разделить базу данных WordPress по таблицам для улучшения производительности
09.04.2026
Как разделить базу данных WordPress по таблицам для улучшения производительности
21.02.2026
Автоматическое обновление остатков и цен товаров в WooCommerce с данными от поставщиков
20.07.2026
Как автоматизировать управление ролями в WordPress с помощью кода
14.02.2026