La vitesse de cette page TTFB … LCP …
Uncategorized

Accélérer Contact Form 7

Selim Koç 5 min de lecture

Open source · Rufo

Contact Form 7.
Uniquement là où il a sa place.

Rufo supprime automatiquement les fichiers CSS et JavaScript inutilisés de Contact Form 7 sur chaque page sans formulaire. Gratuit sur WordPress.org.

Le problème

5 millions de sites.
Chaque page ralentie.

Saviez-vous que le plugin Contact Form 7, créé par Takayuki Miyoshi, est utilisé sur plus de 5 millions de sites WordPress ? C’est depuis des années la référence des formulaires de contact sous WordPress. Il regorge de fonctionnalités et se révèle très simple à utiliser. Mais il pose un vrai problème de vitesse : Contact Form 7 ajoute ses fichiers CSS et JavaScript à chaque page de votre site, même lorsqu’elle ne contient aucun formulaire. Ces fichiers ne sont pas énormes, mais ils ralentissent quand même votre site. Un vrai souci, à l’heure où tout le monde cherche à accélérer son site.

Ce que fait Rufo

Les fichiers, uniquement là où vivent les formulaires.

/contactContient un formulaire Contact Form 7
Fichiers CF7 chargés
/blog, /about, /shop …Aucun formulaire sur la page
Supprimés

Automatique. Rien à configurer.

Installation

Opérationnel en une minute.

  1. Connectez-vous au tableau de bord d’administration WordPress.
  2. Ouvrez Extensions dans le menu de gauche.
  3. Cliquez sur Ajouter une extension.
  4. Recherchez « Rufo ».
  5. Installez et activez. C’est tout.

Pour le désinstaller, désactivez-le puis supprimez-le. Rufo n’utilise ni base de données ni aucune autre ressource sur votre site.

Le guide

Vous préférez le code ? Voici comment faire.

Deux façons d’empêcher Contact Form 7 de charger ses fichiers sur les pages sans formulaire.

Bien, le problème est identifié. Passons aux solutions. Voici deux options pour retirer ces fichiers des pages sans formulaire de contact :

Option 1 : Code PHP personnalisé

Vous pouvez écrire un peu de code PHP personnalisé et l’ajouter au fichier functions.php de votre thème. Ce code indique à WordPress de ne pas charger les fichiers de Contact Form 7 sur les pages sans formulaire de contact.

Mais attention ! Si vous modifiez un thème susceptible d’être mis à jour plus tard, mieux vaut utiliser un thème enfant. Ainsi, vos modifications ne disparaîtront pas lors de la mise à jour du thème principal.

Il existe deux façons de procéder :

Option 1, A. Utiliser les informations exactes de la page

Si vous connaissez l’ID de la page qui contient le formulaire de contact, vous pouvez utiliser ce code. Il indique à WordPress de ne pas charger les fichiers de Contact Form 7 sur la page dont l’ID est spécifié.

if ( !is_singular() && get_the_ID() != 65 ) {
        add_filter( 'wpcf7_load_js', '__return_false' ); 
        add_filter( 'wpcf7_load_css', '__return_false' );
}

Si vous avez des formulaires de contact sur plusieurs pages, dont les ID sont 65 et 99 :

if ( !is_singular() && !in_array(get_the_ID(), [65,99]) ) {
        add_filter( 'wpcf7_load_js', '__return_false' ); 
        add_filter( 'wpcf7_load_css', '__return_false' );
}

Si vous préférez utiliser le slug de la page plutôt que son ID.

if ( !is_singular() ) { 

    $page_slug = get_post_field( 'post_name', get_queried_object_id() );
    $excluded_slugs = ['example-page-slug-1', 'example-page-slug-2']; 
    
    // Add your excluded slugs here 
    if ( !in_array($page_slug, $excluded_slugs) ) { 
          add_filter( 'wpcf7_load_js', '__return_false' ); 
          add_filter( 'wpcf7_load_css', '__return_false' ); 
    } 
}

Option 1, B. Rechercher le shortcode du formulaire de contact dans le contenu de la page :

Ce code vérifie si le contenu d’une page contient le shortcode de Contact Form 7. S’il ne le trouve pas, il empêche le chargement des fichiers CSS et JavaScript sur cette page.

function globaliser_page_has_contact_form() 
     {

        global $post;

        if ( is_singular() ) 
        {
           $content = $post->post_content;   
           if ( has_shortcode( $content, 'contact-form-7' ) ) 
           {
             return true;
           }
        }
        return false;
     }


     if ( !globaliser_page_has_contact_form() ) 
     {
         add_filter( 'wpcf7_load_js', '__return_false' ); 
         add_filter( 'wpcf7_load_css', '__return_false' );
     }

Option 2 : Plugin WordPress Rufo

Vous ne voulez pas toucher au code ? Aucun problème ! Vous pouvez aussi utiliser le plugin WordPress Rufo. Cet outil pratique détecte automatiquement les pages sans formulaire de contact et supprime les fichiers CSS et JavaScript inutiles. Une solution plus simple et plus accessible que d’écrire du code sur mesure.

Il fait la même chose que la seconde méthode ci-dessus : il supprime automatiquement les fichiers CSS et JavaScript des pages sans formulaire de contact.

Pourquoi avoir créé un plugin plutôt que de simplement utiliser du code ? Certains suggèrent de modifier directement le plugin Contact Form 7, mais dans l’univers WordPress, ce n’est pas une bonne idée.

De plus, en cherchant en ligne, nous avons constaté que les autres solutions proposent elles aussi d’ajouter du code. Nous avons donc créé ce plugin pour simplifier la vie de tous, en particulier de ceux qui ne sont pas à l’aise avec la technique.

Et si vous souhaitez créer vos propres plugins WordPress avec une architecture élégante appelée MVC, nous avons un autre plugin, ATA, qui peut vous y aider. Mais ça, c’est une autre histoire !

Votre réussite pourrait être la prochaine.

Des questions ? Nous sommes là pour vous aider à faire le bon choix.

Votre réussite pourrait être la prochaine.

Une question ? Nous vous aidons à faire le bon choix.