İletişim

WordPress Eklentisi Nedir?

Kısa tanım

WordPress eklentisi (plugin), WordPress çekirdeğinin dosyalarına dokunmadan siteye yeni işlev ekleyen veya mevcut davranışı değiştiren, PHP tabanlı kod paketidir. Eklentiler WordPress'in action ve filter kancalarına (hooks) bağlanarak çalışır; iletişim formu, SEO alanları, önbellekleme, e-ticaret veya özel içerik türleri bu yolla eklenir. Her eklenti siteye yeni kod ve dolayısıyla yeni bir güvenlik ve bakım sorumluluğu getirir.

Diğer adları: WordPress Plugin, WP eklentisi, WordPress plugin'i

Bir WordPress eklentisinin çekirdek dosyalara dokunmadan the_content kancasına bağlanıp sayfa çıktısına yeni bir öğe eklediğini gösteren kod

Kancalar: eklenti çekirdeğe nasıl bağlanır?

WordPress'in eklenti belgeleri eklentiyi, WordPress'in temel işlevlerini genişleten kod paketleri olarak tanımlar. En basit hâliyle bir eklenti, başında belirli biçimde yazılmış bir açıklama bloğu bulunan tek bir PHP dosyasıdır. Eklenti çekirdeği değiştirmez; WordPress'in çalışma sırasında belirli noktalarda tetiklediği kancalara kendi kodunu bağlar. Action kancası “şu an geldiğinde şunu da yap” der, filter kancası ise “bu değeri kullanmadan önce bana ver, değiştireyim” der.

Aşağıdaki küçük eklenti, blog yazılarının başına tahmini okuma süresini ekleyen bir filtre kullanıyor:

<?php
/**
 * Plugin Name: Acme Okuma Süresi
 * Description: Yazıların başına tahmini okuma süresi ekler.
 * Version: 1.0.0
 */

add_filter( 'the_content', function ( $content ) {
    if ( ! is_singular( 'post' ) ) {
        return $content;
    }
    $text    = trim( wp_strip_all_tags( $content ) );
    $words   = count( preg_split( '/s+/u', $text ) );
    $minutes = max( 1, (int) ceil( $words / 200 ) );

    return '<p>' . esc_html( $minutes . ' dk okuma' ) . '</p>' . $content;
} );

Kod, çekirdek dosyalarına hiç dokunmadan sitenin davranışını değiştiriyor. Eklenti devre dışı bırakıldığında da site eski hâline döner.

Her eklenti bir bağımlılıktır

Eklenti kurmak, sitenize başkasının yazdığı ve sizin denetlemediğiniz kodu eklemek demektir. Üstelik WordPress'te eklentiler arasında yetki ayrımı yoktur: etkin bir eklenti veritabanının tamamına, dosya sistemine ve kullanıcı bilgilerine erişebilir. Bu yüzden her eklenti, yazılım projelerindeki herhangi bir bağımlılık gibi değerlendirilmelidir: kim geliştiriyor, en son ne zaman güncellendi, bilinen açıklarına ne kadar hızlı yanıt veriliyor? Geliştiricisi tarafından bırakılmış bir eklenti, bugün çalışıyor olsa bile yarının güvenlik açığıdır. Ücretli eklentilerin lisanssız “nulled” kopyaları ise sıklıkla arka kapı içerir.

Güncelleme ve güvenlik hijyeni

  • Envanter tutun: Hangi eklentinin neden kurulduğunu bilin. Kullanılmayan eklentileri yalnızca devre dışı bırakmayın, silin; sunucuda duran kod hâlâ bir risk olabilir.
  • Güncel kalın: WordPress 5.5'ten beri her eklenti için otomatik güncelleme ayrı ayrı açılabiliyor. Kritik olmayan eklentilerde bu ayar zahmeti azaltır; ödeme gibi kritik akışlarda ise güncellemeyi kontrollü yapmak daha güvenlidir.
  • Önce deneyin: Büyük güncellemeleri canlı siteye geçmeden bir staging ortamında test edin.
  • Geri dönüş yolu bırakın: Güncellemeden önce dosya ve veritabanının güncel bir yedeği olduğundan emin olun.
  • Yönetici hesaplarını azaltın: Eklenti kurma yetkisi yalnızca birkaç kişide olsun; bu, en az yetki ilkesinin WordPress'teki en somut uygulamasıdır.

Eklenti yazan geliştirici için temel kurallar

WordPress'in güvenlik rehberi tek bir ilkeyle başlar: kullanıcı girdisine asla güvenme. Pratikte bu, girdiyi kullanmadan önce doğrulamak ve temizlemek (sanitize_text_field() gibi fonksiyonlarla), çıktıyı mümkün olan en son anda kaçışlamak (esc_html(), esc_url()), form ve bağlantılarda isteğin gerçekten o kullanıcıdan geldiğini bir nonce ile doğrulamak ve işlem yapmadan önce current_user_can() ile yetkiyi kontrol etmek anlamına gelir. Fonksiyon ve seçenek adlarına önek vermek de başka eklentilerle çakışmayı önler.

“Az eklenti, hızlı site” doğru mu?

Kısmen. Belirleyici olan eklentilerin sayısı değil, her birinin ne yaptığıdır. Her sayfada büyük bir JavaScript paketi ve harici yazı tipleri yükleyen tek bir eklenti, yalnızca yönetim panelinde çalışan on küçük eklentiden daha fazla yavaşlatabilir. Eklentileri değerlendirirken ön yüze hangi dosyaları eklediklerine ve veritabanına kaç sorgu gönderdiklerine bakmak, sayılarından daha anlamlıdır.

İlgili terimler

← Sözlüğe dön