Spam, WordPress kullanıcılarının baş belası olmaya devam ediyor. WordPress sitelerini hedef alan bot ve spammer sayısının azımsanamayacak kadar çok olması, site sahiplerinin sitelerini korumanın yollarını aramasını da doğal kılıyor. Spam koruması için yardımcı olabilecek birçok eklenti mevcut. Ancak bu eklentilerin sitenizi yavaşlatması ve güvenlik riskleri barındırması da cabası. Gelin, eklenti kullanmadan WordPress sitenizi spamdan korumanın basit ama etkili yollarına bir göz atalım.
1. Yorumları global veya seçerek devre dışı bırakın
WordPress sitelerinde spamın başlıca kaynaklarından biri de yorumlar. Eğer sitenizde yorumlara ihtiyaç yoksa, bunları global olarak devre dışı bırakabilirsiniz. Bunu yapmak için şu adımları izleyin:
- WordPress yönetim panelinize giriş yapın.
- Ayarlar > İletişim sayfasına gidin.
- Varsayılan yazı ayarları başlığı altında Yeni yazılara yorum gönderilmesine izin ver seçeneğinin yanındaki kutucuğu işaretleyin.
- Sayfanın en altındaki Değişiklikleri Kaydet butonuna tıklayın.
Yorumları sadece belirli yazılarda veya sayfalarda devre dışı bırakmak istiyorsanız, bunu da şu şekilde yapabilirsiniz:
- Yorumları devre dışı bırakmak istediğiniz yazı veya sayfanın Düzenle sayfasına gidin.
- Sağ tarafta bulunan Yorumlar panelini bulun. Eğer görünmüyorsa sağ üst köşedeki üç noktalı menüye tıklayıp Seçenekler seçeneğini tıklayarak Yorumlar panelini görünür hale getirin.
- Yorumlara izin ver seçeneğinin yanındaki kutucuğu işaretleyin.
- Yaptığınız değişiklikleri kaydetmek için Güncelle veya Yayınla butonuna tıklayın.
2. Honeypot tekniğini uygulayın
Honeypot, yorum formunuza yalnızca botların görebileceği gizli bir alan ekleyerek spam botlarını yakalamanızı sağlayan bir yöntemdir. Bot gizli alanı doldurduğunda kendini spam olarak ifşa etmiş olur ve bu sayede yorum engellenebilir. WordPress sitenize honeypot uygulamak için temanızın functions.php
dosyasına şu kodu ekleyin:
function add_honeypot_field($fields) {
$fields['honeypot'] = '<input id="honeypot" style="display: none !important;" name="honeypot" type="text" value="" />';
return $fields;
}
add_filter('comment_form_default_fields', 'add_honeypot_field');
Ardından gizli alanı kontrol edecek kodu ekleyin:
function check_honeypot_field($commentdata) {
if (!empty($_POST['honeypot'])) {
wp_die('Spam detected.');
}
return $commentdata;
}
add_filter('preprocess_comment', 'check_honeypot_field');
3. .htaccess ile spam botları engelleyin
WordPress sitenizi spamdan korumanın bir diğer yolu da .htaccess dosyanızı değiştirmektir. Birkaç satır kod ekleyerek bilinen spam botlarının sitenize erişimini engelleyebilirsiniz. .htaccess dosyanıza şu kodu ekleyin:
# Spam botları engelle
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^.*(SpamBot|BadBot|FakeBot|AnnoyingBot).*$ [NC]
RewriteRule .* - [F,L]
Burada SpamBot|BadBot|FakeBot|AnnoyingBot
kısmını engellemek istediğiniz botların kullanıcı ajanları ile değiştirin.
4. Özel CAPTCHA ekleyin
CAPTCHA, kullanıcıların bir yorumu göndermeden önce basit bir görevi tamamlamasını isteyerek spamı önlemenin etkili bir yoludur. Eklenti kullanmadan WordPress sitenize özel bir CAPTCHA eklemek için şu adımları izleyin:
- Yeni bir eklenti oluşturun: Öncelikle WordPress eklenti dizini wp-content/plugins/ altında yeni bir klasör oluşturun. Klasörün ismini custom-captcha gibi açıklayıcı bir isim verin.
- Yeni bir PHP dosyası oluşturun: Eklenti klasöründe custom-captcha.php adında yeni bir PHP dosyası oluşturun. Bu dosya, özel CAPTCHA’nızın kodlarını içerecektir.
- CAPTCHA kodunu ekleyin: Özel CAPTCHA’nızın kodlarını custom-captcha.php dosyasına ekleyin. Kullanabileceğiniz birçok farklı CAPTCHA türü vardır. Örneğin resim tabanlı, matematik tabanlı veya soru tabanlı gibi. Web siteniz için uygun olan CAPTCHA türünü seçip kodları buna göre ekleyin.
- CAPTCHA’yı yorum formuna ekleyin: CAPTCHA’nızı yorum formuna eklemek için temanızın yorum formu şablonunu değiştirmeniz gerekecektir. Temanızdaki comments.php dosyasını bulun ve CAPTCHA’nın görünmesini istediğiniz yere şu kodu ekleyin:
<?php if (function_exists('custom_captcha_display')) custom_captcha_display(); ?>
- Eklentiyi kaydedin ve etkinleştirin: custom-captcha.php dosyasını kaydedin ve WordPress yönetim panelinden eklentiyi etkinleştirin. Artık özel CAPTCHA’nız WordPress sitenizde çalışıyor olmalıdır. Bu temel bir uygulamadır ve ayarlanabilir ayarlar veya birden fazla dil desteği gibi ek özellikler ile geliştirilebilir.
5. WordPress 4.4 Değişikliklerinin Antispam Eklentilerini Kırma Sebebi ve Ne Yapabileceğiniz
WordPress 4.4 ile birlikte yorumların yüklenme şeklinin değişmesi antispam eklentilerinin çalışmamasına sebep oldu. Önceki sürümlerde yorumlar sayfada hiç yorum olmasa bile her sayfada yükleniyordu. Bu sayede antispam eklentileri yorumları kontrol edip spam olanları engelleyebiliyordu. Ancak WordPress 4.4 ile birlikte performansı artırmak amacıyla “kısmi yükleme” adı verilen bir özellik eklendi. Bu özellik sayesinde yalnızca sayfanın çalışması için gerekli olan kısımlar yükleniyor. Dolayısıyla yorumlar her sayfada yüklenmediği için antispam eklentileri spam yorumları engelleyemiyor.
Bu durumu düzeltmek için şu çözümlerden birini deneyebilirsiniz:
- Antispam eklentinizi WordPress 4.4 ve üzeri ile uyumlu yeni bir sürüme yükseltin. Birçok antispam eklentisi 4.4 ile birlikte gelen kısmi yükleme özelliği ile uyumlu olacak şekilde güncellenmiştir.
- Kısmi yüklemeyi devre dışı bırakmak için şu kodu functions.php dosyanıza ekleyin:
add_filter( 'wp_comment_query', function( $query ) {
if ( ! is_admin() && ! empty( $query['query_vars']['type'] ) && 'comment' === $query['query_vars']['type'] ) {
$query['query_vars']['type'] = '';
}
return $query;
} );
Bu kod, yorumlar için kısmi yüklemeyi devre dışı bırakacak ve antispam eklentilerinin spam yorumları engellemesine olanak tanıyacaktır.
- WordPress’in sunduğu yerleşik Akismet antispam hizmetini kullanın. Akismet, WordPress ile birlikte gelen güçlü bir antispam hizmetidir. Bir API anahtarı almanız gerekecektir. Ancak etkinleştirildiğinde Akismet, spam yorumları otomatik olarak filtreleyecektir.
Antispam eklentilerinin %100 etkili olmadığını unutmamak gerekir. Yorumlarınızı kontrol etmek ve şüpheli olanları manuel olarak onaylamak veya reddetmek her zaman iyi bir fikirdir. Antispam eklentileri ve manuel moderasyon birlikte kullanıldığında WordPress siteniz spamdan uzak kalacaktır.
Yukarıdaki yazının Türkçe versiyonuna şu adresten ulaşabilirsiniz.
İlgili
İlgili
Last modified: Mayıs 21, 2025