¿WordPress se conecta solo?
¡Sí, como lo oyes, tu web WordPress se está conectando sin tu permiso y sin avisar a WordPress.org! ¡Y lo hace a diario!
Pues sí, desde la versión 2.9, todas las instalaciones de WordPress se conectan en segundo plano, sin avisar, con WordPress.org, con el oscuro objetivo de:
- Comprobar si hay actualizaciones del núcleo de WordPres.
- Comprobar si hay actualizaciones de plugins o temas.
- Comprobar si hay nuevas traducciones.
- Recabar información estadística sobre tus plugins instalados y activos.
- Recabar información estadística sobre tu versión de PHP, MySQL, versión de WordPress e idioma.
¿O pensabas que para completar estos datos hacían algún tipo de encuesta?
¿También los plugins y temas?
Efectivamente, también los plugins y temas, especialmente los premium, se conectan a sus respectivas APIs para comprobar si hay actualizaciones, si tienes la licencia correspondiente, esas cosillas que hacen más amena la vida del administrador.
¡Malditos!
¿Debería evitarlo? ¿Es malo? ¿Cumple el RGPD?
Este comportamiento inocente de WordPress, tus plugins y temas no tienen mayor transcendencia siempre y cuando lo conozcas, pero en ocasiones, sobre todo en entornos de desarrollo, pero también a veces en situaciones más normales, verás un feo error en tu sitio WordPress que te dirá algo así:
Ha sucedido un error inesperado. Puede que algo vaya mal con WordPress.org o con la configuración de este servidor. Si sigues teniendo problemas, por favor, prueba en los foros de soporte.
Y claro, acojona, sobre todo por ese «Puede que algo vaya mal con WordPress.org…«.
Bueno, pues todo tiene solución, por supuesto.
Si alguna vez te encuentras este aviso, o simplemente no quieres interrupciones en entornos de desarrollo en local o remoto, puedes desactivar estas conexiones de WordPress, tus plugins y temas.
Desactivando las conexiones HTTP con una función
Un modo de desactivarlas es añadir este filtro a tu plugin de utilidades:
add_filter( 'pre_http_request', '__return_true', 100 );
Con esta simple línea de código bloqueas toda petición HTTP externa.
Desactivando solo algunas conexiones HTTP con otra función
Ahora bien, si no quieres bloquear todas las conexiones, sino solo algunas, podrías personalizar a tu gusto el siguiente código, que también deberás añadir a tu plugin personal:
function block_api_calls() { global $pagenow; if (( $pagenow == 'plugins.php' ) || ( $pagenow == 'plugin-install.php' ) || ( $pagenow == 'themes.php' ) || ( $pagenow == 'update.php' ) || ( $pagenow == 'index.php' ) || ( $pagenow == 'admin.php' ) || ( $pagenow == 'update-core.php' )){ add_filter( 'pre_http_request', '__return_false', 100 ); } else{ add_filter( 'pre_http_request', '__return_true', 100 ); } } add_action( 'admin_init', 'block_api_calls', 1 );
Solo tienes que añadir/eliminar líneas $pagenow
según necesidad
Desactivando las conexiones HTTP desde wp-config.php
Como ya publiqué en la guía completa de wp-config.php
, también puedes bloquear estas conexiones desde el archivo wp-config.php
, con la posibilidad añadida de poder añadir exclusiones.
Primero bloqueas las peticiones HTTP añadiendo esta línea:
define( 'WP_HTTP_BLOCK_EXTERNAL', true );
Para, a continuación, añadir tus exclusiones así:
define( 'WP_ACCESSIBLE_HOSTS', 'rpc.pingomatic.com, api.wordpress.org,*.github.com, *.ayudawp.com' );
Resumiendo
No es malo que WordPress, tus plugins y temas se conecten con sus respectivas APIs, pero es mejor si…
- Sabes que está pasando
- Sabes cómo controlarlo
Si este artículo ha cumplido con estos objetivos me doy por satisfecho 🙂
¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!
Mi wordpress no conecta con la api de wordpress y por tanto no me deja buscar plugins ni actualizarlos.