blog webempresa

¿Cómo solucionar problemas con las peticiones externas HTTP en WordPress?

por | Jul 4, 2023 | Errores en WordPress

¿Cómo enviar emails a usuarios registrados en WordPress?

En el mundo de WordPress, hay una serie de desafíos técnicos que pueden surgir y que requieren nuestra atención. Uno de estos desafíos puede ser el manejo de las peticiones externas HTTP en WordPress. Aunque estas peticiones pueden ser útiles para ciertas funciones, también pueden causar problemas de rendimiento en nuestro sitio web. Por lo tanto, es crucial entender cómo podemos solucionar estos problemas para mantener nuestro sitio funcionando de manera óptima.

En esta guía, vamos a explorar cómo podemos abordar y resolver problemas relacionados con las peticiones externas HTTP en WordPress. Este tema puede parecer un poco técnico, pero vamos a desglosarlo en pasos sencillos y comprensibles. Ya sea que seamos principiantes en WordPress o que tengamos experiencia, esta guía nos proporcionará las herramientas y el conocimiento necesarios para manejar estas peticiones con confianza.

Así que, si estamos listo para llevar el manejo de WordPress al siguiente nivel, ¡vamos a sumergirnos en este tema!

¿Qué son las peticiones externas HTTP?

 

Ahora que hemos establecido el escenario, es importante entender qué son con exactitud las peticiones externas HTTP y cómo funcionan en el contexto de WordPress. Las peticiones HTTP externas son en esencia solicitudes que nuestro sitio web hace a otros sitios web o servidores. Estas peticiones pueden ser para obtener datos, como actualizaciones de plugins, actualizar temas WordPress, o para enviar datos, como información de seguimiento o telemetría.

En WordPress, estas peticiones HTTP externas son bastante comunes. Por ejemplo, cuando nuestro sitio WordPress verifica si hay actualizaciones para tus plugins o temas, está realizando una petición HTTP externa al servidor de WordPress. Otro ejemplo puede ser cuando un plugin de nuestro sitio necesita obtener información de un servicio externo, como un servicio de análisis de tráfico web o un plugin de redes sociales.

Aunque estas peticiones pueden ser útiles para mantener el sitio actualizado y algunas opciones extras, también pueden causar problemas si no se atienden de forma correcta. Por ejemplo, si estas peticiones se ralentizan o se bloquean, pueden afectar al rendimiento del sitio, lo que puede llevar a una mala experiencia para tus visitantes.

Por lo tanto, es crucial entender cómo funcionan estas peticiones HTTP externas y cómo podemos gestionarlas de manera efectiva para mantener nuestro sitio WordPress funcionando sin problemas. En los siguientes puntos, vamos a explorar cómo podemos hacer eso.

¿Cómo ver las peticiones externas HTTP en WordPress?

 

En esta etapa, es importante supervisar y controlar las peticiones HTTP que realiza nuestro sitio. Para facilitar este proceso, utilizaremos un plugin que nos permitirá verificar todas estas conexiones y desactivarlas según sea necesario. De esta manera, podremos optimizar la retención de HTTP y mejorar el rendimiento de nuestro sitio.

    Plugin Query Monitor

     

    El plugin Query Monitor es una herramienta esencial para los desarrolladores que trabajamos con WordPress. Este plugin es como un panel de herramientas, ya que permite la depuración de consultas a la base de datos WordPress, errores de PHP, hooks y acciones, bloques reutilizables Gutenberg, scripts y hojas de estilo en cola, llamadas a la API de HTTP, y más.

    query monitor

    Una de las características avanzadas de Query Monitor es la depuración de llamadas Ajax, llamadas a la API REST, comprobaciones de capacidad de usuario, y soporte completo para temas de bloques y edición completa del sitio. Además, tiene la capacidad de reducir gran parte de su salida por plugin o tema, lo que nos permite determinar de una forma rápida los plugins, temas o funciones que se desempeñan de manera deficiente.

    Por ejemplo, si estamos experimentando problemas con las peticiones externas HTTP en WordPress, Query Monitor puede ser una herramienta invaluable. Podemos usarlo para monitorear las llamadas a la API de HTTP, con el código de respuesta, el componente responsable, y el tiempo que tardó, con alertas para solicitudes fallidas o erróneas. Esto puede ayudarnos a identificar y solucionar problemas con las peticiones HTTP externas.

    Apertura de query monitor

    Para utilizar Query Monitor, solo tenemos que instalarlo y activarlo, en caso de no saber como hacerlo podemos seguir los pasos de nuestra guía como instalar plugin en WordPress. Una vez activado, podemos acceder a su panel en nuestro dashboard WordPress. Recordemos que solo los administradores o superadministradores pueden ver este menú nuevo que genera el plugin.

    Una vez entramos en él vamos a ver una serie de opciones que pueden parecer complicadas, pero lo que vamos a hacer es bajar hasta donde nos indica llamadas API HTTP, es aquí donde podemos ver todas las opciones de llamadas que realiza nuestra web.

    Menu de HTTP

    En caso de no saberlo este plugin podemos también usarlo para verificar otro tipo de errores, sin embargo, el uso más común que se le da a este es para validar este problema en concreto con las peticiones HTTP en WordPress.

    ¿Cómo solucionar problemas con las peticiones externas HTTP en WordPress?

     

    Si queremos ahorrar tiempo y evitar el proceso de desactivar las peticiones externas una por una, podemos utilizar plugins que nos simplifiquen esta tarea. Estos plugins nos permiten controlar y detener todas las peticiones externas de manera más eficiente. Además, también veremos un código que nos ayudará a bloquear todas las peticiones externas en nuestro sitio web. Con estas soluciones, podemos optimizar el rendimiento y la seguridad de nuestro sitio.

    Plugin HTTP request manager

     

    Una vez que hemos instalado el plugin, accedemos a sus ajustes a través de Herramientas > HTTP Request Manager. Aquí encontraremos un menú con las solicitudes HTTP que realiza nuestro sitio en todo momento. Desde este menú, tenemos la opción de bloquear estas llamadas y podemos seleccionar entre las siguientes opciones:

    Registrar solo solicitudes HTTP: registra todas las solicitudes no cron. No se realiza ningún bloqueo.

    Registrar solo solicitudes HTTP (+ solicitudes cron): registra todas las solicitudes, incluido el cron. No se realiza ningún bloqueo.

    Bloque inteligente: registra solicitudes HTTP no cron y bloquea solicitudes utilizando las siguientes reglas.

    • El tiempo de procesamiento de la página que supere los 3 segundos.
    • El número de solicitudes de una sola página que llegue a 3.
    • Establece el tiempo de espera para cada solicitud (excepto las descargas de archivos) en 1 segundo.
    • Establece el número de redireccionamientos por solicitud en 1.

    Bloquear solicitudes externas: se bloquearán todas las solicitudes que no coincidan con nuestro dominio actual. No hay actualizaciones para el núcleo, los complementos y los temas de WordPress.

    Bloquear solicitudes externas (permitir solo WordPress.org): todas las solicitudes que no coincidan con su dominio actual y wordpress.org serán bloqueadas. Permite actualizaciones para el núcleo de WordPress, plugins y temas provenientes del sitio web wordpress.org.

    Selector de operación

    Bloquear peticiones HTTP con código

     

    En WordPress, a veces puede ser necesario bloquear todas las solicitudes HTTP externas por razones de seguridad o rendimiento. Esto se puede lograr mediante la constante WP_HTTP_BLOCK_EXTERNAL. Al definirla como TRUE, estamos indicando a WordPress que bloquee todas las solicitudes HTTP que se dirigen fuera del sitio web. Es como decirle al sitio: “Hey, no quiero que hables con otros sitios sin mi permiso”.

    Ahora bien, en la vida real, rara vez queremos bloquear todas las comunicaciones. Siempre hay excepciones. Es por eso que WordPress nos proporciona otra constante: WP_ACCESSIBLE_HOSTS. Esta constante nos permite definir una lista de dominios a los que se les permitirá realizar solicitudes HTTP, a pesar de la regla general de bloqueo. Por ejemplo en un entorno cotidiano sería:”Sé que te dije que no hables con nadie, pero estos amigos son de confianza, puedes hablar con ellos”.

    /* Bloquear todas las solicitudes HTTP externas */
    define( 'WP_HTTP_BLOCK_EXTERNAL', TRUE );
    /* Dominios no bloqueados por la constante anterior */
    define( 'WP_ACCESSIBLE_HOSTS', 'dominio1.com, dominio2.com' );

    En este código dominio1.com y dominio2.com son los dominios a los que se les permitirá realizar solicitudes HTTP. Podemos agregar tantos dominios como queramos, siempre y cuando estén separados por una coma.

    Recordemos que este tipo de códigos los agregamos en el archivo wp config.php, este archivo lo ubicamos en Administrador de archivos > Public_html > dominio > archivo wp-config.php. Aquí tenemos que agregar el código que hemos visto justo antes del mensaje de 

     

    Ubicación para el código

    Conclusiones

     

    En conclusión, las peticiones externas HTTP son una parte integral de cómo funciona WordPress, pero también pueden causar problemas si no se manejan de forma correcta. Por fortuna, con la ayuda de herramientas como Query Monitor y otros plugins, podemos tener un control más detallado sobre estas peticiones y solucionar cualquier problema que pueda surgir.

    Hemos explorado qué son las peticiones externas HTTP, cómo podemos visualizarlas y cómo podemos desactivarlas si es necesario. También hemos visto cómo podemos utilizar plugins como Query Monitor para ayudarnos a monitorear y depurar estas peticiones.

    Recordemos, la clave para manejar con eficacia las peticiones externas HTTP en WordPress es entender cómo funcionan y tener las herramientas adecuadas a nuestra disposición. Con la información y las herramientas que hemos discutido en esta guía, estar bien equipados para manejar cualquier problema de peticiones HTTP que podamos encontrar.

    Así que, no importa si somos principiantes en WordPress o un desarrollador experimentado, siempre hay algo nuevo que aprender y mejorar.

    ¿Te ha resultado útil este artículo?

    Black Friday 2024