Contact Form 7 Hız Optimizasyonu

Contact Form 7 Hız Optimizasyonu

WordPress kullanıcıları arasında oldukça popüler olan Contact Form 7 eklentisi, Takayuki Miyoshi tarafından geliştirilmiş ve 5 milyondan fazla WordPress sitesinde kullanılmaktadır. Gelişmiş özellikleri ve kullanımı kolay form yapısıyla tercih edilen bu eklenti, maalesef hız konusunda bazı sorunlar yaratabiliyor. Eklentinin hız sorunlarının başında, her sayfaya gereksiz CSS ve JavaScript dosyalarının eklenmesi gelmektedir. Bu durum, sitenizi yavaşlatabilir ve kullanıcı deneyimini olumsuz yönde etkileyebilir.

Bu yazıda, Contact Form 7 eklentisinin hızını optimize etmek için kullanılabilecek PHP kodları ve ücretsiz bir eklentiden bahsedeceğiz.

Contact Form 7’yi PHP Kodu ile Optimize Etme

Contact Form 7 eklentisinin CSS ve JavaScript dosyalarını, sadece iletişim formu içeren sayfalarda yüklenmesini sağlamak için bazı PHP kodları kullanabilirsiniz. Bu kodları temanızın functions.php dosyasına ekleyerek gereksiz yüklemeleri önleyebilirsiniz. Ancak, bu kodları eklerken temanızın çocuk teması (child theme) kullanmanız, güncellemeler sırasında değişikliklerin kaybolmasını önleyecektir.

Seçenek 1 – Belirli Sayfa Bilgilerini Kullanarak

A. Sayfa ID’si Kullanarak

Sayfa ID’sini belirterek, sadece bu sayfalarda Contact Form 7’nin CSS ve JavaScript dosyalarının yüklenmesini sağlayabilirsiniz:

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

Birden fazla sayfa ID’si belirtmek isterseniz:

if ( !is_singular() && !in_array(get_the_ID(), [65,99]) ) { add_filter( 'wpcf7_load_js', '__return_false' ); add_filter( 'wpcf7_load_css', '__return_false' );
}
B. Sayfa Slug’ını Kullanarak

Sayfa ID’si yerine sayfa slug’ını kullanmak isterseniz:

if ( !is_singular() ) { $page_slug = get_post_field( 'post_name', get_queried_object_id() ); $excluded_slugs = ['example-page-slug-1', 'example-page-slug-2']; if ( !in_array($page_slug, $excluded_slugs) ) { add_filter( 'wpcf7_load_js', '__return_false' ); add_filter( 'wpcf7_load_css', '__return_false' ); }
}
C. İletişim Formu Kısa Kodunu Kontrol Ederek

Bir sayfanın içeriğinde Contact Form 7 kısa kodu olup olmadığını kontrol etmek için aşağıdaki kodu kullanabilirsiniz:

function 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 ( !page_has_contact_form() ) { add_filter( 'wpcf7_load_js', '__return_false' ); add_filter( 'wpcf7_load_css', '__return_false' );
}

Contact Form 7’yi Ücretsiz Eklenti ile Optimize Etme: Rufo

Eğer kod yazmakla uğraşmak istemiyorsanız, ücretsiz bir eklenti olan Rufo‘yu kullanabilirsiniz. Bu eklenti, otomatik olarak iletişim formu içermeyen sayfaları tespit eder ve gereksiz CSS ve JavaScript dosyalarını yüklemelerini engeller. Kullanıcı dostu ve basit bir çözüm sunar.

Rufo Eklentisi Kullanımı

  1. Rufo Eklentisi Geliştirici Sayfasına Gitmek İçin Tıklayın
  2. Dosyayı indirip açın. (Rufo WordPress.org Download Sayfası)
  3. Eklenti klasörünü WordPress’in eklenti dizinine (/wp-content/plugins) yükleyin.
  4. WordPress admin panelinde eklentiyi aktif edin.

Rufo eklentisi, Contact Form 7 eklentisinin kullanılmadığı sayfalarda gereksiz dosyaları yüklemeyi engelleyerek, sitenizin hızını optimize eder. Ücretsiz olmasına karşın herhangi bir garanti veya destek sunulmamaktadır.

Sonuç

Contact Form 7 eklentisi, birçok WordPress kullanıcısının tercih ettiği güçlü bir iletişim formu eklentisidir. Ancak, hız konusundaki problemleri nedeniyle optimize edilmesi gerekebilir. PHP kodları kullanarak veya Rufo gibi ücretsiz eklentilerle bu problemi çözebilirsiniz.

Bu yazıda, Contact Form 7 eklentisinin hızını optimize etmek için çeşitli yöntemleri ve ipuçlarını ele aldık. Kendi web sitenize en uygun çözümü seçerek, kullanıcı deneyimini ve site performansınızı önemli ölçüde artırabilirsiniz.

RUFO WordPress.org Sayfası

Rufo, Geliştirici(Globaliser) Sayfası

Comments

No comments yet. Why don’t you start the discussion?

    Bir yanıt yazın

    E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir