Uno de los errores con los que me tropezado hace poco, y del que no encontraba ninguna información para resolverlo, es un error con reCAPTCHA del plugin Contact Form 7 justo en el formulario de acceso a WordPress. Veamos qué error nos puede dar y cómo lo resolví.
También te puede interesar:
¿Qué es Divi? Guía de Divi Theme para WordPress
Instalar ESXi 7 en HP MicroServer Gen8
Claves para posicionar tu página web en Google
6 Mejores Herramientas SEO que sí o sí debes de utilizar
Tabla de contenidos
Descripción del error de reCAPTCHA tipo de clave no válido
Este error se produce cuando existe algún conflicto con la configuración de reCAPTCHA en el plugin de Contact Form 7.
El caso es que el error se me dio en el formulario de acceso a WordPress. El problema que esto genera es que no puedes acceder a la configuración del sitio web para revisar la configuración y corregirlo, o desactivar la integración del plugin Contact Form 7 con el módulo de reCAPTCHA que tiene integrado.
Error de reCAPTCHA:
reCAPTCHA: Error para el propietario del sitio web: el tipo de clave no es válido
Este error en principio puede ser porque hayamos seleccionado una versión de reCAPTCHA v3 y en la configuración de Google hayamos seleccionado la versión v2, o viceversa. En cualquier caso, si aun cambiando de versión, sigues sin poder acceder al sitio, te explico otras opciones que puedes probar.
Solución al error de reCAPTCHA en Contact Form 7
La solución primera solución que estuve buscando en un principio, era una solución mediante código para añadir en nuestro plugin de funciones. El código que encontré era interesante, porque desactiva el módulo de reCAPTCHA en todas las páginas excepto en las que le indiquemos. Normalmente se utiliza para desactivarlo en todas las páginas excepto en nuestra página de contacto por ejemplo.
El código sería el siguiente:
function desactivar_recaptcha(){
if ( !is_page('contacto') ) {
wp_dequeue_script('google-recaptcha');
}
}
add_action( 'wp_enqueue_scripts', 'desactivar_recaptcha' );
Este tipo de código, hay bastantes variantes. Unos para ocultar el icono, otros para desactivarlo por completo, etc. Pero la mayoría no funcionan muy bien.
Otro sería por ejemplo solo cuando en la página exista un formulario de Contact Form 7:
/* Solo cargar Google Recaptcha cuando haya un formulario de Contact Form 7 */
function contactform_dequeue_scripts() {$load_scripts = false;
if( is_singular() ) {
$post = get_post();if( has_shortcode($post->post_content, 'contact-form-7') ) {
$load_scripts = true;
}
}if( ! $load_scripts ) {
wp_dequeue_script( 'contact-form-7' );
wp_dequeue_script('google-recaptcha');
wp_dequeue_style( 'contact-form-7' );
}
}
add_action( 'wp_enqueue_scripts', 'contactform_dequeue_scripts', 99 );
Si ninguno de los dos anteriores, o algunas de sus variantes que encontréis, no os funciona, la otra alternativa que estuve buscando era sobre la base de datos. Es decir, algún update que eliminara las claves desde la tabla de configuración de nuestro sitio wordpress para resetear así la configuración. Pero no encontré nada.
Por última opción, decidí desactivar el plugin como tal desde el sistema de ficheros.
Accedemos a la ruta de los plugins y observé que a parte del plugin Contact Form 7 existía una carpeta llamada login-form-recaptcha. Parece que esta carpeta se crea cuando activamos a integración con reCAPTCHA dentro de Contact Form 7.
Así que procedí a su desactivación manual, renombrando el nombre de la carpeta.
Una vez renombrado, compruebo que la web funciona correctamente. Acceso a un post, y veo que carga sin problemas, incluso en una página con un formulario de Contact Form 7. Y después accedí al formulario de acceso a WorPress, y veo que ya no muestra el error en cuestión.
Confirmado, el problema se ha resuelto. Para finalizar, elimino la carpeta que he renombrado, y reviso la configuración de la integración con reCAPTCHA y veo que sigue activa. Eso quiere decir que en la página de contacto sigue funcionando, y que solo lo he eliminado en el formulario de acceso a WordPress.
Conclusiones
La integración entre Contact Form 7 y reCAPTCHA yo siempre la he realizado con un plugin externo, nunca con la integración de Contact Form 7. Y en verdad, creo que es lo mejor. Porque si te encuentras con un problema de este tipo te puedes quedar bloqueado y sin acceder a la web, y encima si lo desactivas manualmente, perderías los formularios de contacto. Aun así, esta solución me ha salvado del apuro. Pero ya sé que para otra vez utilizaré un plugin independiente de Contact Form 7 para evitar problemas.