
WordPress’e Turnstile ekleyin: Sunucu doğrulamasını atlamayın

WordPress’te Cloudflare Turnstile kurmak için Cloudflare panelinde bir widget oluşturun, anahtarlarını Simple CAPTCHA with Cloudflare Turnstile eklentisine girin ve korunacak formları seçin. Eklentinin kurulum adımları, ayarları kaydettikten sonra “TEST API RESPONSE” düğmesinin çalıştırılmasını da istiyor. Giriş, yorum ve iletişim formlarından yalnızca sitenizde kullanılanları etkinleştirin.
Kurulumun güvenlik açısından belirleyici kısmı, gönderim anında gerçekleşir. Cloudflare’ın Siteverify yönergesine göre tarayıcıdaki bileşen tek başına formu korumaz: sunucu token’ı doğrulamalı ve başarısız yanıt aldığında işlemi reddetmelidir. Bu nedenle API testinden sonra seçtiğiniz formlarda geçerli gönderimin ilerlediğini, token içermeyen gönderimin ise işlem oluşturmadığını ayrıca sınayın.
Cloudflare panelinde anahtarları oluşturun
Cloudflare hesabınızda Turnstile bölümünü açıp yeni bir widget ekleyin. Cloudflare’ın panel adımları, widget adı, kullanılacak alan adları ve çalışma modu seçildikten sonra site anahtarı ile gizli anahtarın kopyalanmasını tarif ediyor. Formun açıldığı alan adını yazın; site farklı bir alt alan adında veya test ortamında da çalışıyorsa o adresleri yapılandırmada ayrıca değerlendirin.
Site anahtarı, ziyaretçinin tarayıcısında çalışan bileşeni tanımlar. Gizli anahtar, sunucunun token doğrulama isteği için kullanılır; onu herkese açık sayfa koduna, paylaşılan ekran görüntüsüne veya istemci tarafındaki bir ayara koymayın. Anahtarları aynı widget’tan kopyalayın. Bileşenin sayfada görünmesi, yanlış eşleştirilmiş anahtarlarla gönderimin başarıyla doğrulanacağı anlamına gelmez.
Eklentide formları seçip API testini çalıştırın
WordPress yönetim panelinde eklentiyi kurup etkinleştirin; ardından Settings > Cloudflare Turnstile yolunu açın. Site anahtarını ve gizli anahtarı ilgili alanlara girin, korunacak form türlerini işaretleyin ve değişiklikleri kaydedin. WordPress giriş, kayıt, parola sıfırlama ve yorum formları ayrı seçeneklerdir. İletişim formu için kullandığınız eklentinin entegrasyonunu seçmeniz gerekir; yalnızca genel bir form seçeneğinin açık olmasına güvenmeyin.
“TEST API RESPONSE” düğmesini çalıştırıp gösterilen sonucu okuyun. Test başarısızsa form denemelerine geçmeden önce anahtarları ve widget ayarlarını düzeltin. Test başarılıysa seçili formları ziyaretçi olarak açın: yönetici oturumuyla yapılan kontrol, oturum açmış kullanıcıları muaf tutan bir ayar yüzünden gerçek ziyaretçi deneyimini göstermeyebilir. Bileşenin görünüm modu nedeniyle her zaman belirgin olmayabileceğini de hesaba katın; asıl ölçüt gönderimin nasıl sonuçlandığıdır.
Hata mesajı, gönder düğmesini bekletme, oturum açmış kullanıcı muafiyeti, hata ayıklama günlüğü ve kesinti davranışı gibi ek ayarları ihtiyacınıza göre gözden geçirin. Kesinti sırasında gönderime izin veren bir tercih açıksa bunu bilinçli olarak seçin; bu tercih, geçersiz token’a verilen olağan yanıttan farklı bir durumu yönetir. Form spamını azaltma hedefi için hangi gönderim yollarının muaf bırakıldığını bilmek, ekrandaki bileşeni görmek kadar önemlidir.
Sunucunun geçersiz gönderimi reddettiğini sınayın
API yanıt testinin başarılı olması, her form entegrasyonunun kendi gönderim yolunda token denetlediğini tek başına göstermez. Kontrolü mümkünse test ortamında, gerçek kullanıcı verisi veya gerçek ödeme oluşturmadan yapın. Aynı formda önce normal bir gönderimin beklenen sonucu verdiğini görün; aksi hâlde sonraki ret sonucunun Turnstile’dan mı, formdaki başka bir hatadan mı kaynaklandığını ayıramazsınız.
- Seçili formu, muaf tutulmayan bir ziyaretçi oturumunda doldurup gönderin. Yorumun yayımlanması veya iletişim formunun beklenen başarı yanıtını vermesi gibi ilgili sonucu kontrol edin.
- Tarayıcının ağ araçlarında form isteğini inceleyin. Test ortamında isteği geçerli form alanları, gerekli oturum bilgileri ve formun kendi güvenlik alanlarıyla yeniden oluşturun; Turnstile token alanını çıkarın. Yalnızca bileşeni ekrandan gizlemek, sunucu denetimini sınamaz.
- Yanıtta doğrulama hatasını ve işlemin gerçekleşmediğini birlikte arayın. Bazı formlar hata mesajını başarılı bir HTTP yanıtının içinde gösterir; bu yüzden yalnızca durum koduna bakmayın. Yorumun, mesajın veya siparişin gerçekten oluşturulup oluşturulmadığını da kontrol edin.
Token olmadan işlem yine tamamlanıyorsa ilgili formun sunucu tarafındaki entegrasyonunu inceleyin. Özel bir form işleyicisi veya ayrı bir AJAX uç noktası, standart WordPress formundan farklı davranabilir. Deneme sırasında oturum açmış kullanıcı muafiyeti ya da başka bir istisna etkinse önce bunların sonucu etkileyip etkilemediğini belirleyin. Geçerli bir token’ın süresi dolduğunda veya yeniden kullanıldığında reddedilmesi de beklenir; uzun süre açık kalan ya da yeniden yüklenmeden tekrar gönderilen formda yeni token üretilmelidir.
WooCommerce ödemesini kullanılan akışta kontrol edin
WooCommerce kullanıyorsanız ödeme sayfasını sitenizin gerçek teması ve ödeme yöntemleriyle sınayın. Klasik ödeme formu, Checkout bloğu, hızlı ödeme düğmesi ve “sipariş için öde” sayfası aynı akış değildir. Kargo veya ödeme seçeneği değiştiğinde form yeniden çizilebilir; bileşenin son gönderim sırasında ilgili formda bulunduğunu ve başarısız denemeden sonra yeni doğrulama alınabildiğini kontrol edin.
Test ödeme yöntemiyle normal bir sipariş denemesi yapın. Ardından Turnstile’ın etkin olması gereken ödeme yolunda token alanını çıkardığınız bir isteğin sipariş oluşturmamasını bekleyin. Bazı hızlı ödeme yöntemleri eklenti ayarlarıyla Turnstile denetiminin dışında tutulabilir; böyle bir yolu, korunan standart ödeme formunun ret testi yerine kullanmayın. Siparişin oluşup oluşmadığını yönetim panelinden kontrol etmek, ödeme sayfasında görünen mesajı tek başına yorumlamaktan daha güvenilir bir sonuç verir.
Doğrulama başarısızsa belirtiye göre ilerleyin
Bileşenin yüklenmesi, API testi ve formun gönderim sonucu farklı aşamalardır. Belirtiyi bu aşamalardan birine bağlayarak başlayın; böylece anahtar sorununu form entegrasyonunda, form entegrasyonu sorununu da widget görünümünde aramazsınız.
- Bileşen görünmüyor: İlgili form türünün seçili olduğunu ve widget’ın alan adı ayarının formun açıldığı adresi kapsadığını kontrol edin. Önbellek veya JavaScript geciktirme ayarlarını test ortamında değiştirerek formu yeniden açın.
- API testi başarısız: Site anahtarı ile gizli anahtarın aynı widget’a ait olduğunu doğrulayın. Gizli anahtarı yeniden kopyalayın ve sunucunun dışarıya doğrulama isteği gönderebildiğini denetleyin.
- Geçerli ziyaretçi reddediliyor: Uzun süre açık kalan formu yenileyin. Yeniden yüklenmeden çalışan formlarda başarısız denemeden sonra yeni token alınıp alınmadığını ve gösterilen hata mesajını inceleyin.
- Token’sız gönderim kabul ediliyor: Test oturumunun muafiyet kapsamında olup olmadığını, kesinti ayarını ve isteğin gerçekten seçtiğiniz form entegrasyonundan geçip geçmediğini kontrol edin. Ayrı bir gönderim yolu varsa doğrulamayı o yolda da sınayın.
Ayrıca okuyun:
İlgili makaleler


WordPress mi Webflow mu? Kolay bakım, çıkışı zorlaştırabilir

Cloudflare bot savunmasını canlı eğitiyor; dönen kurallar henüz hazır değil

Veri ihlalinde ilk 72 saat: Bildirimden önce kanıtı kaybetmeyin

Plausible mı GA4 mü? Ücretsiz analiz, eksik ziyaretçiye dönüşebilir

PodGround iki podcast üreticisine 500 dolar verecek: Son gün 12 Eylül
Bültenimize abone olun
En son Web3, yapay zekâ ve kripto haberleri doğrudan gelen kutunuza gelsin.