Si gestionas un sitio web en WordPress, tarde o temprano te toparás con un archivo llamado xmlrpc.php en la raíz de tu instalación. Aunque discreto, este archivo es una pieza histórica dentro del ecosistema WordPress. Durante años fue esencial para permitir la publicación remota, conectar apps móviles o integrar plugins avanzados como Jetpack.
Sin embargo, los tiempos han cambiado. Hoy en día, xmlrpc.php es más una fuente potencial de vulnerabilidades que una necesidad real. En este artículo te explicamos qué hace, por qué sigue presente, qué riesgos supone y cómo puedes desactivarlo correctamente si no lo necesitas.
xmlrpc.php es un archivo que permite que aplicaciones externas se comuniquen con WordPress utilizando el protocolo XML-RPC, un estándar que codifica comandos en XML y los transmite vía HTTP.
Este archivo permite, entre otras cosas:
Fue especialmente útil cuando los dispositivos móviles comenzaron a integrarse en la administración de contenido, en una época anterior a la llegada de la REST API.
La funcionalidad remota que ofrecía era clave antes de que WordPress incorporase una API moderna. Entre sus usos más comunes:
Desde WordPress 3.5, xmlrpc.php se activa por defecto. Sin embargo, desde WordPress 4.7, la REST API es el método preferido y más seguro para integrar sistemas externos.
| Característica | xmlrpc.php | REST API de WordPress |
|---|---|---|
| Formato de datos | XML | JSON |
| Protocolo | XML-RPC sobre HTTP | RESTful HTTP |
| Autenticación | Usuario/Contraseña | OAuth, Application Passwords |
| Extensibilidad | Limitada | Muy flexible |
| Seguridad | Vulnerable a fuerza bruta/DDoS | Autenticación más robusta |
| Estado actual | Deprecado (pero activo) | Recomendado desde WP 4.7 |
Conclusión: hoy en día, REST API ofrece mayor seguridad, mejor rendimiento y una integración más sencilla para desarrolladores.
Aunque útil en su momento, xmlrpc.php es un objetivo habitual de ataques automatizados:
system.multicall).Abre https://tusitio.com/xmlrpc.php en el navegador.
"XML-RPC server accepts POST requests only" → está habilitado.curl -d "<?xml version='1.0'?><methodCall><methodName>system.listMethods</methodName></methodCall>" https://tusitio.com/xmlrpc.php
Lenguaje del código: HTML, XML (xml)
.htaccess (servidores Apache)Edita el archivo .htaccess en el directorio raíz (/public_html) y añade:
<Files xmlrpc.php>
Order Allow,Deny
Deny from all
</Files>
Lenguaje del código: HTML, XML (xml)
Para Apache 2.4 o superior:
<Files "xmlrpc.php">
Require all denied
</Files>
Lenguaje del código: HTML, XML (xml)
Añade esto en tu bloque del servidor (server {}) dentro de nginx.conf:
location = /xmlrpc.php {
deny all;
}
Recuerda reiniciar Nginx después:
sudo nginx -t
sudo systemctl reload nginx
Solo en casos muy concretos:
⚠️ Si no estás seguro, lo más recomendable es desactivarlo. La mayoría de servicios actuales ya utilizan la REST API.
xmlrpc.php?Es un archivo del núcleo de WordPress que permite conexiones remotas usando el protocolo XML-RPC.
No siempre. Si no lo usas, representa una puerta de entrada innecesaria para ataques automatizados.
No se recomienda eliminar archivos del núcleo. Basta con bloquearlo por .htaccess o nginx.conf.
No. Este archivo no tiene relación con el rastreo o posicionamiento de tu sitio.
xmlrpc.php fue vital en los inicios de WordPress, pero hoy está casi obsoleto. Si no lo necesitas, desactivarlo es una medida recomendada para reforzar la seguridad de tu web.
La clave está en conocer sus funciones, evaluar si tienes alguna dependencia y actuar en consecuencia. Porque en un entorno cada vez más expuesto a ciberataques, cerrar accesos innecesarios es siempre buena práctica.
