İçeriğe atla
+90 552 219 16 99 Hafta içi 09:00 – 18:00
Müşteri Paneli
CIR.Blog Hosting al

WordPress Spam Yorum Engelleme: Ayarlar, Filtre ve Temizlik

8 dakika okuma WordPress
WordPress Spam Yorum Engelleme: Ayarlar, Filtre ve Temizlik - CIR blog kapak gorseli

Yeni kurulmuş bir WordPress sitesi, hiç tanıtılmamış olsa bile birkaç gün içinde spam yorum almaya başlar. Sebebi basit: botlar alan adı kayıtlarını ve yeni sertifika kayıtlarını tarayıp WordPress kurulumlarını bulur, sonra wp-comments-post.php adresine doğrudan istek gönderir. Sitenizde tek bir ziyaretçi olmadan günde yüzlerce yorum birikebilir.

Bu yorumlar yalnızca can sıkıcı değil. Onay kuyruğunda bekleyen her yorum veritabanında satır kaplar, her spam denemesi sunucuda PHP çalıştırır ve yayına sızan bağlantılar sitenizin itibarını düşürür.

Aşağıda spam yorumu önlemenin katmanlarını sırayla ele alıyoruz: önce WordPress’in kendi ayarları, sonra filtreleme yöntemleri, en sonda biriken çöpü temizleme.

WordPress yorum ayarlarını sıkılaştırma

İlk durak Ayarlar > Tartışma ekranıdır ve buradaki birkaç kutu spam hacminin önemli kısmını keser.

  • “Yorum yazarı ad ve e-posta girmeli” işaretli olsun.
  • “Kullanıcılar kayıtlı ve giriş yapmış olmalı” — kapalı topluluk sitelerinde en etkili ayardır, ancak açık bir blogda yorum sayısını ciddi düşürür.
  • “Yorumları şu kadar gün sonra otomatik kapat” kutusunu işaretleyip 30-60 gün yazın. Spam botlarının hedefi genelde eski yazılardır.
  • “Yorum manuel olarak onaylanmalı” açıkken hiçbir şey siz görmeden yayına girmez.
  • “Yorum yazarının daha önce onaylanmış bir yorumu olmalı” makul bir orta yoldur: ilk yorum kuyrukta bekler, sonrakiler otomatik geçer.
  • “Şu kadar veya daha fazla bağlantı içeren yorumları kuyruğa al” alanına 2 yerine 1 yazın.

Aynı ekranın alt kısmında iki kutu daha vardır: “Yorum Onayı Kuyruğu” ve “Yorum Çöp Kutusu”. Kuyruk kutusuna spam yorumlarda sık geçen ifadeleri satır satır ekleyin. Çöp kutusuna yazılan bir ifade geçen yorum ise hiç kaydedilmeden doğrudan spam’e gider.

Kelime filtresi nasıl kurulur?

Kelime filtresi kaba ama etkilidir. Yorumun metninde, adında, URL’sinde, e-postasında veya IP’sinde geçen her eşleşme tetikler. Filtreye şunları eklemek çoğu siteyi rahatlatır: sık kullanılan ilaç ve kumar terimleri, .ru, .cn, .top, .xyz gibi spam yoğun uzantılar ve [url= ile <a href gibi ham bağlantı kalıpları.

Kısmi eşleşme yaptığına dikkat edin: filtreye cir yazarsanız “birincir” gibi masum kelimeler de yakalanır. Türkçe içerikli sitede yanlış pozitifleri azaltmak için genel kelimeler yerine tam kalıplar tercih edin. Filtreyi kurduktan sonraki ilk hafta spam kuyruğunu gözden geçirip gerçek yorumun takılıp takılmadığına bakın.

Akismet ve alternatifleri

Akismet WordPress ile birlikte gelen, yorumları merkezi bir veritabanıyla karşılaştıran hizmettir. Ticari olmayan kişisel siteler için ücretsiz bir katman sunar, ticari kullanımda aylık ücretlidir. Kurulumu bir API anahtarı girmekten ibarettir ve yakaladığı yorumları doğrudan Spam klasörüne atar.

Yöntem Nasıl çalışır Kullanıcıya etkisi Not
Akismet Bulut tabanlı itibar kontrolü Yok Yorum içeriği dış sunucuya gider, KVKK açısından aydınlatma metninde belirtin
Antispam Bee Yerel kurallar, bulut yok Yok Veri site dışına çıkmaz
Honeypot Gizli alan; bot doldurunca reddedilir Yok Basit botlarda çok etkili
reCAPTCHA / hCaptcha Davranış analizi veya bulmaca Orta-yüksek Erişilebilirlik sorunu yaratabilir
Sunucu güvenlik duvarı İstek daha PHP’ye ulaşmadan engellenir Yok Kaynak tüketimini de azaltır

Yorum içeriğinin dışarı gönderilmesi KVKK kapsamında değerlendirilmesi gereken bir aktarımdır; gizlilik metninizde hangi hizmeti kullandığınızı yazın. Yerelde kalmasını istiyorsanız Antispam Bee gibi bulut kullanmayan bir eklenti daha uygun olur.

Honeypot mu captcha mı?

Honeypot, forma insanın göremeyeceği bir alan koyar. Tarayıcıda CSS ile gizlidir, ama HTML’i okuyan bot alanı doldurur ve yorum reddedilir. Ziyaretçi hiçbir şey yapmaz, hiçbir şey görmez. Basit spam botlarının büyük kısmını durdurur.

Captcha ise ziyaretçiden iş ister. reCAPTCHA v3 görünmez çalışır ama her sayfaya Google’a ait 200 KB civarında bir betik ekler ve bir puanlama eşiği yönetmenizi gerektirir. v2’deki “trafik ışıklarını seç” tipi bulmacalar dönüşümü düşürür ve ekran okuyucu kullananlar için engel çıkarır.

Pratik öneri: önce honeypot ile başlayın, ayarları sıkılaştırın ve bir spam filtresi ekleyin. Spam hâlâ günde 50’nin üzerindeyse captcha’yı yalnızca yorum formuna ekleyin, iletişim ve arama formlarına bulaştırmayın.

Yorumları kapatmak ve eski yazılarda otomatik kapatma

Kurumsal tanıtım sitelerinin çoğunda yoruma ihtiyaç yoktur. Kapatmak meşru bir karardır ve bakım yükünü sıfırlar.

  1. Yeni içerikler için: Ayarlar > Tartışma ekranında “Yeni yazılarda yoruma izin ver” kutusunun işaretini kaldırın. Bu yalnızca bundan sonra oluşturulacak yazıları etkiler.
  2. Mevcut içerikler için: Yazılar > Tümü ekranında hepsini seçin, “Toplu İşlemler” listesinden “Düzenle” deyip Uygula’ya basın, açılan kutuda “Yorumlar” alanını “İzin verme” yapıp güncelleyin.
  3. Sayfalar için aynı işlemi Sayfalar > Tümü ekranında tekrarlayın; iletişim ve hakkımızda sayfaları sık unutulur.
  4. Ortam dosyaları için: görsel ek sayfaları da yorum alabilir; SEO eklentisiyle ek sayfalarını görsele yönlendirmek bu kapıyı da kapatır.

Otomatik kapatmayı tercih ederseniz 30 gün makul bir eşiktir. Haber ve duyuru ağırlıklı sitelerde tartışma zaten ilk hafta içinde biter.

Pingback ve trackback’i kapatın

Pingback, başka bir site sizin yazınıza bağlantı verdiğinde otomatik bir bildirim yorumu oluşturan eski bir özelliktir. Bugün neredeyse yalnızca spam üretir ve daha kötüsü, XML-RPC üzerinden çalıştığı için siteniz başkalarına yönelik saldırılarda aracı olarak kullanılabilir.

Ayarlar > Tartışma ekranında ilk iki kutuyu kapatın: “Yazıdaki diğer bloglara bağlantı bildirmeye çalış” ve “Yeni yazılara bağlantı bildirimlerine izin ver”. Bu, yalnızca yeni yazılar için geçerlidir; eski yazılarda aynı toplu düzenleme yöntemiyle “Geri bildirimler” alanını “İzin verme” yapın.

XML-RPC’yi tamamen kapatmak istiyorsanız güvenlik eklentileriyle ya da .htaccess içinde <Files xmlrpc.php> bloğuyla erişimi engelleyebilirsiniz. Jetpack veya WordPress mobil uygulaması kullanıyorsanız bu dosyaya ihtiyaç duyulabileceğini hesaba katın. Bu ve benzeri sertleştirme adımlarını WordPress güvenliği yazısında topluca ele alıyoruz.

Spam yorumların veritabanı ve performansa etkisi

Spam yorumlar wp_comments tablosuna, her birinin ek verisi de wp_commentmeta tablosuna yazılır. 50 bin spam yorum biriken bir sitede bu iki tablo kolayca 60-120 MB’a ulaşır. Sonuçları somut: pano yavaşlar, yedek dosyaları büyür, veritabanı sorguları uzar ve yorum sayacı içeren tema bileşenleri her sayfada gereksiz iş yapar.

Ayrıca her spam denemesi bir PHP isteğidir. Sayfa önbelleği bu isteği kesmez çünkü wp-comments-post.php her seferinde çalışır. Yoğun bir botnet saldırısında paylaşımlı hosting hesabınızın CPU ve giriş süreci (entry process) limitleri dolabilir; site 503 vermeye başlar. Kaynak sınırlarının ne anlama geldiğini hosting fiyatlandırması yazısında açıklıyoruz.

Toplu temizlik nasıl yapılır?

Panoda Yorumlar > Spam sekmesine gidip “Spam’daki tümünü boşalt” düğmesine basmak ilk adımdır. Binlerce kayıt varsa işlem zaman aşımına düşebilir; o zaman ekran seçeneklerinden sayfa başına 20 yerine 200 kayıt gösterip parça parça silin.

Daha hızlısı phpMyAdmin’dir. Önce veritabanı yedeği alın, sonra SQL sekmesinde şu sorguları sırayla çalıştırın: DELETE FROM wp_comments WHERE comment_approved = 'spam'; ardından yetim kalan meta kayıtlarını temizlemek için DELETE FROM wp_commentmeta WHERE comment_id NOT IN (SELECT comment_id FROM wp_comments);. Tablo önekiniz wp_ değilse sorguları ona göre düzeltin.

Silme işleminden sonra tabloları phpMyAdmin > tabloyu seç > İşlemler > Tabloyu iyileştir ile sıkıştırın; boşalan alan böylece geri kazanılır. Son olarak Yorumlar ekranındaki onay kuyruğunu da gözden geçirin, silmeden önce içinde gerçek yorum kalıp kalmadığına bakın.

Özetle

  • Ayarlar > Tartışma ekranındaki onay kuyruğu, bağlantı sayısı sınırı ve otomatik kapatma ayarları spam hacminin büyük kısmını keser.
  • Filtreleme için önce honeypot ve bir spam eklentisi deneyin; captcha’yı ancak gerekirse ve yalnızca yorum formunda kullanın.
  • Akismet yorumları dış sunucuya gönderir; KVKK açısından bunu gizlilik metninizde belirtin, istemiyorsanız yerel çalışan bir alternatif seçin.
  • Pingback ve trackback’i kapatın; bugün sağladığı fayda ürettiği spam ve riskin yanında ihmal edilebilir.
  • Biriken spam’i düzenli temizleyin ve tabloları iyileştirin; 50 bin kayıt panoyu ve yedekleri gözle görülür yavaşlatır.

Bunlar da ilginizi çekebilir