WordPress'in yorum sistemi, herkese açık trafik aldığı andan itibaren spam botların ilgi odağına dönüşür. Tek bir ayarla çözüm bulmak mümkün olmasa da, birkaç katmanlı savunmayla spam trafiği gerçekçi bir seviyeye indirilebilir. Bu yazıda hem WordPress'in yerleşik denetimlerini hem de eklenti tabanlı koruma kombinasyonlarını AIOR olarak müşteri sitelerinde kullandığımız sırayla anlatıyoruz.
1) Yerleşik moderasyon ayarları
WordPress yönetici panelinde Settings > Discussion altında çok sayıda küçük ama önemli denetim vardır:
- "Comment author must fill out name and email" — anonim yorumları engeller.
- "Users must be registered and logged in to comment" — kapalı topluluklarda etkilidir.
- "Automatically close comments on posts older than X days" — eski yazıları spam hedefi olmaktan çıkarır.
- "Comment must be manually approved" — küçük sitelerde basit bir koruma.
- "Comment author must have a previously approved comment" — beyaz liste mantığı.
2) Kara liste anahtar kelimeleri
Aynı menüdeki "Disallowed Comment Keys" alanına, sık tekrar eden spam kelimeleri, URL parçalarını veya e-posta domainlerini ekleyin. Her bir satır bağımsız bir kuraldır; eşleşme olursa yorum çöp kutusuna düşer. Tipik liste: "viagra", "cialis", "crypto", "loan", ".xyz", ".click".
3) Akismet veya Antispam Bee
Akismet, Automattic'in resmi spam koruma servisidir; ücretsiz tier küçük siteler için yeterlidir. Antispam Bee tamamen ücretsiz açık kaynaklı bir alternatiftir ve dış sunucuya veri göndermez. AIOR olarak çoğu müşteri sitesinde Antispam Bee + manuel kara liste kombinasyonunu tercih ediyoruz; KVKK uyumu için dış sunucu çağrısı yok denecek kadar az.
4) reCAPTCHA v3 entegrasyonu
"Invisible reCAPTCHA" eklentisi v3 ile yorum formuna sessiz bir bot puanlaması ekler; 0.5 altında puanı olan istekler yorum kuyruğuna düşer. v2 "I'm not a robot" yerine v3'ü tercih ediyoruz; kullanıcı deneyimini bozmadan koruma sağlar.
5) Honeypot alanı
"Honeypot for WP Comment Form" gibi hafif eklentiler, formuna görünmez bir alan ekler. Botlar her alanı doldurduğu için bu alan dolu gelen yorumları otomatik reddeder. Düşük maliyetli, etkili bir katmandır.
6) Login gerekliliği ile yarı-kapalı yorum
Eğer site bir topluluk forumu değilse, sadece kayıtlı kullanıcıların yorum bırakmasına izin vermek pratik bir çözümdür. AIOR'un kendi blogunda bu yaklaşım uygulanır; yorumlar Tartışma platformuna yönlendirilir.
7) Sunucu seviyesi savunma
DirectAdmin + Imunify360 ortamında /wp-comments-post.php endpoint'ine yapılan istekler için fail2ban veya ModSecurity kuralları yazılabilir. AIOR'da bu endpoint dakikada 5 istek üzeri hızlardan otomatik olarak rate-limit'lenir. Spam botlarının çoğu bu yumuşak kapıdan dönüş yapar.
8) Mevcut spam'ı temizleme
Tonlarca onaysız spam yorumu temizlemek için:
Code:
DELETE FROM wp_comments WHERE comment_approved = 'spam';
DELETE FROM wp_commentmeta WHERE comment_id NOT IN (SELECT comment_ID FROM wp_comments);
9) Ne kadar çalışıyor?
AIOR olarak yönettiğimiz orta ölçekli bloglarda Antispam Bee + Honeypot + Disallowed Keys kombinasyonu, manuel onay kuyruğunu günde 100'lerden 5'in altına indirdi. Bu seviyede yorumların okunması ve gerçek kullanıcılara cevap vermek yönetilebilir hâle gelir.
10) Kapatma alternatifi
Bazı işletme sitelerinde yorum işlevi büsbütün kapatılır. Settings > Discussion > Allow people to submit comments on new posts seçeneğini kaldırın ve eski yazılar için aynı menüden toplu uygulayın. Bu, ticari sitelerde sürdürülmesi en kolay yoldur.
A WordPress site's comment system becomes a spam-bot target the moment it gets any public traffic. There is no single switch that solves it, but a layered defence brings the spam load down to a realistic level. This is the order we deploy these defences on client sites at AIOR.
1) Built-in moderation settings
Under Settings > Discussion WordPress hides several small but important controls:
- "Comment author must fill out name and email" — blocks anonymous spam.
- "Users must be registered and logged in to comment" — effective on private communities.
- "Automatically close comments on posts older than X days" — old posts stop being spam magnets.
- "Comment must be manually approved" — simple safeguard on low-volume sites.
- "Comment author must have a previously approved comment" — implicit whitelist.
2) Disallowed comment keys
The "Disallowed Comment Keys" field accepts one rule per line — words, URL fragments, e-mail domains. Matches drop straight to trash. A typical seed list: viagra, cialis, crypto, loan, .xyz, .click.
3) Akismet or Antispam Bee
Akismet is Automattic's official spam filter; the free tier is enough for small sites. Antispam Bee is a fully open-source alternative that does not call out to a remote service. At AIOR we typically deploy Antispam Bee plus a manual disallowed-keys list to keep KVKK compliance simple, with no external data exchange.
4) reCAPTCHA v3 integration
The "Invisible reCAPTCHA" plugin scores requests with v3 and routes scores below 0.5 to moderation. We use v3 instead of the v2 "I am not a robot" checkbox because it doesn't disrupt the user experience.
5) Honeypot field
Plugins like "Honeypot for WP Comment Form" insert an invisible field that bots fill in automatically. Any submission with content in that field is rejected silently. Cheap, effective, low maintenance.
6) Login-required commenting
If the site is not actively trying to host an open conversation, requiring a registered account is the strongest realistic defence. AIOR's own blog follows this pattern, redirecting public discussion to the Community forum.
7) Server-side defence
On DirectAdmin with Imunify360, fail2ban or ModSecurity rules can rate-limit /wp-comments-post.php. At AIOR this endpoint is throttled above five hits per minute per IP. Most spam bots give up at that rate.
8) Cleaning up existing spam
To purge accumulated spam:
Code:
DELETE FROM wp_comments WHERE comment_approved = 'spam';
DELETE FROM wp_commentmeta WHERE comment_id NOT IN (SELECT comment_ID FROM wp_comments);
9) How well does it work?
On the mid-sized blogs we manage, Antispam Bee + Honeypot + Disallowed Keys typically reduces the manual-approval queue from 100+ daily to under 5. At that level it becomes feasible to read each comment and reply to genuine readers.
10) Or just turn it off
On many business sites comments add no value. Disable Settings > Discussion > Allow people to submit comments on new posts and run a bulk action on existing posts to close their comment sections. For commercial sites this is the simplest long-term answer.