Velocizza Contact Form 7
Open Source · Rufo
Contact Form 7.
Solo dove serve.
Rufo rimuove automaticamente i file CSS e JavaScript inutilizzati di Contact Form 7 da ogni pagina che non contiene un modulo. Gratuito su WordPress.org.
Il problema
5 milioni di siti.
Ogni pagina rallentata.
Lo sapevi che il plugin Contact Form 7, creato da Takayuki Miyoshi, è usato su oltre 5 milioni di siti WordPress? Da anni è la scelta numero uno per i moduli di contatto su WordPress: ricco di funzionalità e semplicissimo da usare. Ma quando si parla di velocità c’è un grosso problema. Contact Form 7 aggiunge i suoi file CSS e JavaScript a ogni singola pagina del sito, anche dove non c’è alcun modulo di contatto. E anche se questi file non sono enormi, rallentano comunque il sito. Un problema serio, soprattutto oggi che tutti cercano di rendere i propri siti più veloci.
Cosa fa Rufo
I file solo dove ci sono i moduli.
Automatico. Niente da configurare.
Installazione
Operativo in un minuto.
- Accedi alla bacheca di amministrazione di WordPress.
- Apri Plugin nel menu a sinistra.
- Clicca su Aggiungi nuovo plugin.
- Cerca «Rufo».
- Installa e attiva. Fatto.
Per disinstallarlo, disattivalo ed eliminalo. Rufo non usa database né altre risorse del tuo sito.
La guida
Preferisci il codice? Ecco come funziona.
Due modi per impedire a Contact Form 7 di caricare i suoi file nelle pagine senza modulo.
Bene, abbiamo individuato il problema. Ora parliamo di soluzioni. Ecco due opzioni per rimuovere quei file dalle pagine senza moduli di contatto:
Opzione 1: codice PHP personalizzato
Puoi scrivere del codice PHP personalizzato e aggiungerlo al file functions.php del tuo tema. Questo codice dirà a WordPress di non caricare i file di Contact Form 7 nelle pagine in cui non ci sono moduli di contatto.
Ma attenzione! Se modifichi un tema che in futuro potrebbe essere aggiornato, è meglio usare un tema child. Così le tue modifiche non andranno perse quando il tema principale verrà aggiornato.
Ci sono due modi per farlo:
Opzione 1, A. Usare i dati esatti della pagina
Se conosci l’ID della pagina con il modulo di contatto, puoi usare questo codice. Indica a WordPress di non caricare i file di Contact Form 7 nella pagina con l’ID specificato.
if ( !is_singular() && get_the_ID() != 65 ) {
add_filter( 'wpcf7_load_js', '__return_false' );
add_filter( 'wpcf7_load_css', '__return_false' );
}
Se hai moduli di contatto in più pagine, ad esempio con ID 65 e 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' );
}
Se preferisci usare lo slug della pagina al posto dell’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' );
}
}
Opzione 1, B. Cercare lo shortcode del modulo di contatto nel contenuto della pagina:
Questo codice verifica se il contenuto di una pagina contiene lo shortcode di Contact Form 7. Se non lo trova, blocca il caricamento dei file CSS e JavaScript in quella pagina.
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' );
}
Opzione 2: plugin WordPress Rufo
Non vuoi metter mano al codice? Nessun problema! In alternativa puoi usare il plugin WordPress Rufo. Questo pratico strumento rileva automaticamente le pagine senza moduli di contatto e rimuove i file CSS e JavaScript superflui. Una soluzione più semplice e accessibile rispetto a scrivere codice personalizzato.
Fa la stessa cosa del secondo metodo descritto sopra: rimuove automaticamente i file CSS e JavaScript dalle pagine senza moduli di contatto.
Perché abbiamo creato un plugin invece di usare semplicemente del codice? Beh, c’è chi suggerisce di modificare direttamente il plugin Contact Form 7, ma nel mondo WordPress non è una buona idea.
In più, cercando online abbiamo visto che anche le altre soluzioni suggeriscono di aggiungere codice. Così abbiamo creato questo plugin per semplificare le cose a tutti, soprattutto a chi non ha dimestichezza con la tecnologia.
E se ti interessa creare i tuoi plugin WordPress con un’architettura raffinata chiamata MVC, abbiamo un altro plugin, ATA, che può aiutarti. Ma questa è un’altra storia!
La prossima storia di successo potrebbe essere la tua.
Hai domande? Siamo qui per aiutarti a fare la scelta giusta.