
İletişim formuna gelen spam'in büyük kısmı, formları otomatik dolduran botlardan gelir ve çoğu ziyaretçiye hiçbir ek adım yüklemeden engellenebilir. En etkili ve en zahmetsiz ikili: insanların görmediği ama botların doldurduğu gizli bir tuzak alanı (honeypot) ve formun birkaç saniyeden kısa sürede gönderilmesini reddeden bir süre kontrolü. Bunlar yetmezse IP başına gönderim sınırı ve Cloudflare Turnstile ya da reCAPTCHA gibi görünmez bir doğrulama eklenir. Ziyaretçiye trafik ışığı seçtiren eski tip doğrulamalar ise gerçek talepleri de azaltır.
Spam yalnızca can sıkıcı değil. Gelen kutusu dolunca gerçek talepler gözden kaçar ve spam'e cevap veren bir form, sitenizin e-posta itibarını da düşürebilir.
Spam'in kaynağını tanıyın
Forma gelen istenmeyen mesajlar genellikle üç türdür:
- Bot spam'i. Yabancı dilde, bağlantı dolu, anlamsız mesajlar. Saniyeler içinde, günün her saatinde gelir. Sorunun büyük kısmı bu.
- Satış mesajları. 'Sitenizin SEO'sunu yapalım', 'Google'da ilk sıraya çıkaralım' gibi mesajlar. Çoğu insan tarafından ya da yarı otomatik gönderilir; teknik önlemler bunları tamamen durdurmaz.
- Kötü niyetli denemeler. Forma kod parçaları girilerek açık aranması. Bunlar spam'den çok güvenlik konusu.
Aşağıdaki önlemler kolaydan zora doğru sıralı. Çoğu site için ilk ikisi sorunun çoğunu çözer.
1. Gizli tuzak alanı (honeypot)
Forma, CSS ile gizlenmiş bir alan eklenir. İnsan ziyaretçi bu alanı görmez ve boş bırakır. Botlar ise formdaki her alanı doldurma eğilimindedir. Alan doluysa mesaj sessizce çöpe atılır.
Ziyaretçiye sıfır yük getirir ve basit botların büyük kısmını durdurur. WordPress'te birçok form eklentisinin ayarlarında 'honeypot' ya da 'anti-spam' seçeneği olarak bulunur; Contact Form 7 için ayrı bir honeypot eklentisi vardır. Özel kodlanmış sitelerde birkaç satırlık bir iştir.
2. Süre kontrolü
Gerçek bir insan formu açıp ad, telefon ve mesaj yazana kadar en az birkaç saniye geçer. Botlar ise sayfayı yükler yüklemez gönderir. Sayfanın açılış zamanını formla birlikte gönderip, örneğin 3 saniyeden kısa sürede gönderilen mesajları reddetmek ikinci güçlü filtredir. Bu da ziyaretçiye görünmez.
3. IP başına gönderim sınırı
Aynı IP adresinden kısa sürede çok sayıda gönderimi engellemek, bir botun formu saatte yüzlerce kez doldurmasını önler. Örneğin 10 dakikada 5 gönderimden fazlasına izin vermemek, gerçek bir ziyaretçiyi hiç etkilemez. Kodyva'nın kendi sitesinde de form gönderimleri IP başına bir istek sınırından geçiyor. WordPress'te bazı güvenlik eklentileri bu sınırı form gönderimlerine de uygular; Cloudflare kullanıyorsanız form adresine özel bir hız sınırı kuralı yazabilirsiniz.
4. Görünmez doğrulama: Turnstile ve reCAPTCHA
İlk üç önlem yetmiyorsa, ziyaretçinin bot olup olmadığını arka planda değerlendiren bir doğrulama servisi eklenir.
Cloudflare Turnstile çoğu ziyaretçiye hiçbir şey sordurmadan çalışır ve hafiftir. Google reCAPTCHA v3 de görünmezdir; her gönderime bir puan verir ve düşük puanlıları reddetmenizi sağlar. İkisi de form eklentilerinin çoğuyla entegre çalışır.
KVKK notu: Bu servisler ziyaretçinin tarayıcısından veri toplayıp kendi sunucularına (yurt dışına) gönderir. Kullanıyorsanız gizlilik ve çerez metinlerinizde belirtmeniz gerekir. Form ve KVKK ilişkisini iletişim formunda KVKK onay kutusu yazısında ayrıntılı anlattık. Bu yüzden önce ilk üç önlemi denemenizi öneriyoruz; çoğu küçük işletme sitesinde dış bir servise gerek kalmıyor.
Ziyaretçiye resim seçtiren ya da bulanık harf yazdıran eski tip doğrulamalardan kaçının. Özellikle mobilde can sıkıcıdır ve formu yarıda bırakan gerçek müşteri sayısını artırır.
5. İçerik filtreleri
Bot mesajlarının ortak özellikleri vardır: çok sayıda bağlantı, belirli kelimeler, sitenizin dilinden farklı bir alfabe. Basit kurallar işe yarar:
- İkiden fazla bağlantı içeren mesajları işaretleyin ya da reddedin.
- Telefon alanına harf, ad alanına bağlantı girilmesini engelleyin.
- Türkçe hizmet veren bir sitede, tamamı farklı bir alfabeyle yazılmış mesajları ayrı bir klasöre yönlendirin.
WordPress'te Akismet gibi servisler mesajları bilinen spam kalıplarıyla karşılaştırır. Bunlar da mesaj içeriğini dış bir sunucuya gönderir; aynı KVKK notu geçerli.
Filtreleri reddetmek yerine 'şüpheli' olarak işaretleyecek şekilde kurmak daha güvenli. Gerçek bir müşterinin mesajı yanlışlıkla filtreye takılırsa, onu kaybetmek yerine şüpheli klasöründe bulursunuz.
6. E-posta adresini açık yazmayın
Sitede düz metin olarak yazılan e-posta adresleri, adres toplayan botlar tarafından kolayca alınır ve spam'in bir kısmı formdan değil doğrudan bu adrese gelir. Formu ana iletişim yolu yapın; e-posta adresini göstermeniz gerekiyorsa bir görsel yerine tıklanabilir ama botların zor okuyacağı şekilde yerleştirin. Formu daha çok talep getirecek şekilde tasarlamanın yollarını iletişim formu tasarımı yazısında anlattık.
Spam azaldı ama gerçek talepler de azaldı mı?
Her önlemden sonra formu kendiniz test edin: telefondan, farklı bir tarayıcıdan, hızlıca doldurarak. Gerçek talep sayısındaki bir düşüş, filtrelerin fazla sıkı olduğunu gösterebilir. Form mesajlarının hiç gelmemesi ise başka bir sorundur; iletişim formundan mail gelmiyor yazısındaki kontrolleri yapın.
Spam'in yoğunlaşması bazen sitenin ele geçirildiğinin de işaretidir: formdan değil, sitenizin kendisinden spam gönderiliyorsa hosting firmanız sizi uyarır. Bu durumda web sitesi güvenlik önlemleri listesine göz atın.
Form güvenliği ve düzenli testler, bakım ve destek kapsamındaki rutin kontrollerle birlikte yürüyebilir. Formunuz spam'e boğuluyorsa ve hangi önlemin size uygun olduğundan emin değilseniz bize yazın.
Sıkça Sorulan Sorular
reCAPTCHA kullanmak KVKK'ya aykırı mı?
Tek başına aykırı değil, ama ziyaretçi verisini Google'a ve yurt dışına gönderdiği için gizlilik ve çerez metinlerinizde belirtilmesi gerekir. Mümkünse önce honeypot ve süre kontrolü gibi dış servis gerektirmeyen önlemleri deneyin.
Honeypot gerçek ziyaretçileri engeller mi?
Doğru kurulursa hayır. Alan insanlara görünmez ve tarayıcının otomatik doldurma özelliğinin doldurmayacağı bir adla tanımlanmalıdır.
'SEO yapalım' mesajlarını nasıl durdururum?
Bunların bir kısmı insanlar tarafından gönderildiği için teknik önlemler tamamen durdurmaz. İçerik filtreleri ve şüpheli klasörü sayıyı azaltır; geri kalanını silmek en pratik yol.
Blog yazıları genel bilgilendirme amaçlıdır; hukuki, mali veya teknik danışmanlık yerine geçmez.