Den här sidans hastighet TTFB … LCP …
Uncategorized

Snabba upp Contact Form 7

Selim Koç 4 min läsning

Öppen källkod · Rufo

Contact Form 7.
Bara där det hör hemma.

Rufo tar automatiskt bort de oanvända CSS- och JavaScript-filerna från Contact Form 7 på varje sida som saknar formulär. Gratis på WordPress.org.

Problemet

5 miljoner sajter.
Varje sida långsammare.

Visste du att pluginet Contact Form 7, skapat av Takayuki Miyoshi, används på över 5 miljoner WordPress-sajter? Det har varit förstahandsvalet för kontaktformulär i WordPress i åratal. Det är fullt av funktioner och väldigt enkelt att använda. Men när det gäller hastighet finns ett stort problem. Contact Form 7 lägger till sina CSS- och JavaScript-filer på varenda sida på din webbplats, även där det inte finns något kontaktformulär. Och även om filerna inte är stora gör de ändå din sajt långsammare. Det spelar roll, särskilt nu när alla försöker göra sina webbplatser snabbare.

Vad Rufo gör

Filerna bara där formulären finns.

/contactHar ett formulär från Contact Form 7
CF7-filer laddas
/blog, /about, /shop …Inget formulär på sidan
Borttagna

Automatiskt. Inget att konfigurera.

Installera

Igång på en minut.

  1. Logga in på din WordPress-adminpanel.
  2. Öppna Tillägg i vänstermenyn.
  3. Klicka på Lägg till nytt tillägg.
  4. Sök efter ”Rufo”.
  5. Installera och aktivera. Klart.

Vill du avinstallera? Inaktivera och radera det. Rufo använder ingen databas eller andra resurser på din sajt.

Guiden

Föredrar du kod? Så här fungerar det.

Två sätt att hindra Contact Form 7 från att ladda sina filer på sidor utan formulär.

Okej, vi har identifierat problemet. Nu till lösningarna. Här är två sätt att ta bort filerna från sidor utan kontaktformulär:

Alternativ 1: Egen PHP-kod

Du kan skriva lite egen PHP-kod och lägga till den i ditt temas functions.php. Koden talar om för WordPress att inte ladda Contact Form 7-filerna på sidor där det inte finns några kontaktformulär.

Men vänta lite! Om du gör ändringar i ett tema som kan komma att uppdateras senare är det bäst att använda ett barntema. Då försvinner inte dina ändringar när huvudtemat uppdateras.

Det finns två sätt att göra det här:

Alternativ 1, A. Använd exakt sidinformation

Om du vet ID:t för sidan med kontaktformuläret kan du använda den här koden. Den talar om för WordPress att inte ladda Contact Form 7-filerna på sidan med angivet ID.

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

Om du har kontaktformulär på flera sidor, med ID 65 och 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' );
}

Om du vill använda sidans slug i stället för 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' ); 
    } 
}

Alternativ 1, B. Sök igenom sidans innehåll efter kontaktformulärets shortcode:

Den här koden kontrollerar om en sidas innehåll innehåller shortcoden för Contact Form 7. Hittar den ingen shortcode stoppas CSS- och JavaScript-filerna från att laddas på sidan.

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' );
     }

Alternativ 2: WordPress-pluginet Rufo

Vill du slippa pilla med kod? Inga problem! Du kan i stället använda WordPress-pluginet Rufo. Det smidiga verktyget hittar automatiskt sidor utan kontaktformulär och tar bort de onödiga CSS- och JavaScript-filerna. En enklare och mer användarvänlig lösning än att skriva egen kod.

Det gör samma sak som den andra metoden ovan: tar automatiskt bort CSS- och JavaScript-filer från sidor utan kontaktformulär.

Varför gjorde vi ett plugin för det här i stället för att bara använda kod? Vissa föreslår att man redigerar pluginet Contact Form 7 direkt, men det är ingen bra idé i WordPress-världen.

Dessutom såg vi att andra lösningar på nätet också går ut på att lägga till kod. Så vi gjorde det här pluginet för att göra det enklare för alla, särskilt för dig som inte är så tekniskt lagd.

Och om du är intresserad av att bygga egna WordPress-plugins med en snygg arkitektur som kallas MVC har vi ett annat plugin, ATA, som kan hjälpa dig. Men det är en annan historia!

Din framgångssaga kan bli nästa.

Har du frågor? Vi hjälper dig att ta rätt beslut.

Nästa framgångshistoria kan bli din.

Frågor? Vi hjälper dig att ta rätt beslut.