robots.txt: dört alan, bir dosya
Dosyayı sitenin kök dizinine koyuyoruz; Astro’da bu, public klasörünün içi demek. Google, 31 Ağustos 2026’da güncellediği belgesinde yalnızca dört alanı tanıdığını yazıyor: user-agent, allow, disallow ve sitemap. Başka alanlar yok sayılıyor. Dosya 500 KiB’yi geçerse fazlası okunmuyor, ama birkaç sayfalık bir sitede bu sınıra yaklaşmak için özel çaba gerekir.
Aynı adrese uyan iki kural çakışırsa Google daha az kısıtlayanı uyguluyor. Dosyayı değiştirdiğinizde etkisini hemen görmeyebilirsiniz, çünkü içerik 24 saate kadar önbellekte tutuluyor. Sunucu robots.txt isteğine 5xx ile cevap verirse iş ciddileşiyor: Google ilk 12 saat siteyi taramayı bırakıyor. Cloudflare Pages’te statik bir dosya için bu olası değil. Yine de bilmek gerekiyor, çünkü ileride başka bir altyapıya taşınabilirsiniz.
Yeni bir sitede en pahalıya patlayan hata, geliştirme sırasında yazılan “Disallow: /” satırının yayına çıkmasıdır. Bu yüzden AGENTS.md dosyanıza bir kural ekliyoruz: asistan robots.txt’e dokunduğunda değişikliği ayrı bir commit olarak sunacak, siz de satır satır okuyacaksınız.
disallow ile noindex aynı şey değil
robots.txt taramayı yönetir, dizine eklenmeyi değil. Google’ın belgesindeki cümle açık: taraması yasaklanan bir sayfanın içeriği dizine girmez, ama adresi girebilir ve sonuçlarda açıklamasız bir satır olarak görünebilir. Başka siteler o adrese bağlantı veriyorsa bu oluyor.
Bir sayfayı sonuçlardan çıkarmak için head bölümüne robots meta etiketiyle noindex yazıyoruz. PDF gibi HTML olmayan dosyalarda aynı işi X-Robots-Tag başlığı görüyor. Tuzak şurada: noindex’in okunabilmesi için botun sayfayı açabilmesi gerekiyor. Aynı sayfayı hem robots.txt’te yasaklar hem noindex’lerseniz ikincisi hiç görülmez.
Derste bunu kendi teşekkür sayfanızda deniyoruz. Sayfaya noindex ekliyoruz, yayına alıyoruz ve Search Console’un URL Denetimi aracında Google’ın ne gördüğünü okuyoruz.
Site haritası: küçük sitede de kuruyoruz
Google, yaklaşık 500 sayfanın altındaki ve iç bağlantıları düzgün sitelerin site haritasına ihtiyaç duymayabileceğini söylüyor. Aynı belge, yeni olan ve dışarıdan az bağlantı alan sitelerin haritadan yararlandığını da yazıyor. Sizin siteniz tam olarak bu durumda: yeni ve henüz kimse bağlantı vermiyor.
Astro’da “npx astro add sitemap” komutu entegrasyonu kuruyor. Ayar dosyasındaki site alanı boşsa harita üretilmiyor. Derleme sonunda iki dosya çıkıyor: sitemap-index.xml ve sitemap-0.xml. Tek bir haritanın sınırı 50.000 adres ya da sıkıştırılmamış 50 MB.
changefreq ve priority alanlarını yazmıyoruz, çünkü Google ikisini de yok sayıyor. lastmod farklı: Google bu değeri yalnızca tutarlı ve doğrulanabilir olduğunda kullanıyor. Her derlemede bugünün tarihini basan bir harita bu güveni kaybettirir. Bu yüzden lastmod’u içeriğin gerçek değişiklik tarihinden alıyoruz; alamıyorsak hiç yazmıyoruz.
Haritayı iki yoldan bildiriyoruz: robots.txt’e eklenen Sitemap satırı ve Search Console’daki Site Haritaları raporu. İkincisi okuma hatalarını da gösterdiği için asıl takip yeri orası.
Canonical ve iç bağlantılar
Aynı içerik birden fazla adresten açılıyorsa Google bunlardan birini asıl sürüm olarak seçiyor. Seçimi etkileyen sinyaller güç sırasıyla şöyle: yönlendirme, rel="canonical" ve site haritasında yer almak. İlk ikisi güçlü, üçüncüsü zayıf sinyal. Canonical’ı head içine ve mutlak adresle yazıyoruz. Google göreli yolu desteklese de sorun çıkarabileceğini belirtiyor; body içindeki etiketi ise hiç kabul etmiyor.
Geçen ay sitenizi Cloudflare Pages’e koyduğunuzda iki adresiniz oldu: kendi alan adınız ve projenizin pages.dev adresi. İkisi de aynı sayfaları sunuyor. Her sayfadaki canonical kendi alan adınızı gösterdiğinde bu kopya sorun olmaktan çıkıyor.
Çok dilli kulvardaysanız bir kural daha var: canonical, hreflang ile aynı dildeki sayfayı göstermeli. İngilizce sayfanın canonical’ı Türkçe sürüme işaret ederse Google’a İngilizce sayfanın bir kopya olduğunu söylemiş olursunuz.
Son iş iç bağlantılar. Botlar sayfaları bağlantıları izleyerek buluyor; menüden, alt bilgiden ya da başka bir sayfadan bağlantı almayan sayfa yetim kalıyor. Screaming Frog’un ücretsiz sürümü 500 adrese kadar tarıyor, sizin siteniz için fazlasıyla yetiyor. Tarama çıktısını site haritasıyla karşılaştırıyoruz: haritada olup taramada çıkmayan her adres yetimdir.