Optimiser le chargement de Contact Form 7 et reCaptcha pour des performances optimales

Optimiser le chargement de Contact Form 7 et reCaptcha pour des performances optimales
WordPress Lecture 2 minutes • 9 septembre 2024

Voici comment optimiser les performances de votre site si vous utilisez l'extension Contact Form 7 et également si vous avez activé la protection reCaptcha de Google. À vous le score PageSpeed au maximum !

Bien charger les ressources JavaScript et CSS de Contact Form 7

Sachez que par défaut, les fichiers scripts et styles de Contact Form 7, et de Google reCaptcha v3 se chargent automatiquement sur toutes les pages et articles de votre site WordPress.
Alors que Google et les utilisateurs exigent des sites internet toujours plus rapides et performants, cette façon de charger les fonctions est contre-productive.

A défaut d'une option proposée par l'auteur du module (pas de solution de sa part intégrée au module à ce jour), voici une solution testée et approuvée pour mettre fin à la charge inutile de votre serveur !

Le code magique pour booster vos performances PageSpeed si vous utilisez Contact Form 7

Copier/coller le code suivant dans le fichier functions.php présent à la racine de votre site thème WordPress :

/**
 * Contact Form 7 : charger les scripts et styles uniquement s'il y a un formulaire sur la page détectée
**/

// Disable contact-form-7 recaptcha enqueue action
remove_action( 'wp_enqueue_scripts', 'wpcf7_recaptcha_enqueue_scripts', 20 );

// Dequeue contact-form-7 scripts
function contact_form_7_dequeue_scripts() {
  wp_dequeue_script( 'contact-form-7' );
}
add_action( 'wpcf7_enqueue_scripts', 'contact_form_7_dequeue_scripts' );

// Dequeue contact-form-7 styles
function contact_form_7_dequeue_styles() {
  wp_dequeue_style( 'contact-form-7' );
  wp_dequeue_style( 'contact-form-7-rtl' );
}
add_action( 'wpcf7_enqueue_styles', 'contact_form_7_dequeue_styles' );

// Trigger contact-form-7 enqueue actions when form shortcode is executed
function contact_form_7_enqueue_scripts( $out ) {

// Remove dequeue actions
  remove_action( 'wpcf7_enqueue_scripts', 'contact_form_7_dequeue_scripts' );
  remove_action( 'wpcf7_enqueue_styles', 'contact_form_7_dequeue_styles' );

  // Enqueue contact-form-7 assets
  if ( wpcf7_load_js() ) {
    wpcf7_enqueue_scripts();
  }
  if ( wpcf7_load_css() ) {
    wpcf7_enqueue_styles();
  }
  wpcf7_recaptcha_enqueue_scripts();

  return $out;

}
add_filter( 'shortcode_wpcf7', 'contact_form_7_enqueue_scripts' );

C'est tout, à vous de jouer !

Besoin d'un expert pour améliorer les performances de votre site internet ?

Contactez-moi pour en discuter ensemble !
Recevez un audit et une estimation gratuite des optimisations à apporter à votre site web.

4 réponses à “Optimiser le chargement de Contact Form 7 et reCaptcha pour des performances optimales”

  1. betal dit :

    C’est exactement ce que je cherchais ! Un GRAND merci.

  2. Vincent dit :

    Bonjour,

    j’ai copié ce code dans mon fichier functions.php de mon thème enfant, mais les appels css et js sont toujours présents sur l’ensemble des pages.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *