WordPress reCAPTCHA Nasıl Kurulur? sorusuna adım adım çözüm sunan bu rehberde, reCAPTCHA entegrasyonu, gerekli kodlar ve en iyi uygulamalar açıklanıyor.
GİRİŞ
Web sitelerinin güvenliğini artırmak, spam ve kötü amaçlı botların girişini engellemek, günümüzün en kritik ihtiyaçlarından biridir. WordPress platformu, milyonlarca siteye ev sahipliği yaptığı için saldırı vektörleri de oldukça çeşitlidir. Bu noktada reCAPTCHA, Google tarafından sunulan ve insan‑bot ayrımını sağlayan bir doğrulama mekanizmasıdır. WordPress sitenize reCAPTCHA eklemek, yorum formları, giriş sayfaları, şifre sıfırlama ve özel formlarda bot trafiğini büyük ölçüde azaltır.
Uzman İpucu: reCAPTCHA’yı yalnızca kritik formlara eklemek, kullanıcı deneyimini korurken güvenliği maksimize eder.
TEKNİK ALTYAPI VE YAPILANDIRMA
reCAPTCHA iki temel sürümde sunulur:reCAPTCHA v2(“Ben bir robot değilim” kutucuğu) ve reCAPTCHA v3(puan tabanlı, kullanıcı etkileşimi gerektirmez). WordPress içinde bu sürümler,Google API anahtarları(site anahtarı ve gizli anahtar) ile çalışır.
Aşağıda, functions.php dosyasına eklenebilecek temel yapılandırma örneği yer almaktadır:
<?php
// reCAPTCHA API anahtarlarını tanımla
define( 'RECAPTCHA_SITE_KEY', 'YOUR_SITE_KEY' );
define( 'RECAPTCHA_SECRET_KEY', 'YOUR_SECRET_KEY' );
// Formda reCAPTCHA HTML kodunu ekle
function add_recaptcha_to_form() {
echo '<div class="g-recaptcha" data-sitekey="' . RECAPTCHA_SITE_KEY . '"></div>';
echo '<script src="https://www.google.com/recaptcha/api.js" async defer></script>';
}
add_action( 'login_form', 'add_recaptcha_to_form' ); // Giriş formuna ekle
add_action( 'register_form', 'add_recaptcha_to_form' ); // Kayıt formuna ekle
// reCAPTCHA yanıtını doğrula
function verify_recaptcha_response( $response ) {
$remote_ip = $_SERVER['REMOTE_ADDR'];
$verify_url = 'https://www.google.com/recaptcha/api/siteverify';
$args = array(
'body' => array(
'secret' => RECAPTCHA_SECRET_KEY,
'response' => $response,
'remoteip' => $remote_ip,
),
);
$request = wp_remote_post( $verify_url, $args );
$result = json_decode( wp_remote_retrieve_body( $request ), true );
return ( $result['success'] && $result['score'] >= 0.5 );
}
// Giriş sırasında reCAPTCHA kontrolü
function check_login_recaptcha( $user, $username, $password ) {
if ( isset( $_POST['g-recaptcha-response'] ) ) {
$recaptcha_response = sanitize_text_field( $_POST['g-recaptcha-response'] );
if ( ! verify_recaptcha_response( $recaptcha_response ) ) {
return new WP_Error( 'recaptcha_error', __( '<strong>HATA:</strong> reCAPTCHA doğrulaması başarısız oldu.' ) );
}
}
return $user;
}
add_filter( 'authenticate', 'check_login_recaptcha', 30, 3 );
?>
Açıklama:Yukarıdaki kod, giriş ve kayıt formlarına reCAPTCHA v2 ekler, gelen yanıtı Google API üzerinden doğrular ve başarısız doğrulama durumunda oturumu engeller.
BİLEŞEN VE DEĞERLENDİRME TABLOSU
| Bileşen | İşlev | Önem Derecesi | Etki |
|---|---|---|---|
| reCAPTCHA v2 (checkbox) | Kullanıcı onayı, görsel doğrulama | Yüksek | Spam ve bot girişlerini %90‑95 azaltır |
| reCAPTCHA v3 (puan) | Arka planda davranış analizi | Orta | Kullanıcı deneyimini bozmadan korur |
| Invisible reCAPTCHA | Görünmez, otomatik tetikleme | Yüksek | Düşük tıklama oranı, yüksek güvenlik |
| hCaptcha (alternatif) | GDPR uyumlu, benzer doğrulama | Orta | Avrupa veri koruma düzenlemeleriyle uyum |
ADIM ADIM UYGULAMA VE İŞLEM ADIMLARI
-Adım 1:Google reCAPTCHA hesabı oluştur ve site anahtarı ile gizli anahtar al.
-Adım 2:WordPress yönetim panelinde Görünüm → Tema Düzenleyici yoluyla aktif temanın functions.php dosyasını aç.
-Adım 3:Yukarıda verilen PHP kod bloğunufunctions.php dosyasının sonuna ekle.
-Adım 4:RECAPTCHA_SITE_KEY ve RECAPTCHA_SECRET_KEY sabitlerini, Google’dan aldığın anahtarlarla değiştir.
-Adım 5:Giriş, kayıt ve yorum formlarını test et. Form gönderildiğinde g-recaptcha-response alanının mevcut olduğundan emin ol.
-Adım 6:Eğer reCAPTCHA v3 kullanmak istersen, add_recaptcha_to_form fonksiyonunu aşağıdaki gibi güncelle:
function add_recaptcha_to_form_v3() {
echo '<input type="hidden" name="g-recaptcha-response" id="g-recaptcha-response">';
echo '<script src="https://www.google.com/recaptcha/api.js?render=' . RECAPTCHA_SITE_KEY . '"></script>';
echo '<script>
grecaptcha.ready(function() {
grecaptcha.execute("' . RECAPTCHA_SITE_KEY . '", {action: "submit"}).then(function(token) {
document.getElementById("g-recaptcha-response").value = token;
});
});
</script>';
}
add_action( 'login_form', 'add_recaptcha_to_form_v3' );
-Adım 7:verify_recaptcha_response fonksiyonunda score kontrolünü, projenin risk seviyesine göre 0.3 – 0.7 arasında ayarla.
-Adım 8: Cache ve CDN yapılandırmalarını kontrol et; reCAPTCHA scripti önbelleğe alınmamalıdır.
-Adım 9: Güvenlik eklentileri(ör. Wordfence) ile çakışma olmadığını doğrula.
GELECEĞE YÖNELİK EN İYİ UYGULAMALAR (BEST PRACTICES)
-Anahtarları gizli tut:wp-config.php içinde define ifadeleriyle saklayarak temadan bağımsız hale getir.
-HTTPS zorunluluğu:reCAPTCHA yalnızca güvenli (HTTPS) bağlantılarda tam işlev görür; sitenizde SSL sertifikası olduğundan emin olun.
-Puan eşiklerini periyodik olarak gözden geçir:Bot davranışları evrimleşir; v3 puan eşiklerini 3 ayda bir test edin.
-Kullanıcı deneyimini koru:reCAPTCHA v2 kullanıyorsanız, mobil cihazlarda kutucuğun yeterli boyutta olduğundan emin olun.
reCAPTCHA’yı tüm formlara zorunlu olarak eklemek, özellikle mobil kullanıcılar için yüksek çıkma oranına (bounce rate) yol açabilir. Kritik formlarla sınırlı tutun.
SIKÇA SORULAN SORULAR
# WordPress reCAPTCHA Nasıl Kurulur?
reCAPTCHA kurulum süreci üç adımdan oluşur: Google’dan API anahtarlarını almak, functions.php dosyasına gerekli PHP kodlarını eklemek ve form şablonlarına reCAPTCHA HTML öğesini yerleştirmek. Detaylı adımlar yukarıdaki “Adım Adım Uygulama” bölümünde verilmiştir.
# reCAPTCHA v2 ve v3 arasındaki fark nedir?
reCAPTCHA v2, kullanıcıdan “Ben robot değilim” kutucuğunu işaretlemesini isterken, v3 arka planda davranış analizi yapar ve bir puan üretir. v2 daha yüksek doğrulama güvenliği sunar, v3 ise kullanıcı deneyimini bozmadan koruma sağlar.
# reCAPTCHA anahtarlarımı bir eklentiyle yönetebilir miyim?
Evet,Advanced noCaptcha & invisible Captcha,WP reCAPTCHA Integration gibi popüler eklentiler, API anahtarlarını yönetmenize ve farklı formlara kolayca eklemenize olanak tanır. Ancak, özelleştirilmiş bir tema veya özel formlar kullanıyorsanız, manuel kod eklemek daha esnek bir çözümdür.
SONUÇ VE KONTROL LİSTESİ
-API anahtarları alındı ve wp-config.php içinde güvenli bir şekilde tanımlandı.
functions.phpdosyasına reCAPTCHA entegrasyon kodu eklendi.Giriş, kayıt ve yorum formlarında reCAPTCHA görünürlüğü test edildi.
-HTTPS zorunluluğu sağlandı, CDN ve cache ayarları kontrol edildi.
-Puan eşikleri (v3) proje riskine göre ayarlandı ve periyodik gözden geçirme planı oluşturuldu.
Bu adımları eksiksiz uyguladığınızda, WordPress siteniz spam ve bot saldırılarına karşı güçlü bir savunma katmanı kazanır ve kullanıcı deneyimi bozulmadan güvenlik seviyeniz yükselir.
Sıkça Sorulan Sorular
# WordPress reCAPTCHA Nasıl Kurulur? neden önemlidir?
Doğru uygulandığında web sitenizin kullanıcı deneyimini, SEO performansını ve yüklenme hızlarını ciddi oranda iyileştirerek genel site kalitesini artırır.
# WordPress reCAPTCHA Nasıl Kurulur? işlemi ne kadar sürede tamamlanır?
Sitenizin karmaşıklığına ve sayfa sayısına bağlı olarak, temel yapılandırma adımları 1 ila 2 saat içinde tamamlanabilmektedir.
# Bu işlem için eklenti kullanmak zorunlu mudur?
Hayır, birçok optimizasyon ve ayar manuel kod düzenlemeleriyle yapılabilir; ancak yönetimi kolaylaştırmak adına güvenilir eklentiler tercih edilebilir.
Wordpress Virüs Temizleme
• YöneticiTürkiye'nin en iyi WordPress virüs temizleme hizmetini sizlere vererek, bulaşan tüm zararlı kodları veritabanınız bozulmadan temizliyor ve sitenizi hem güvenli hem de eski performansına kavuşturuyoruz.
WordPress Sitenizde Güvenlik Tehdidi mi Var?
Siber güvenlik mühendislerimiz 2 saat içinde sitenizi derinlemesine tarayıp tüm zararlı yazılımları temizlesin.