Jetpack y XML-RPC
XML-RPC es un protocolo de comunicación que Jetpack utiliza para conectar tu sitio con WordPress.com. Obtén más información sobre XML-RPC y cómo hace posible el funcionamiento de Jetpack.
¿Qué es XML-RPC?
XML-RPC es un protocolo que permite la comunicación entre tu web y servidores externos. Jetpack utiliza este protocolo para conectar tu sitio con WordPress.com. El software principal de WordPress es compatible con XML-RPC desde la versión 3.4 de WordPress y se considera una herramienta estable. Puedes obtener más información sobre XML-RPC de WordPress API y cómo se puede utilizar en el los recursos para desarrolladores de WordPress.org.
¿Cómo funciona XML-RPC?
Con Jetpack, tu sitio se convierte en un servidor XML-RPC, de modo que WordPress.com puede comunicarse mientras establece una conexión con WordPress.com. Al igual que otras implementaciones de API, requiere una lista predefinida de procedimientos que se puedan invocar de forma remota, así como una lista específica de los datos que puede proporcionar.
¿Está obsoleto XML-RPC?
Aunque XML-RPC ha perdido popularidad, todavía se usa mucho. Aunque las API más recientes suelen basarse en otros estándares, como REST o GraphQL, XML-RPC está integrado en un gran número de sistemas existentes, por lo que no desaparecerá en un futuro próximo.
¿Se ha eliminado XML-RPC de PHP?
La extensión de XML-RPC de PHP (PECL) proporciona funcionalidades para simplificar el desarrollo de API XML-RPC. A partir de PHP 8.0, la extensión dejó de incluirse con PHP y debe instalarse por separado.
Jetpack no utiliza esta extensión. Los sitios de Jetpack no se ven afectados por este cambio. Jetpack incluye su propia implementación de XML-RPC, que no depende de esta extensión de PHP.
¿Qué problemas de seguridad plantea el uso de XML-RPC?
Como ocurre con la mayoría de las tecnologías, no es segura ni vulnerable por sí misma. Todo depende de la implementación concreta, y Jetpack ofrece la forma más segura de utilizarla.
Las integraciones habituales con una API XML-RPC envían un nombre de usuario y una contraseña en texto plano para facilitar la comunicación entre tu web y el servicio que la utiliza. Esto hace que el uso de esta API sea menos seguro. Sin embargo, la integración XML-RPC de Jetpack es diferente.
Algunos plugins de seguridad y firewalls del proveedor de hosting bloquean xmlrpc.php por completo. Bloquearlo impide que WordPress.com llegue a tu sitio y rompe la conexión con Jetpack. Jetpack muestra un aviso en el panel de administración de WordPress cuando esto ocurre; consulta nuestra página de soporte para solucionar problemas de Jetpack para saber cómo resolverlo.
¿En qué se diferencia la integración XML-RPC de Jetpack?
Jetpack no envía un nombre de usuario ni una contraseña a través de ninguna API para conectar tu sitio con WordPress.com. Nuestro método de conexión es diferente porque utilizamos un sistema basado en tokens, similar a OAuth. Esto significa que, en lugar de enviar un nombre de usuario y una contraseña, Jetpack genera una cadena especial denominada firma de API, que se adjunta a todas las solicitudes de API. Antes de enviar la solicitud, la firma de API se codifica mediante un token secreto.
Piensa en el token secreto como un cifrado que se utiliza para convertir un mensaje en un código secreto. Primero, el remitente del mensaje utiliza ese cifrado para convertir el mensaje en un código secreto. Después, el destinatario del mensaje, que también tiene acceso al cifrado, puede usarlo para volver a convertir el código secreto en el mensaje original. El uso que hace Jetpack de XML-RPC funciona de forma muy similar.
El único lugar donde existe el token secreto (también llamado cifrado) es en tu sitio de Jetpack y en el servidor de WordPress.com con el que se comunica tu sitio. Esto significa que, aunque la solicitud de API fuera interceptada durante el trayecto, no habría forma de descifrar la firma de API, porque para descifrar esa firma de API es necesario tener acceso al token secreto.
Este enfoque se considera seguro y fiable en cualquier situación, y lo utilizan otros estándares de API, incluido REST.

¿Qué ventajas ofrece utilizar XML-RPC en lugar de la API REST?
Para Jetpack, todo se reduce a la estabilidad. Seguir utilizando XML-RPC significa que quienes usan versiones antiguas de Jetpack todavía pueden aprovechar las funciones de Jetpack. Aunque recomendamos encarecidamente mantener tu plugin de Jetpack actualizado, entendemos que no siempre es posible. No queremos abandonar a quienes utilizan versiones antiguas del plugin, así que tenemos la intención de seguir usando XML-RPC todo el tiempo que podamos.
Si en algún momento del futuro tenemos que hacer la transición a la API REST, comunicaremos este cambio a nuestros usuarios antes de llevarlo a cabo.
Still need help?
Please contact support. We’re happy to advise.