Hastigheten på denne siden TTFB … LCP …
Uncategorized

Gjør Contact Form 7 raskere

Selim Koç 4 min lesetid

Åpen kildekode · Rufo

Contact Form 7.
Bare der det hører hjemme.

Rufo fjerner automatisk de ubrukte CSS- og JavaScript-filene fra Contact Form 7 på alle sider uten skjema. Gratis på WordPress.org.

Problemet

5 millioner nettsteder.
Hver eneste side tregere.

Visste du at Contact Form 7-pluginen, laget av Takayuki Miyoshi, brukes på over 5 millioner WordPress-nettsteder? Den har vært førstevalget for kontaktskjemaer i WordPress i årevis. Den er full av funksjoner og svært enkel å bruke. Men når det gjelder hastighet, har den et stort problem. Contact Form 7 legger CSS- og JavaScript-filene sine inn på hver eneste side av nettstedet ditt, også der det ikke finnes noe kontaktskjema. Filene er ikke store, men de gjør likevel nettstedet tregere. Og det betyr mye, særlig nå som alle prøver å gjøre nettstedene sine raskere.

Dette gjør Rufo

Filene bare der skjemaene bor.

/contactHar et Contact Form 7-skjema
CF7-filer lastet
/blog, /about, /shop …Ingen skjema på siden
Fjernet

Automatisk. Ingenting å konfigurere.

Installasjon

Oppe og går på et minutt.

  1. Logg inn i WordPress-adminpanelet.
  2. Åpne Utvidelser i menyen til venstre.
  3. Klikk på Legg til ny utvidelse.
  4. Søk etter «Rufo».
  5. Installer og aktiver. Ferdig.

For å avinstallere deaktiverer og sletter du den. Rufo bruker verken database eller andre ressurser på nettstedet ditt.

Guiden

Foretrekker du kode? Slik fungerer det.

To måter å hindre Contact Form 7 i å laste filene sine på sider uten skjema.

Vi har altså funnet problemet. Nå til løsningene. Her er to måter å fjerne filene fra sider uten kontaktskjema på:

Alternativ 1: Egen PHP-kode

Du kan skrive litt egen PHP-kode og legge den i functions.php-filen i temaet ditt. Koden ber WordPress om å ikke laste filene fra Contact Form 7 på sider uten kontaktskjema.

Men vent litt! Gjør du endringer i et tema som kan bli oppdatert senere, er det best å bruke et child-tema. Da forsvinner ikke endringene dine når hovedtemaet oppdateres.

Det finnes to måter å gjøre dette på:

Alternativ 1, A. Bruk nøyaktig sideinformasjon

Vet du ID-en til siden med kontaktskjemaet, kan du bruke denne koden. Den ber WordPress om å ikke laste filene fra Contact Form 7 på andre sider enn siden med den angitte ID-en.

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

Har du kontaktskjemaer på flere sider, for eksempel med ID 65 og 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' );
}

Vil du bruke sidens slug i stedet for 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. Skann sideinnholdet etter kortkoden til kontaktskjemaet:

Denne koden sjekker om innholdet på en side inneholder kortkoden for Contact Form 7. Finner den ikke kortkoden, stopper den CSS- og JavaScript-filene fra å lastes på den siden.

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: Rufo, WordPress-plugin

Har du ikke lyst til å rote med kode? Helt greit! Du kan i stedet bruke WordPress-pluginen Rufo. Dette praktiske verktøyet finner automatisk sider uten kontaktskjema og fjerner de unødvendige CSS- og JavaScript-filene. Det er en enklere og mer brukervennlig løsning enn å skrive egen kode.

Den gjør det samme som den andre metoden over: fjerner automatisk CSS- og JavaScript-filer fra sider uten kontaktskjema.

Hvorfor laget vi en plugin for dette i stedet for bare å bruke kode? Noen vil kanskje foreslå å redigere Contact Form 7-pluginen direkte, men det er ingen god idé i WordPress-verdenen.

Dessuten så vi at andre løsninger på nettet også foreslår å legge til kode. Derfor laget vi denne pluginen for å gjøre det enklere for alle, særlig for dem som ikke er så teknisk anlagt.

Og er du interessert i å lage dine egne WordPress-plugins med en elegant arkitektur kalt MVC, har vi en annen plugin, ATA, som kan hjelpe deg med det. Men det får bli en annen historie!

Neste suksesshistorie kan være din.

Har du spørsmål? Vi hjelper deg å ta det riktige valget.

Din suksesshistorie kan bli den neste.

Spørsmål? Vi hjelper deg å ta det riktige valget.