XML-RPC в WordPress часто отключают «на всякий случай», а потом внезапно перестают работать мобильные приложения, внешние публикации и старые интеграции. Проблема в том, что XML-RPC и REST API решают похожие задачи, но живут отдельно. Если у сайта нет легаси-сервисов, XML-RPC действительно можно убрать. Если они есть — сначала нужно понять, кто именно его использует.
Когда XML-RPC мешает, а когда его лучше оставить
На практике XML-RPC чаще всего отключают из-за брутфорса по xmlrpc.php, лишней поверхности атаки и ненужных запросов. Но сам по себе файл не всегда проблема: если сайт не принимает удалённые публикации, не синхронизируется со сторонними сервисами и не обслуживает старые клиенты, отключение обычно проходит безболезненно.
Оставить XML-RPC стоит, если у вас есть хотя бы один из этих сценариев:
- публикация через старые мобильные приложения WordPress;
- интеграция с сервисами, которые до сих пор используют XML-RPC вместо REST API;
- удалённая работа с несколькими сайтами через старые десктопные клиенты;
- кастомный код или плагин, который явно обращается к
xmlrpc.php.
Диагностика: как понять, используется ли XML-RPC сейчас
Перед отключением проверьте логи веб-сервера и доступность файла. Если в access-логах есть регулярные обращения к /xmlrpc.php, это уже сигнал, что кто-то или что-то его дергает. Если обращений нет, но у вас есть внешние интеграции, всё равно лучше пройтись по списку сервисов вручную.
Что проверить в первую очередь
- access-лог Nginx или Apache за последние 7–30 дней;
- настройки плагинов синхронизации и публикации;
- мобильные приложения, подключённые к сайту;
- кастомные интеграции через
wp_remote_post()или внешние клиенты; - не использует ли сайт Jetpack или похожий сервис, которому может понадобиться удалённый доступ.
Если у вас есть доступ к серверу, можно быстро посмотреть обращения по логам. Для Nginx это обычно выглядит так:
grep