
Índice
Por qué deberías desactivar XML-RPC en WordPress
Si has llegado aquí buscando cómo desactivar XML-RPC en WordPress, seguramente has visto picos de tráfico raros, el sitio lento sin motivo aparente, o intentos de acceso por montones en tus registros. Suena conocido, ¿verdad? XML-RPC es una API antigua —viene de 2008— que permite ejecutar acciones remotas: publicar contenido, gestionar comentarios, autenticar usuarios. El problema es que cada vez menos plugins y servicios la usan, pero sigue activa por defecto en todas las instalaciones. Y eso la ha convertido en uno de los vectores de ataque más explotados.
El riesgo gordo está en el método system.multicall, que deja enviar cientos o miles de peticiones de autenticación dentro de una sola solicitud HTTP. O dicho de otro modo: un atacante puede probar miles de combinaciones de usuario y contraseña esquivando en parte los sistemas que limitan los intentos, y de paso saturar tu servidor con muy pocas conexiones. Es la técnica habitual en los DDoS a capa de aplicación.
¿Qué es XML-RPC y para qué se usaba?
XML-RPC nació como protocolo de comunicación remota basado en XML sobre HTTP. WordPress lo habilitó por defecto a partir de la versión 3.5 y permitía:
- Publicar y editar entradas desde aplicaciones de escritorio como Open Live Writer o clientes móviles antiguos.
- Conectar el sitio con servicios externos, sobre todo el histórico de Jetpack y algunos plugins de autopublicación en redes sociales.
- Realizar pingbacks y trackbacks entre sitios.
- Gestionar contenido a distancia mediante plugins de publicación programada.
Pero eso era antes. La API REST de WordPress, introducida en la versión 4.4 y nativa desde la 4.7, cubre prácticamente todos estos casos de forma más segura y con autenticación mediante tokens (Application Passwords). Por eso, en la mayoría de instalaciones actuales, XML-RPC es simplemente una puerta abierta que no hace falta.
Cómo comprobar si XML-RPC está activo en tu sitio
Antes de bloquear nada, comprueba que de verdad está expuesto. Abre esta URL en tu navegador:
https://tudominio.com/xmlrpc.php
Si responde con el mensaje «XML-RPC server accepts only POST requests», está activo. Si te devuelve un 403 o un 404, ya está bloqueado. También puedes lanzar una petición POST desde la terminal:
curl -X POST https://tudominio.com/xmlrpc.php -d "<methodCall><methodName>system.listMethods</methodName></methodCall>"
Si te llega una lista de métodos, tu XML-RPC está completamente abierto.
Métodos para desactivar XML-RPC en WordPress
1. Desactivarlo con código (recomendado)
La forma más limpia es interceptar las peticiones antes de que lleguen al servidor XML-RPC. Añade esto al functions.php de tu tema hijo o, mejor todavía, a un plugin de funcionalidades propio:
add_filter('xmlrpc_enabled', '__return_false');
¿Quieres desactivar también los pingbacks para evitar ataques de amplificación? Añade:
add_filter('xmlrpc_methods', function($methods) {
unset($methods['pingback.ping']);
unset($methods['pingback.extensions.getPingbacks']);
return $methods;
});
Ojo con un detalle: el archivo xmlrpc.php seguirá siendo accesible físicamente. Si quieres eliminar también la carga del servidor, añade esta regla en tu .htaccess (Apache):
<Files xmlrpc.php>
Order Allow,Deny
Deny from all
</Files>
Y en Nginx, la equivalente:
location = /xmlrpc.php { deny all; return 403; }
2. Desactivarlo con plugins
Si prefieres no tocar código, hay opciones fiables en el repositorio oficial:
- Disable XML-RPC: plugin ligero que desactiva el protocolo con un clic, con opción de bloquearlo total o parcialmente.
- Wordfence Security: además de firewall, permite bloquear el acceso a xmlrpc.php desde sus opciones.
- All In One WP Security & Firewall: incluye una sección específica para desactivar XML-RPC y los pingbacks.
3. Bloquearlo en el hosting o CDN
Con Cloudflare puedes crear una regla de firewall que bloquee cualquier petición a /xmlrpc.php antes de que llegue a tu servidor. Contra un DDoS, es la solución más eficiente. Muchos hostings gestionados (Kinsta, WP Engine, SiteGround) ya lo bloquean por defecto; revisa la documentación de tu proveedor por si acaso.
Cuándo NO debes desactivar XML-RPC
Aquí conviene frenar un momento. Antes de bloquear, asegúrate de que no lo estás usando:
- Jetpack: las versiones antiguas dependían de XML-RPC para hablar con WordPress.com. Las actuales usan la API REST, pero verifica tu configuración.
- La app móvil oficial de WordPress: las anteriores a 2021 usaban XML-RPC. Si la tienes actualizada, no hay problema.
- Plugins de terceros: algunos de sindicación, migración o publicación remota la requieren. Revisa su documentación antes de cortar el acceso.
¿Lo necesitas para algún servicio concreto? Entonces mejor restringirlo por IP en lugar de desactivarlo del todo, dejando entrar solo las direcciones de ese servicio legítimo.
XML-RPC y los ataques de fuerza bruta: cómo se relacionan
Los ataques más comunes que explotan XML-RPC son estos:
- Fuerza bruta multicall: miles de intentos de usuario/contraseña empaquetados en una sola petición, burlando los sistemas que cuentan intentos por conexión.
- Pingback DDoS: el atacante usa tu sitio para lanzar peticiones pingback hacia un tercero. Tu web se convierte en un arma de amplificación DDoS, aunque tú no seas el objetivo.
- Saturación de recursos: procesar XML es intensivo en CPU; con peticiones malformadas basta poco ancho de banda para colapsar el servidor.
Bloquear XML-RPC elimina los tres vectores de raíz. Y complementa bien otras medidas como la autenticación en dos pasos o la limitación de intentos de login.
Preguntas frecuentes
¿Desactivar XML-RPC afecta el SEO?
No. Los buscadores no usan XML-RPC para rastrear ni indexar tu sitio. Cero impacto en posicionamiento.
¿WordPress lo desactivará en el futuro?
No hay fecha oficial. Pero la tendencia está clara: la API REST lo sustituye y el equipo de WordPress mantiene el archivo solo por compatibilidad retroactiva.
¿Puedo desactivarlo solo temporalmente?
Sí. Con el filtro xmlrpc_enabled puedes condicionar la desactivación a un periodo de tiempo, o revertirla quitando el código.
Conclusión
Pocas mejoras de seguridad dan tanto por tan poco como desactivar XML-RPC. En la gran mayoría de instalaciones modernas este protocolo no se usa para nada legítimo y, en cambio, deja la puerta abierta a fuerza bruta, DDoS por amplificación y saturación del servidor. Verifica primero que ningún servicio tuyo lo necesita, aplica el bloqueo a nivel de aplicación y de servidor, y vigila tus registros para confirmar que las peticiones a xmlrpc.php dejan de llegar. Si tienes dudas con tu configuración o prefieres que alguien se encargue, en RedServicio (redservicio.net) encontramos y resolvemos cualquier problema técnico de tu web, desde hardening de seguridad hasta optimización de rendimiento.

