Contact Form 7 versnellen
Open source · Rufo
Contact Form 7.
Alleen waar het hoort.
Rufo verwijdert automatisch de ongebruikte CSS- en JavaScript-bestanden van Contact Form 7 van elke pagina zonder formulier. Gratis op WordPress.org.
Het probleem
5 miljoen sites.
Elke pagina vertraagd.
Wist je dat de Contact Form 7-plugin, gemaakt door Takayuki Miyoshi, op meer dan 5 miljoen WordPress-websites draait? Al jaren is het dé keuze voor contactformulieren in WordPress. Boordevol functies en supermakkelijk in gebruik. Maar als het om snelheid gaat, is er een flink probleem. Contact Form 7 laadt zijn CSS- en JavaScript-bestanden op elke pagina van je website, ook als daar geen contactformulier staat. En hoewel die bestanden niet groot zijn, maken ze je site wel trager. Dat is een serieus punt, zeker nu iedereen zijn website sneller probeert te maken.
Wat Rufo doet
Bestanden alleen waar formulieren staan.
Automatisch. Niets te configureren.
Installeren
Binnen een minuut aan de slag.
- Log in op je WordPress-dashboard.
- Open Plugins in het menu links.
- Klik op Nieuwe plugin toevoegen.
- Zoek naar “Rufo”.
- Installeren en activeren. Klaar.
Verwijderen? Deactiveer en verwijder de plugin. Rufo gebruikt geen database of andere resources op je site.
De handleiding
Liever code? Zo werkt het.
Twee manieren om te voorkomen dat Contact Form 7 zijn bestanden laadt op pagina’s zonder formulier.
Oké, het probleem is duidelijk. Tijd voor oplossingen. Er zijn twee manieren om die bestanden te verwijderen van pagina’s zonder contactformulier:
Optie 1: Eigen PHP-code
Je kunt zelf wat PHP-code schrijven en die toevoegen aan het functions.php-bestand van je thema. Die code vertelt WordPress dat de bestanden van Contact Form 7 niet geladen hoeven te worden op pagina’s zonder contactformulier.
Maar let op! Pas je een thema aan dat later geüpdatet kan worden, gebruik dan een child theme. Zo verdwijnen je wijzigingen niet zodra het hoofdthema een update krijgt.
Dit kan op twee manieren:
Optie 1, A. Gebruik de exacte paginagegevens
Weet je het ID van de pagina met het contactformulier? Dan kun je deze code gebruiken. Die vertelt WordPress de bestanden van Contact Form 7 niet te laden op de pagina met het opgegeven ID.
if ( !is_singular() && get_the_ID() != 65 ) {
add_filter( 'wpcf7_load_js', '__return_false' );
add_filter( 'wpcf7_load_css', '__return_false' );
}
Staan er contactformulieren op meerdere pagina’s, bijvoorbeeld met de ID’s 65 en 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' );
}
Wil je de slug van de pagina gebruiken in plaats van het 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' );
}
}
Optie 1, B. De inhoud van een pagina scannen op de shortcode van het contactformulier:
Deze code controleert of de inhoud van een pagina de shortcode van Contact Form 7 bevat. Vindt hij die shortcode niet, dan worden de CSS- en JavaScript-bestanden op die pagina niet geladen.
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' );
}
Optie 2: Rufo WordPress-plugin
Geen zin om met code te rommelen? Geen probleem! Je kunt ook de Rufo WordPress-plugin gebruiken. Deze handige tool herkent automatisch pagina’s zonder contactformulier en verwijdert de overbodige CSS- en JavaScript-bestanden. Een stuk eenvoudiger en gebruiksvriendelijker dan zelf code schrijven.
Hij doet hetzelfde als de tweede methode hierboven: CSS- en JavaScript-bestanden automatisch verwijderen van pagina’s zonder contactformulier.
Waarom een plugin en niet gewoon code? Sommigen raden aan om de Contact Form 7-plugin zelf aan te passen, maar in de WordPress-wereld is dat geen goed idee.
Bovendien zagen we online dat andere oplossingen ook neerkomen op code toevoegen. Daarom hebben we deze plugin gemaakt: om het voor iedereen makkelijker te maken, vooral voor wie niet technisch onderlegd is.
En als je zelf WordPress-plugins wilt bouwen met een slimme architectuur genaamd MVC: daarvoor hebben we een andere plugin, ATA. Maar dat is een verhaal voor een andere keer!
Jouw succesverhaal kan het volgende zijn.
Vragen? We helpen je graag de juiste stap te zetten.