¿Estás usando el plugin Contact Form 7 con recaptcha en tu sitio web WordPress? Si la respuesta es sí, es probable que haya notado la insignia de Google Recaptcha en cada página de su sitio.
El último Recaptcha de Google es genial – hace un excelente trabajo protegiendo su correo electrónico del spam que se obtendría de los formularios de contacto del sitio web. Pero cargar el script recaptcha en cada página (incluso si no tiene un formulario de contacto en ella) no tiene mucho sentido, y afecta a la velocidad de carga del sitio web.
Así que aquí encontrarás una solución simple pero efectiva de cómo cargar automáticamente el script recaptcha sólo en las páginas donde realmente está el formulario de contacto.
Cómo cargar recaptcha para Contact Form 7 sólo en las páginas donde existe el formulario de contacto
Por defecto Contact Form 7 carga recaptcha en cada post o página de WordPress. Muestra la insignia de recaptcha, y carga un script externo que aumenta el tiempo de carga del sitio web (no mucho, pero sigue sumando).
Esto es lo que tienes que hacer para evitarlo:
- Abre el panel de administración de WordPress, y ve a Apariencia >> Editor de temas.
- Haz clic en el archivo functions. php del tema, y añade esta función al final del archivo:
add_action('wp_print_scripts', function () {
global $post;
if ( is_a( $post, 'WP_Post' ) && !has_shortcode( $post->post_content, 'contact-form-7') ) {
wp_dequeue_script( 'google-recaptcha' );
wp_dequeue_script( 'wpcf7-recaptcha' );
}
});
Así es como debería verse:

No olvides guardar los cambios (haz clic en el botón Actualizar archivo ).
La función es bastante simple y directa – comprueba si la página tiene un formulario de contacto 7 shortcode en ella. Si el shortcode no se encuentra, la función elimina el script Google recaptcha de la cola de scripts.
¿Te haresultado útil este tutorial?
¡No olvides compartirlo!