2026'da WordPress robots.txt Nasıl Olmalı (İçine Gerçekten Ne Yazılır)
WordPress robots.txt dosyanız için beş satır yeter. /wp-admin/ dizinini engelleyin, admin-ajax.php dosyasına izin verin, site haritanızı ekleyin ve sayfa çizimini bozan uzun engelleme listelerini bırakın.
Yayınlandı
İyi bir WordPress robots.txt dosyası yaklaşık beş satırdır. /wp-admin/ dizinini engelleyin, admin-ajax.php dosyasına izin verin, tarayıcıları site haritanıza yönlendirin ve orada durun — forumlarda bulacağınız 40 satırlık dev listeler çoğunlukla ya sayfa çizimini bozar ya da hiçbir şey yapmaz. Dosyanın tamamı:
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://example.com/wp-sitemap.xml
Alan adını değiştirin; site haritalarını devralan bir SEO eklentisi kullanıyorsanız Sitemap satırını o eklentinin dizin dosyasına yönlendirin. Hepsi bu. Dosyanız bundan uzunsa, fazladan satırlar muhtemelen size bir şeye mal oluyordur.
WordPress zaten bir tane üretiyor — siz gerçek bir dosya oluşturana kadar
WordPress sanal bir robots.txt ile gelir. /robots.txt için bir istek geldiğinde ve web kök dizininizde gerçek bir dosya yoksa WordPress isteği yakalar ve yanıtı bellekte üretir. Diske hiçbir şey yazılmaz. Varsayılan çıktı, yukarıdaki wp-admin bloğu ve çekirdeğin WordPress 5.5’ten beri ürettiği wp-sitemap.xml için bir Sitemap: satırıdır.
Bu çıktıyı iki şey değiştirir. Ayarlar → Okuma → Arama motorlarının bu siteyi dizine eklemesini engelle işaretliyse WordPress her şeyin yerine Disallow: / koyar ve tüm siteyi engeller. Bir sitenin yayına girdikten sonra aramadan kaybolmasının en yaygın nedeni tam olarak bu kutucuktur. İkincisi, eklentiler ve temalar sanal çıktıyı robots_txt filtresi üzerinden değiştirebilir; SEO eklentileri kendi site haritası satırlarını ve kurallarını böyle ekler.
Şimdi insanların öğleden sonrasını yiyen kısım. Web kök dizinindeki fiziksel bir robots.txt dosyası bütün bunları sessizce geçersiz kılar. Web sunucunuz diskte gerçek bir dosya bulur, onu sunar ve WordPress hiç yüklenmez. Sanal üretici çalışmaz. robots_txt filtresi tetiklenmez. SEO eklentinizin robots.txt düzenleyicisi size içinde doğru kuralların olduğu şık bir arayüz göstermeye devam edebilir ve bunların hiçbiri tarayıcıya ulaşmaz.
| Kuralların bulunduğu yer | WordPress panelinden düzenlenebilir mi | Canlı istekte hangisi kazanır |
|---|---|---|
| Sanal (diskte dosya yok) | Evet, robots_txt filtresi veya bir eklenti ile | Yalnızca fiziksel dosya yoksa |
| Web kökündeki fiziksel dosya | Yalnızca eklenti diske yazıyorsa | Her zaman |
Yani bir şeyi incelemeye başlamadan önce: tarayıcıda https://siteniz.com/robots.txt adresini açın, sonra SFTP veya hosting dosya yöneticinizle bağlanın ve wp-config.php ile .htaccess dosyalarının yanında gerçek bir robots.txt durup durmadığına bakın. Duruyorsa, sizin robots.txt dosyanız odur. Ya orada düzenleyin ya da silip yönetimi WordPress’e bırakın — ama birini seçin. İkisini birden çalıştırmak, sitelerin kimsenin bulamadığı bayat bir site haritası adresiyle kalmasının yoludur.
/wp-admin/ neden engelleniyor da admin-ajax.php neden serbest
/wp-admin/ yönetim panelini barındırır. Bu adreslerin arama sonuçlarında hiçbir işi yoktur ve onları taramak, giriş ekranına yönlenen sayfalar için tarama bütçesi harcar. Dizini engellemek tartışmasız doğrudur.
admin-ajax.php bu dizinin içinde yaşar ama bir yönetim sayfası değildir. Eklentilerin ve temaların ön yüzdeki AJAX isteklerini karşılamak için kullandığı uç noktadır — daha fazla yükle düğmeleri, filtrelenen ürün listeleri, hesaplayıcılar, formlar. Bir tarayıcı bu dosyayı çekemezse, bu özelliklerin yüklediği içeriği göremez ve Google sayfanızı, özelliği bozuk gören bir ziyaretçi gibi çizer.
Google’ın sizin sitenizde admin-ajax.php dosyasını gerçekten çekmesi gerekip gerekmediği, ön yüzünüzün onu kullanıp kullanmadığına bağlı. Dürüst cevap: birçok modern sitede hiç fark etmez, çünkü tema onun yerine /wp-json/ üzerindeki REST API’yi kullanır. Allow satırı bir sıralama faktörü değil, gerçek bir arıza ihtimaline karşı ucuz bir sigortadır. Hiçbir maliyeti olmadığı için dursun.
/wp-content/ veya /wp-includes/ dizinlerini engellemeyin
Bu, hâlâ dolaşımda olan en kötü robots.txt tavsiyesidir ve Google’ın sayfaları çizmediği bir dönemden kalmadır.
/wp-content/ temalarınızı, eklentilerinizi ve yüklemelerinizi barındırır — yani sayfalarınızı sayfa gibi gösteren stil dosyalarını, betikleri ve görselleri. /wp-includes/ ise eklentilerin bağlı olduğu çekirdek JavaScript dosyalarını içerir. Google sayfalarınızı değerlendirmeden önce başsız bir tarayıcıyla çizer. Bu dizinleri engellerseniz çizici, CSS’i ve görselleri olmayan bir sayfa görür. Google’ın değerlendirdiği şey, düzeni bozuk ve biçimlendirilmemiş bir metin yığını olur; bu da içeriğinizi nasıl anladığını ve mobil kullanılabilirliği nasıl puanladığını etkiler.
Bu satırların bulunduğu bir dosya devraldıysanız, onları silin:
Disallow: /wp-content/
Disallow: /wp-includes/
Disallow: /wp-content/plugins/
Disallow: /wp-content/themes/
Hasarı kendiniz de doğrulayabilirsiniz: Google Search Console’daki URL Denetleme aracını kullanın. Herhangi bir sayfa için canlı test yapın, çizilen ekran görüntüsüne bakın ve sayfa kaynakları listesinde engellenmiş öğe olup olmadığını kontrol edin. CSS dosyanız engellenmiş görünüyorsa sebep budur.
Sitemap satırı
Tek satır, mutlak adres ve dosyanın herhangi bir yerinde durabilir — bir User-agent grubuna bağlı değildir.
Sitemap: https://example.com/wp-sitemap.xml
Gerçekten açılan adresi kullanın. WordPress çekirdeği wp-sitemap.xml sunar. Çoğu SEO eklentisi çekirdek site haritalarını kapatır ve kendi dizin dosyasını farklı bir yoldan, genelde sitemap_index.xml adresinden sunar. Yazmadan önce adresi tarayıcıda açın — 404 veren bir Sitemap satırı, hiç satır olmamasından kötüdür, çünkü denetimlerde doğru görünür.
Birden fazla site haritası listelemek sorun değil, her satıra bir tane. Site haritalarını Search Console’a ayrıca göndermek yine değerli; robots.txt satırı ise Search Console hesabınızı hiç görmeyen tarayıcıların onları bulma yoludur.
robots.txt ne noindex’tir ne de güvenliktir
robots.txt kaynaklı hasarın çoğu bu iki yanlış anlamadan doğar.
Bir adresi engellemek onu Google’dan kaldırmaz. Robots.txt taramayı yönetir. Başka bir site engellenmiş bir adrese bağlantı veriyorsa Google adresin kendisini dizine ekleyebilir — sonuçta çıplak adresi ve bilgi bulunmadığını söyleyen bir not görürsünüz. Daha sinsi bir tuzak da var: bir sayfada zaten noindex meta etiketi varsa ve sonra o sayfayı robots.txt ile engellerseniz, Google sayfayı tarayamaz, noindex etiketini göremez ve sayfa süresiz olarak dizinde kalabilir. Bir sayfayı kaldırmak için taramaya izin verin ve sayfa başlığında noindex meta robots etiketi ya da X-Robots-Tag HTTP başlığı sunun. Google, robots.txt içindeki noindex yönergelerini desteklemeyi 2019’da bıraktı.
Bir yolu engellemek onu korumaz. robots.txt dosyanız tanımı gereği herkese açıktır. /ozel-musteri-dosyalari/ yazmak, her ziyaretçiye ve her tarayıcıya nereye bakacağını söylemektir; üstelik uyum gönüllüdür — Google uyar, düşmanca botlar uymaz. Korunması gereken her şeyin kimlik doğrulamaya, IP kısıtlamasına veya .htaccess içindeki sunucu seviyesi kurallara ihtiyacı vardır; hedefin yerini ilan eden bir metin satırına değil.
Eklemeye değer kurallar, atlamaya değer kurallar
Birçok sitede gerçekten faydalı iki ekleme var. Arama sonucu yolunu engellemek, tarayıcıların site içi aramanızdan sonsuz sayıda değersiz adres üretmesini durdurur. WooCommerce’te sepet veya ödeme yolunu engellemek ise oturum parametreli adresleri taramanın dışında tutar.
Disallow: /?s=
Disallow: /search/
Şunları atlayın:
Crawl-delay— Google bunu tamamen yok sayar. Gerçek bir sunucu yükü sorununuz varsa Search Console’daki tarama hızı ayarlarını kullanın./feed/veya/trackback/engellemek — zararsız adresler, üstelik beslemeler işe yarar.- Uzun tekil bot adı listeleri — insanların engellemeye çalıştığı botların çoğu zaten kendini dürüstçe tanıtmaz.
/wp-json/engellemek — temanız içeriği çizmek için onu kullanıyor olabilir.
Dosyayı WordPress robots.txt oluşturucu ile hazırlayın; en sade doğru sürümü üretir ve söz dizimini elle kurcalamadan arama ile ticaret kurallarını eklemenize izin verir.
Değişiklikten sonra
https://siteniz.com/robots.txt adresini doğrudan açın ve sunulan içeriğin beklediğiniz şey olduğunu doğrulayın — eklentinizin düzenleyicisinde görünen şey değil. Sonra normal bir sayfa için Search Console’da canlı URL denetimi çalıştırın ve hiçbir CSS veya JavaScript kaynağının engellenmiş dönmediğini kontrol edin. Google robots.txt dosyasını yaklaşık bir gün önbellekte tutar; yani düzeltme de hata da anında etkili olmaz. Bu gecikme, canlıda deneyip beklemek yerine dikkatli doğrulama yapmanızın sebebidir.
FAQ
Sorular
WordPress robots.txt dosyasında ne olmalı?
Dört şey ve fazlası değil: joker karakterli bir user-agent satırı, /wp-admin/ için Disallow, /wp-admin/admin-ajax.php için Allow ve tam site haritası adresinizi gösteren bir Sitemap satırı. Bunun ötesindeki her şey isteğe bağlıdır ve internette dolaşan uzun engelleme listelerinin çoğu çözdüğünden fazla sorun yaratır.
WordPress robots.txt dosyasını otomatik oluşturur mu?
Evet, ama yalnızca sanal olarak. /robots.txt adresine bir istek geldiğinde ve diskte gerçek bir dosya yoksa WordPress yanıtı bellekte üretir. İçinde wp-admin kuralları ve 5.5 sürümünden bu yana wp-sitemap.xml için bir Sitemap satırı bulunur. Sunucunuza hiçbir şey yazılmaz.
robots.txt dosyam neden WordPress'in üretmesi gereken çıktıyla aynı değil?
Neredeyse her zaman web kök dizininizde fiziksel bir robots.txt dosyası bulunduğu için. Web sunucusu o dosyayı doğrudan sunar ve WordPress hiç çalışmaz; böylece hem sanal çıktı hem de robots_txt filtresi sessizce devre dışı kalır. Başka bir şeyi incelemeden önce sitenizin kökünde gerçek bir dosya olup olmadığına bakın.
robots.txt içinde wp-content veya wp-includes engellenmeli mi?
Hayır. O dizinler sayfalarınızın çizilmesi için gereken CSS, JavaScript ve görselleri barındırır. Onları engellemek Google'ın bu dosyaları çekmesini durdurur ve Google düzeninizin bozuk bir hâlini değerlendirir. Bu yıllar önce yaygın bir tavsiyeydi, bugün ise doğrudan zararlı.
robots.txt bir sayfayı Google'dan uzak tutabilir mi?
Hayır. Robots.txt taramayı kontrol eder, dizine eklemeyi değil. Engellenen bir adres, başka sayfalar ona bağlantı veriyorsa yine de dizine girebilir ve sonuçlarda açıklamasız şekilde görünebilir. Bir sayfayı dizin dışında tutmak için taramaya izin verip noindex meta robots etiketi veya X-Robots-Tag başlığı sunun.
robots.txt bir güvenlik önlemi midir?
Hayır, tam tersi. Dosya siteniz.com/robots.txt adresinde herkese açıktır ve isteyen okuyabilir; gizli bir dizini listelemek onun yerini ilan etmek demektir. Düzgün davranan tarayıcılar dosyaya gönüllü olarak uyar, kötü niyetli tarayıcılar tamamen görmezden gelir. Hassas yolları kimlik doğrulama veya sunucu kurallarıyla koruyun.