1. Anasayfa
  2. Blog
  3. WordPress Kılavuzları

Belirli Sayfalarda WordPress Eklentilerini Devre Dışı Bırakma

Belirli Sayfalarda WordPress Eklentilerini Devre Dışı Bırakma

WordPress sitenizin yavaş yüklendiğini fark ettiniz mi? Sorun genellikle her sayfada çalışan gereksiz eklentilerde saklı. Örneğin, iletişim formu eklentiniz sadece iletişim sayfasında kullanılıyor ama her sayfada yükleniyor. Ya da e-ticaret eklentiniz blog yazılarınızda da aktif durumda. Bu durum sitenizin performansını ciddi şekilde etkiliyor. Çoğu zaman tüm site genelinde değil, sadece belli sayfalar veya yazılar için bir eklentiye ihtiyaç duyarsınız. Böyle bir senaryoda, eklentilerinizi stratejik olarak nasıl devre dışı bırakacağınızı bilmeniz gerekir. Eğer siz de belirli sayfalarda WordPress eklentilerini nasıl devre dışı bırakacağınız konusunda çözüm arıyorsanız, sayfa bazında eklenti yönetimi kılavuzumuzdan faydalanabilirsiniz.

Her eklenti, sayfanıza CSS ve JavaScript dosyaları ekler. Bir sayfada 20 eklenti aktifse ve her biri ortalama 2 dosya yüklüyorsa, tarayıcı 40 farklı dosya indirmek zorunda kalır. Bu da sayfa yükleme süresini 3-5 saniye artırabilir. Google’ın Core Web Vitals metriklerine göre, sayfa hızı artık bir sıralama faktörü. Gereksiz eklentileri devre dışı bırakarak: HTTP isteklerini %30-50 azaltabilir, sayfa boyutunu 500KB-1MB küçültebilir ve yükleme süresini 2-4 saniye kısaltabilirsiniz.

Örneğin, blog sayfalarınızda e-ticaret eklentilerini devre dışı bırakarak hem sayfa hızını artırır hem de Google’ın sitenizi daha kolay taramasını sağlarsınız. Ayrıca sadece iletişim sadece iletişim sayfasında çalışması gereken bir iletişim eklentisinin diğer sayfalara yüklenmesi de gereksiz. Mesela Contact Form 7 eklentisi sadece iletişim sayfanızda değil site genelinde çalışır ve bu durum site performansını olumsuz etkiler (bkz: “Contact Form 7 Dosyalarını Sadece İlgili Sayfaya Yükleme“).

Eklentileri rastgele devre dışı bırakmak yerine, stratejik bir yaklaşım izlemeniz gerekir. İlk adım, hangi eklentilerin hangi sayfalarda gerçekten gerekli olduğunu tespit etmek. Bu analizi yapmak için tarayıcınızın geliştirici araçlarını kullanabilir veya Query Monitor gibi eklentilerle detaylı raporlar alabilirsiniz.

  • Performans Analizi Yapın– GTmetrix veya Google PageSpeed Insights ile sitenizi tarayın. Hangi eklentilerin en fazla kaynak tükettiğini tespit edin. Genellikle slider, form ve sosyal medya eklentileri en ağır yükü oluşturur.
  • Sayfa Tiplerini Belirleyin– Sitenizde hangi sayfa tipleri var? Ana sayfa, blog yazıları, ürün sayfaları, iletişim sayfası gibi kategorilere ayırın. Her kategori için gerekli eklentileri listeleyin.
  • Gereksiz Yüklemeleri Tespit Edin– Örneğin WooCommerce eklentisi blog sayfalarında, iletişim formu eklentisi ürün sayfalarında veya yorum eklentisi statik sayfalarda gereksiz olabilir. Bu tür çakışmaları not edin.
  • Önceliklendirme Yapın– En çok ziyaret edilen ve en yavaş yüklenen sayfalardan başlayın. Bu sayfaları optimize etmek en hızlı sonucu verir ve SEO performansınıza anında yansır.

En Sık Devre Dışı Bırakılan Eklenti Kategorileri:

  • E-ticaret eklentileri (WooCommerce, Easy Digital Downloads): Sadece ürün ve sepet sayfalarında gerekli.
  • Form oluşturucular: Sadece form içeren sayfalarda kullanılmalı.
  • Sosyal medya paylaşım butonları: Genellikle sadece blog yazılarında gerekli.
  • Slider ve galeri eklentileri: Yalnızca kullanıldıkları sayfalarda yüklensin.
  • Yorum sistemi eklentileri (Disqus): Blog yazıları dışında gereksiz..
  • Canlı sohbet eklentileri: Belirli landing page’lerde devre dışı bırakılabilir.

1. Eklenti ile Gereksiz Eklentileri Devre Dışı Bırakma

Kodlama bilgisi olmayan kullanıcılar için en pratik yöntem, özel eklentiler kullanmaktır. Bu eklentiler, görsel bir arayüz üzerinden hangi eklentilerin hangi sayfalarda çalışacağını belirlemenizi sağlar. İşte en popüler ve güvenilir seçenekler:

  • Plugin Organizer: En kapsamlı ve esnek çözüm. Eklentileri sayfa, gönderi tipi, URL yapısı veya özel kurallara göre yönetebilirsiniz. Ücretsiz sürümü çoğu ihtiyaç için yeterli.
  • Asset CleanUp: Hem eklentileri hem de bireysel CSS/JavaScript dosyalarını yönetebilirsiniz. Ücretsiz ve pro versiyonları mevcut. Kullanıcı dostu arayüzü ile öne çıkıyor.
  • Perfmatters
  • Profesyonel geliştiricilerin tercihi. Sadece eklenti yönetimi değil, aynı zamanda kapsamlı performans optimizasyonu sunar. Ücretli ama yatırıma değer.

Bu eklentiler sayesinde gereksiz eklenti kullanma yükünden kurtulup sitenizin hızını artırabilirsiniz. Sizin için uygun olan eklentiyi seçin ve kurup gerekli ayarları yapın. Ama öncesinde herhangi bir hatalı işlem ihtimaline karşın WordPress site yedeği almanız faydalı olacaktır.

# Asset CleanUp

  • WP yönetim panelinden Eklentiler→ Yeni Ekle bölümüne gidin ve arama çubuğuna Asset CleanUp yazın. Eklentiyi kurun ve etkinleştirin.
  • Eklentiyi etkinleştirdikten sonra WP yönetici panelinden Asset CleanUp→Setting alanına gidin. Bu sayfada, eklentinin nasıl çalıştığına dair çeşitli seçenekler göreceksiniz.
    • Plugin Usage Preferences- Bu bölüm, Asset CleanUp’ın genel davranışını yönetir. Kontrol panelinde veya ön uçta yönetim, Varlık Listesi düzenleri, kullanım izleme ve daha fazlası gibi şeyler burada bulunur.
    • Test Mode- Hata ayıklama için bu özelliği etkinleştirebilirsiniz. Bu seçenek, web sitesinde tam olarak hangi CSS ve JavaScript’i istediğinizi belirlemeye çalışıyorsanız kullanışlıdır.
    • Optimize CSS- Bu bölüm, sitenizin toplam sayfa boyutunu azaltmak için stil sayfalarını birleştirmenizi sağlar. Küçültme, erteleme ve birleştirme seçeneklerine sahiptir.
    • Optimize JavaScript- Bu bölüm de CSS optimizasyonu bölümü gibi çalışır. JavaScript’i gerektiği gibi küçültebilir, birleştirebilir ve satır içi olarak ayarlayabilirsiniz. Ancak, satır içi, pro sürümde bulunur.
    • Site-Wide Common Unloads- Sitede gereksiz öğeler varsa, buradan kaldırabilirsiniz. Emojileri, oEmbed’leri, Gutenberg CSS bloklarını ve diğer öğeleri devre dışı bırakabilirsiniz.
    • HTML Source CleanUp- Bu bölümde, web sitesinin <head> bölümünden etiketleri kaldırabilirsiniz. Örneğin, RSD etiketlerini, Windows Live Writer’ı ve WordPress sürüm etiketlerini kaldırabilirsiniz.
    • Local Fonts- Sitenizde yerel yazı tiplerini kullanıyorsanız, bunları önceden yüklenecek şekilde ayarlayabilirsiniz. Bu, sahip olduğunuz yazı tiplerine bağlı olarak zamanınızın birkaç MS’sini azaltabilir.
    • Google Fonts- Google Yazı Tipleri bir web sitesine stil eklemek için harika olsa da, bazı durumlarda onu yavaşlatırlar. Bu bölümde, performansı artırmak için birleştirebilir, önceden yükleyebilir ve önceden bağlanabilirsiniz.
    • Disable XML-RPC- Yalnızca pingback’leri devre dışı bırakmayı veya XML-RPC’yi tamamen devre dışı bırakmayı buradan seçebilirsiniz.
  • Setting menüsündeki işlemleri tamamladıktan sonra üst kısımda bulunan diğer ayarları da tek tek inceledikten sonra devre dışı bırakma veya etkinleştirme seçeneklerini kullanabilirsiniz.

# Plugin Organizer

  • WordPress yönetici panelinde “Eklentiler> Yeni Ekle” bölümüne gidin. Plugin Organizer eklentisini bulmak için arama çubuğunu kullanın. Eklentiyi bulduktan sonra kurun ve etkinleştirin.
  • Eklentiyi kurduktan sonra gerekli seçenekleri etkinleştirmek veya devre dışı bırakmak için WordPress sol menüye eklenen Plugin Organizer→Setting bölümüne gidin. Siteniz için bazı temel seçenekleri yapılandırabileceğiniz ayarlar menüsü açılacak. Genel Ayarlar altındaki seçenekleri ihtiyaçlarınıza uygun biçimde yapılandırmanız gerekecek. Bu seçeneklerin ne işe yaradığına tek tek bakalım:
    • Fuzzy URL Matching- Bu ayar açık olduğunda, eklentiler sitenizdeki alt sayfalara yüklenir.
    • Ignore URL Protocol- Bu işlevi kapalı tutmanız önerilir. Eklentiye, varsa HTTP / HTTPS yönlendirmesini yok saymasını söyler.
    • Ignore URL Arguments- Bu, eklentiye bir URL’deki soru işaretinden sonra gelen her şeye atıfta bulunan parametrelere sahip URL’leri yok sayma talimatı verir. Açmak için belirli bir nedeniniz olmadıkça bunu kapalı tutmalısınız.
    • Only allow network admins to change plugin load order? Çok bölgeli bir WordPress ağı kullanıyorsanız. bu ayar eklenti yükleme sırasını değiştirmek için bir ağ yöneticisi hesabı gerektirir. Çoklu site kullanıyorsanız bu ayarı açık tutmanız önerilir, ancak kullanmıyorsanız devre dışı bırakabilirsiniz.
    • Custom Post Type Support- Herhangi bir özel gönderi türünüz varsa, bu sayfalarda Plugin Organizer’ı etkinleştirmek için buraya ekleyin.
    • Auto Trailing Slash- Bu seçenek , eklenti ile ilgili URL’lerin sonundaki eğik çizgiyi kaldırır ve bunları sitenizin WordPress kalıcı bağlantı ayarlarına göre biçimlendirir .
    • Selective Plugin Loading- Bu ayar, eklenti ayarlarınızda devre dışı bırakılmış olsalar bile bazı eklentileri yalnızca belirli sayfalara yüklemenizi sağlar. Bunun nasıl yapılacağını sonraki adımda açıklayacağız.
    • Selective Mobile Plugin Loading- Bu seçenek, mobil cihazlarda belirli eklentileri devre dışı bırakmanıza olanak tanır.
    • Selective Admin Plugin Loading- Bu seçenek, bazı eklentilerin yalnızca sitenizin yönetici kontrol panelinde yüklenmesini etkinleştirmenizi sağlar. Yönetici paneline yüklenen eklentileri kontrol etmek için bu seçeneği etkinleştirin.
    • Disable Plugins By Role- Belirli kullanıcı rolleri için eklentileri devre dışı bırakmanıza veya etkinleştirmenize izin verir.
    • Display Debug Messages- Bu seçeneği açtığınızda tarayıcı ön ucunda etkinleştirilmiş ve devre dışı bırakılmış eklentiler hakkında hata ayıklama mesajlarını görürsünüz.
    • Ayarları yapılandırmayı bitirdiğinizde sayfayı kaydetmeyi unutmayın. Ardından bir sonraki adıma geçin.
  • Sitenizdeki herhangi bir eklentiyi geçici olarak devre dışı bırakmak istiyorsanız, WordPress yönetim paneli Plugin Organizer→Global Plugin bölümüne gidin. Burada sitenizdeki eklentileri görüntüleyebilir ve devre dışı bırakabilirsiniz. Normalde tüm eklentileri devre dışı bırakmanız gerekmez fakat bu özelliği gerekirse sorun giderme amacıyla kullanabilirsiniz.
  • Daha sonra “Plugin Organizer>Search Plugin” bölümüne gidin ve arama sonucu sayfalarına yüklemek istemediğiniz gereksiz eklentileri devre dışı bırakın. “Plugin Organizer>Post Type Plugin” bölümünden gönderi türünü seçin. Örneğin, genellikle yorum içermeyen sayfalarda Akismet Anti-Spam eklentisini boşaltmak isteyebilirsiniz. Bu durumda, gönderi türü olarak “sayfa” seçin ve Akismet Anti-Spam eklentisine tıklayın. Seçilen gönderi türünde seçili eklentileri devre dışı bırakmak için Kaydet düğmesine tıklayın.
  • Ayrıca, gönderi veya sayfa düzenleyiciye gidebilir ve yalnızca o gönderiye veya sayfaya eklenti yüklemek için genel ayarları değiştirebilirsiniz.

📌 Eklentileri dilediğiniz sayfalarda devre dışı bıraktıktan sonra PageSpeed ve GTmetrix gibi araçlarla performans kontrolü yapmayı unutmayın.

2. Functions.php ile Eklenti Yönetimi

Geliştiriciler ve ileri düzey kullanıcılar için en esnek çözüm, özel kod yazmaktır. Bu yöntem size tam kontrol sağlar ve ek eklenti yüklemeden işinizi görür. Ancak dikkatli olmanız gerekir çünkü yanlış bir kod sitenizi çökertebilir. Functions.php dosyasını düzenlemeden önce mutlaka FTP veya hosting kontrol paneli üzerinden yedeğini alın. Ayrıca bir child theme kullanmanız şiddetle önerilir, çünkü ana tema güncellendiğinde değişiklikleriniz kaybolabilir.

# Temel PHP Fonksiyonu: Belirli Sayfalarda Eklenti Devre Dışı Bırakma

WordPress’in wp_dequeue_script() ve wp_dequeue_style() fonksiyonlarını kullanarak eklentilerin yüklediği dosyaları engelleyebiliriz. İşte pratik bir örnek:

// Belirli sayfalarda Contact Form 7'yi devre dışı bırak
add_action( 'wp_print_scripts', 'deaktif_et_contact_form_7', 100 );

function deaktif_et_contact_form_7() {
    // Eğer sayfa ID'si 5, 12 veya 45 DEĞİLSE
    if ( ! is_page( array( 5, 12, 45 ) ) ) {
        // Contact Form 7 CSS ve JS dosyalarını kaldır
        wp_dequeue_style( 'contact-form-7' );
        wp_dequeue_script( 'contact-form-7' );
        wp_dequeue_script( 'contact-form-7-recaptcha' );
    }
}
  • Bu kod, Contact Form 7 eklentisinin CSS ve JavaScript dosyalarını sadece ID’si 5, 12 ve 45 olan sayfalarda yükler. Diğer tüm sayfalarda bu dosyalar devre dışı kalır.

# WooCommerce’i Blog Sayfalarından Kaldırma

// WooCommerce'i blog yazılarında devre dışı bırak
add_action( 'wp_enqueue_scripts', 'blog_woocommerce_deaktif', 99 );

function blog_woocommerce_deaktif() {
    // Eğer tekli blog yazısı veya blog arşivindeyse
    if ( is_single() || is_archive() || is_home() ) {
        // WooCommerce stil ve script'lerini kaldır
        wp_dequeue_style( 'woocommerce-layout' );
        wp_dequeue_style( 'woocommerce-smallscreen' );
        wp_dequeue_style( 'woocommerce-general' );
        wp_dequeue_script( 'wc-cart-fragments' );
        wp_dequeue_script( 'woocommerce' );
        wp_dequeue_script( 'wc-add-to-cart' );
    }
}
  • Eklentinin hangi CSS/JS dosyalarını yüklediğini bulmak için tarayıcınızın “Öğeyi İncele” aracını kullanın veya Query Monitor eklentisiyle listeleyin.
  • WordPress’in koşullu etiketlerini kullanın: is_page(), is_single(), is_front_page(), is_category() gibi.
  • Child theme’inizin functions.php dosyasına veya Code Snippets eklentisine yapıştırın. Asla doğrudan tema dosyasını düzenlemeyin.
  • Değişiklikleri kaydedin ve sitenizi inceleyin. Hata varsa kodu geri alın ve kontrol edin.

WordPress Koşullu Etiketler

Eklentileri sayfa bazında yönetirken WordPress’in koşullu etiketlerini kullanacaksınız. Bu etiketler, kodunuzun hangi sayfa tiplerinde çalışacağını belirler. İşte en çok kullanılan koşullu etiketler ve pratik örnekleri:

Koşullu EtiketAçıklamaKullanım Örneği
is_home()Blog ana sayfasını kontrol ederBlog listesinde sosyal paylaşım butonlarını göster
is_front_page()Sitenin ana sayfasını kontrol ederAna sayfada slider eklentisini aktif et
is_single()Tekli blog yazısını kontrol ederYazılarda yorum sistemini yükle
is_page()Statik sayfa kontrolü (ID veya slug ile)İletişim sayfasında form eklentisini aktif et
is_category()Kategori arşiv sayfalarını kontrol ederKategori sayfalarında filtreleme eklentisini göster
is_archive()Tüm arşiv sayfalarını kontrol ederArşivlerde sayfalama eklentisini yükle
is_search()Arama sonuç sayfasını kontrol ederArama sayfasında gelişmiş arama eklentisini aktif et
is_404()Hata sayfasını kontrol eder404 sayfasında gereksiz eklentileri kapat
is_singular()Herhangi bir tekil içerik sayfasıTüm içerik sayfalarında okuma süresi eklentisini göster
is_woocommerce()WooCommerce sayfalarını kontrol ederSadece ürün sayfalarında sepet özelliklerini yükle

Daha karmaşık senaryolar için koşulları birleştirebilirsiniz. İşte bazı pratik örnekler:

// Blog yazılarında VE belirli bir kategoride eklenti yükle
if ( is_single() && in_category( 'teknoloji' ) ) {
 // Kod buraya
}

// Ana sayfa VEYA hakkımızda sayfasında
if ( is_front_page() || is_page( 'hakkimizda' ) ) {
 // Kod buraya
}

// Ürün sayfası DEĞİLSE WooCommerce'i devre dışı bırak
if ( ! is_product() && ! is_cart() && ! is_checkout() ) {
 // WooCommerce scriptlerini kaldır
}

3. Mobil ve Masaüstü için Ayrı Eklenti Yönetimi

Modern web deneyiminde mobil kullanıcılar genellikle toplam trafiğin %60-70’ini oluşturur. Mobil cihazlarda her megabayt ve her milisaniye önemlidir. Bu yüzden mobil ziyaretçiler için ayrı optimizasyon stratejileri uygulamak kritik önem taşır.

  • Neden Mobil Optimizasyon Önemli?
    • Yavaş bağlantılar: Mobil kullanıcılar genellikle 4G veya daha yavaş ağlarda gezinir
    • Sınırlı işlemci gücü: Telefonlar ağır JavaScript kodlarını işlemekte zorlanır
    • Küçük ekranlar: Bazı eklentiler (slider, popup) mobilde kullanıcı deneyimini olumsuz etkiler
    • Google Mobile-First Index: Google artık sitenizi önce mobil versiyonuna bakarak değerlendiriyor

Örneğin, masaüstünde harika görünen bir karusel slider mobilde hem yavaşlatıcı hem de kullanışsız olabilir. Ya da canlı sohbet balonu mobil ekranda içeriğin yarısını kapatabilir.

# Cihaz Tipi Tespiti ve Kod Örnekleri

WordPress’te mobil kullanıcıları tespit etmek için wp_is_mobile() fonksiyonunu kullanabilirsiniz. İşte temel bir örnek:

add_action('wp_enqueue_scripts', 'mobilde_deaktif', 99);

function mobilde_deaktif() {
    if ( wp_is_mobile() ) {
        // Popup eklentisini mobilde kapat
        wp_dequeue_script('popup-maker');
        wp_dequeue_style('popup-maker');
        
        // Canlı sohbet eklentisini kaldır
        wp_dequeue_script('tawk-to');
    }
}
  • Mobilde Devre Dışı Bırakılabilecek Eklentiler:
    • Ağır animasyon ve parallax efekt eklentileri
    • Masaüstü odaklı popup ve modal sistemleri
    • Karmaşık form builder’ların tüm özellikleri
    • Video arka plan eklentileri
    • Bazı sosyal medya feed widget’ları
  • Masaüstünde Devre Dışı Bırakılabilecek Eklentiler:
    • Mobil-özel hamburger menü eklentileri
    • Mobil dokunmatik slider optimizasyonları
    • Telefon numarası linki oluşturan eklentiler
    • Mobil-özel hız optimizasyon araçları
    • Swipe gesture (kaydırma) eklentileri

💡 wp_is_mobile() bazen yeterli olmayabilir çünkü tabletleri de mobil olarak algılar. Daha hassas kontrol için User Agent veya JavaScript tabanlı çözümler kullanabilirsiniz. Örneğin Perfmatters eklentisi, ekran genişliğine göre script yükleme imkanı sunar.

Editör Notu: İçeriğimiz okuyucu desteğiyle finanse edilmektedir. Bu, bağlantılarımızdan bazılarına tıkladığınızda komisyon kazanabileceğimiz anlamına gelir.

Burada sadece teorik bilgiler değil, gerçek deneyimlere dayanan pratik çözümler var. Burada yol arkadaşı olacağız. Karmaşık konuları birlikte çözecek, teknik detayları birlikte aşacağız...

Yazarın Profili