Giriş: Bilgisayar Korsanlarına Hazine Haritası Vermek
Pek çok web sitesinin kök dizininde bulunan robots.txt dosyasını açtığınızda şuna benzer bir manzarayla karşılaşırsınız:
User-agent: * Disallow: /admin/ Disallow: /backup/ Disallow: /.env Disallow: /private-api/
Geliştirici, bu kodları yazarken Google botlarına “Lütfen bu klasörlere girme ve arama sonuçlarında gösterme” demek istemiştir. Ancak siber güvenlik perspektifinden bakıldığında, aslında tüm dünyaya şunu bağırıyordur: “Yönetici panelim burada, yedeklerimi bu klasörde tutuyorum ve kritik şifrelerim tam olarak .env dosyasının içinde!”
Kötü niyetli botlar ve hackerlar robots.txt kurallarına uymazlar; aksine, bu dosyayı sistemdeki gizli yolları bulmak için bir harita olarak okurlar.
🔍 Arama Motorları Neden Sizi Dinlemez?
“Ben Disallow yazdım, Google bunu zaten indekslemez” diye düşünüyorsanız, yanılıyorsunuz. Aşağıdaki durumlarda arama motorları robots.txt engellemenizi tamamen görmezden gelir:
-
Dış Bağlantılar (Backlink): Başka bir web sitesi veya forum, sizin gizli
/admin/sayfanıza link verirse, Google o linki takip eder ve sayfayı indeksler. -
Otomatik Sitemap’ler: WordPress, Laravel veya diğer CMS sistemleri genellikle otomatik site haritaları (sitemap.xml) oluşturur. Engellediğiniz URL yanlışlıkla sitemap içinde kalırsa, botlar o sayfayı tarar.
-
Önceden İndekslenmiş Olması: Google, siz
Disallowkuralını yazmadan önce o sayfayı çoktan keşfedip indeksine almış olabilir. Kuralı sonradan eklemek sayfayı arama sonuçlarından silmez, sadece içeriğinin yeniden taranmasını durdurur (Başlığı ve URL’si Google’da kalmaya devam eder).
🧹 İndeksten Doğru Şekilde Nasıl Silinir?
Eğer gizli kalması gereken bir sayfanız Google’a düştüyse, onu temizlemenin doğru ve teknik yolu şudur:
1. Adım: Botlara Kapıyı Açın ve “noindex” Ekleyin
Bu kulağa mantıksız gelebilir ama sayfanın silinmesi için Google botunun o sayfaya girip silinme emrini okuması gerekir.
-
Öncelikle
robots.txtdosyanızdaki o sayfaya aitDisallowkuralını geçici olarak kaldırın. -
Gizlemek istediğiniz sayfanın HTML
<head>bölümüne şu meta etiketi ekleyin:
<meta name="robots" content="noindex">
-
Google botu sayfaya tekrar geldiğinde
noindexetiketini görecek ve sayfayı arama sonuçlarından tamamen silecektir.
2. Adım: Acil Durumlar İçin GSC Kullanımı
Eğer sayfanın hemen kalkması gerekiyorsa, Google Search Console veya Yandex Webmaster üzerinden “URL Kaldırma” (URL Removals) aracını kullanın. Bu işlem sayfayı arama sonuçlarından yaklaşık 6 aylığına gizler (kalıcı çözüm için 1. adımı uygulamanız şarttır).
🛡️ Gerçek Güvenlik Nasıl Sağlanır?
noindex etiketi sizi Google’dan korur, ancak Nmap, DirBuster veya özel yazılmış Python örümcekleriyle sitenizi tarayan hackerlardan korumaz. Gerçek güvenlik sunucu seviyesinde başlar.
1- Sunucu Konfigürasyonları (Nginx / Apache): Hassas dosyalara veya klasörlere dışarıdan erişimi tamamen kapatın.
- Nginx (
nginx.conf) Örneği:
location ~ /\.env {
deny all;
}
- Apache (
.htaccess) Örneği:
<Files .env>
Order allow,deny
Deny from all
</Files>
2- Dosya ve Klasör İzinleri (CHMOD): Yedekleme (backup) dosyalarınızın veya konfigürasyon dosyalarınızın izinlerini sadece sunucu sahibinin okuyabileceği şekilde (600 veya 700) ayarlayın. Web sunucusu kullanıcısının (www-data) yetkilerini kısıtlayın.
3- Public Klasörü Mantığı: Modern frameworklerde (Laravel, Symfony vb.) olduğu gibi, sadece uygulamanın çalışması için gereken dosyaları (CSS, JS, index.php) dışarıya (Public) açın. .env, vendor veya çekirdek dosyalar web kök dizininin bir üst klasöründe yer almalıdır.
🛠️ Teknik Özet
| Yöntem | Ne İşe Yarar? | Güvenlik Seviyesi |
|---|---|---|
| robots.txt (Disallow) | Arama motorlarına yol gösterir, hackerlara hedef gösterir. | %0 (Yok) |
| Meta “noindex” | Sayfanın Google indeksinden kalıcı olarak silinmesini sağlar. | Düşük (Sadece SEO için) |
| .htaccess / nginx.conf | Dışarıdan gelen HTTP isteklerini sunucu seviyesinde reddeder. | Yüksek (Gerçek Koruma) |
| CHMOD (600/700) | Dosya sisteminde yetkisiz okuma/yazma işlemlerini engeller. | Yüksek (Sistem Seviyesi) |
CUMBUR.NET sitesinden daha fazla şey keşfedin
Subscribe to get the latest posts sent to your email.

