robots.txt ve sitemap.xml Neden Bu Kadar Önemli?
robots.txt ve sitemap.xml, teknik SEO denetimlerinde ve yeni site kurulumlarında birlikte değerlendirilmesi gereken iki yapıdır. robots.txt, kurallara uyan botlara hangi yolları taramamaları gerektiğini bildirir; sitemap.xml ise keşfedilmesini istediğiniz URL’leri listeler. Bu dosyalar erişim kontrolü sağlamaz veya sayfaların indeksleneceğini garanti etmez.
İşin bir de hosting tarafı var. robots.txt ve sitemap.xml sadece SEO ekiplerinin konusu değil; doküman kök dizininiz, alt alan adları, HTTP durum kodları, güvenlik yapılandırmaları ve hatta sunucu loglarınızla doğrudan bağlantılı. Örneğin yanlış yapılandırılmış bir robots.txt, kurallara uyan botların tüm siteyi taramasını engelleyebilir; yanlış konumdaki bir sitemap.xml ise botlar tarafından bulunamayabilir. Bu nedenle dosyaların hem içeriğini hem de erişilebilirliğini sistematik olarak kontrol etmek gerekir.
Bu yazıda DCHost ekibi olarak robots.txt ve sitemap.xml dosyalarını hem SEO hem de hosting perspektifinden, gerçekçi senaryolar ve örneklerle adım adım ele alacağız. paylaşımlı hosting, VPS ve dedicated sunucu fark etmeksizin; kök dizin konumları, URL yapıları, çok dilli siteler ve staging ortamları için nasıl doğru kurulum yapacağınızı netleştireceğiz. Adım adım kurulum planı ve sık yapılan hatalar bölümleriyle kendi sitenizi gözden geçirebilmeniz için pratik bir kontrol çerçevesi sunacağız.
robots.txt Temelleri: Ne Yapar, Ne Yapmaz?
robots.txt, bir web sitesinin kök dizininde barınan basit bir metin dosyasıdır. Görevi, arama motoru botlarına hangi alanları tarayabileceklerini, hangilerini taramamalarını söylemektir. Yani bir nevi kibar bir kapı görevlisi gibi davranır; ama şifreli bir kapı ya da güvenlik duvarı değildir.
robots.txt Dosyasının Konumu
robots.txt dosyasının çalışabilmesi için mutlaka alan adının kökünde bulunması gerekir:
- https://www.ornek.com/robots.txt
- https://ornek.com/robots.txt
- https://blog.ornek.com/robots.txt (alt alan adı için ayrı dosya)
Bu, hosting tarafında şu anlama gelir:
- Paylaşımlı hostingte genellikle public_html ya da httpdocs dizininin altında robots.txt yer alır.
- VPS ya da dedicated sunucuda statik dosya olarak sunulacaksa, genellikle Nginx ya da Apache için tanımlı document root dizinine (örneğin /var/www/domain.com/public) yerleştirilir.
- Her alt alan adının kendi document root dizini varsa, her biri için ayrı bir robots.txt dosyası oluşturabilirsiniz.
Yeni bir site yayına alırken bu dizinlerin ve kök URL yapısının doğru kurgulanması için ayrıntılı bir kontrol listesine ihtiyaç duyuyorsanız, DCHost blogunda hazırladığımız yeni web sitesi yayına alınırken hosting tarafında SEO ve performans kontrol listesi rehberini incelemeniz faydalı olacaktır.
robots.txt Söz Dizimi: User-agent, Allow, Disallow
robots.txt dosyası oldukça basit bir söz dizimine sahiptir:
User-agent: *
Disallow: /ornek-dizin/
Allow: /ornek-dizin/izin-verilen-sayfa.html
Sitemap: https://www.ornek.com/sitemap.xml
Temel direktifler:
- User-agent: Kuralların hangi bota ait olduğunu belirtir. Bu örnekte * ile genel bir kural grubu tanımlanır. Google botları için daha spesifik bir eşleşen grup varsa genel gruptaki kurallar bu grupla birleştirilmez; bota özel grup eklerken gerekli kısıtları ayrıca değerlendirin.
- Disallow: Belirtilen yolun taranmamasını ister.
- Allow: Daha spesifik bir izin tanımlamak için kullanılır (özellikle Disallow ile çakışan yollar için).
- Sitemap: Sitemap dosyanızın tam URL adresini belirtir. Bu satır robots.txt içinde zorunlu değildir ama keşfe yardımcı olması için önerilir.
WordPress Dizinleriyle robots.txt Örneği
WordPress dizinlerini kullanan bir robots.txt örneği aşağıdadır:
User-agent: *
Disallow: /wp-admin/
Disallow: /cgi-bin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://www.ornek.com/sitemap.xml
Bu örnek, listelenen dizinlerin taranmamasını isterken admin-ajax.php için bir tarama istisnası tanımlar; dosyalara erişim yetkisi vermez veya erişimi engellemez. Sayfaların görüntülenmesi için gereken JavaScript ve CSS dosyalarının taranabilmesi amacıyla /wp-includes/ dizinine genel bir engel konulmamıştır. WordPress alt dizindeyse yolları kurulumunuza uyarlayın; /cgi-bin/ kısıtını da yalnızca burada taranması gereken herkese açık içerik veya kaynak yoksa kullanın.
Hangi Botları Engellemek Mantıklı?
Genel öneri, büyük arama motoru botlarını (arama sonuçlarında görünmek istediğiniz tüm ana motorlar) engellememek yönündedir. Genellikle engellemek isteyeceğiniz botlar şunlar olur:
- Aşırı agresif tarama yapan ve sunucuyu yoran botlar
- İçeriğinizi kopyalayan scraper botlar
- İşinize yaramayan reklam veya analiz botları
Kurallara uyan botlardan taramayı durdurmalarını istemek için loglardaki user-agent bilgilerini inceleyip robots.txt içine bota özel bir grup ekleyebilirsiniz. Aşağıdaki KotuBot adı temsili olup hedef botun kullandığı tanımlayıcıyla değiştirilmelidir:
User-agent: KotuBot
Disallow: /
Unutmamanız gereken nokta: robots.txt bir gönüllü uyum mekanizmasıdır. Kötü niyetli botlar çoğunlukla robots.txt kurallarına uymayacaktır. Güvenlik için asıl tedbiri sunucu tarafında, WAF, rate limiting ve erişim kontrolleriyle almak gerekir.
robots.txt ile Güvenlik Sağlanmaz
Önemli bir yanılgı, hassas dizinleri robots.txt ile gizlemeye çalışmaktır. Örneğin /yedekler/ ya da /gizli-raporlar/ gibi klasörleri Disallow ile kapatmak, aslında bu klasörlerin varlığını herkese ilan etmek anlamına da gelebilir.
Güvenlik için robots.txt yerine aşağıdakileri kullanmalısınız:
- HTTP yetkilendirme (Basic Auth, oturum bazlı giriş)
- IP kısıtlaması veya VPN ile erişim
- Dosya sisteminde doğru izinler ve sahiplikler; bunlar, web üzerinden erişimi tek başına yetkilendirmez
Linux tarafında dosya izinlerini nasıl güvenli şekilde ayarlayacağınızı bilmiyorsanız, DCHost blogundaki Linux dosya izinleri 644, 755, 777 ve güvenli hosting ayarları rehberi bu noktada iyi bir tamamlayıcı olacaktır.
sitemap.xml Temelleri: Botlara Yol Haritası Çizmek
sitemap.xml, sitenizdeki sayfaları arama motoru botlarına daha sistematik biçimde tanıtan XML formatlı bir dosyadır. Özellikle:
- Yeni kurulan sitelerde henüz güçlü iç link yapısı yokken,
- Büyük e-ticaret kataloglarında on binlerce ürün sayfası varken,
- Filtreleme, etiket ve kategori yapıları karmaşık olduğunda
sitemap.xml, botların önemli sayfalarınızı keşfetmesine yardımcı olur; keşif hızı, tüm URL’lerin taranması veya indekslenmesi için garanti değildir.
XML Sitemap Yapısı
Basit bir sitemap.xml dosyası şu şekilde görünür:
<?xml version='1.0' encoding='UTF-8'?>
<urlset xmlns='http://www.sitemaps.org/schemas/sitemap/0.9'>
<url>
<loc>https://www.ornek.com/</loc>
<lastmod>2025-01-01</lastmod>
<changefreq>weekly</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://www.ornek.com/hakkimizda/</loc>
<lastmod>2025-01-05</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
</urlset>
Örnekteki URL’ler ve lastmod tarihleri temsilidir; kendi adreslerinizi ve ilgili içeriklerin gerçek son değişiklik tarihlerini kullanın. changefreq ve priority alanlarından bağımsız olarak şu temel noktaları kontrol edin:
- URL’lerin mutlaka kanonik (canonical) adres olması
- HTTP durum kodunun 200 dönmesi
- Noindex gibi meta etiketlerle çelişmemesi
- Bir dosyada URL sayısının 50.000’i ve sıkıştırılmamış dosya boyutunun 50 MB’ı (52.428.800 bayt) geçmemesi; gzip kullanılması bu sınırı değiştirmez
Sitemap Türleri ve Sitemap Index
Büyük sitelerde tek bir sitemap.xml dosyası yetmeyebilir. Bu durumda birden fazla sitemap dosyasını toplayan bir sitemap index kullanılır:
<?xml version='1.0' encoding='UTF-8'?>
<sitemapindex xmlns='http://www.sitemaps.org/schemas/sitemap/0.9'>
<sitemap>
<loc>https://www.ornek.com/sitemap-pages.xml</loc>
</sitemap>
<sitemap>
<loc>https://www.ornek.com/sitemap-products.xml</loc>
</sitemap>
<sitemap>
<loc>https://www.ornek.com/sitemap-blog.xml</loc>
</sitemap>
</sitemapindex>
Yaygın kullanım biçimleri:
- Sayfalar, ürünler, blog yazıları için ayrı sitemap dosyaları
- Çok dilli sitelerde her dil için ayrı sitemap
- Görseller için image-sitemap, haber siteleri için news-sitemap gibi özel türler
Hangi URL’ler Sitemap’e Girmeli?
Sitemap’e her gördüğünüz URL’yi koymak iyi bir fikir değildir. Genel prensip:
- Arama sonuçlarında görünmesini istediğiniz sayfalar
- Kalıcı URL yapısına sahip içerikler (ürün, kategori, blog, kurumsal sayfa vb.)
- Kanonik URL’ler (www vs non-www, http vs https karmaşası olmamalı)
Sitemap’ten uzak tutmanız gerekenler:
- İndekslenmesini istemediğiniz veya başka bir URL’yi kanonik olarak gösteren filtrelenmiş, sayfalanmış ve parametreli URL’ler
- Oturum, takip ve kampanya parametreli adresler
- Noindex ile işaretlediğiniz ya da 404/410 döndüren URL’ler
HTTP durum kodları ve SEO ilişkisini daha derin anlamak için DCHost blogundaki HTTP durum kodlarının SEO ve hosting tarafındaki etkileri rehberini de inceleyebilirsiniz.
robots.txt ve sitemap.xml Nasıl Birlikte Çalışır?
Bu iki dosya aynı oyunun iki ayrı ama uyumlu parçasıdır:
- robots.txt: Kurallara uyan botlara hangi yolları tarayıp hangilerini taramamalarını istediğinizi bildirir; erişim kontrolü sağlamaz.
- sitemap.xml: Botlara, gitmelerini istediğiniz önemli URL’leri topluca listeler.
İdeal senaryoda robots.txt dosyanızın en altına sitemap satırını ekleyerek bu ikisini birbirine bağlarsınız:
Sitemap: https://www.ornek.com/sitemap.xml
Bu sayede arama motoru botu, robots.txt’yi okuduğu anda sitemap adresinizi de öğrenir. Özellikle yeni sitelerde bu, URL’lerin keşfine yardımcı olabilir.
Dikkat etmeniz gereken kritik nokta şu: robots.txt ile engellediğiniz bir URL’yi sitemap’e koymamalısınız. Çünkü kurala uyan bot, sitemap sayesinde URL’yi öğrense bile robots.txt yüzünden içeriğini tarayamaz. Arama konsolundaki ilgili tarama ve indeksleme raporlarını kontrol edin.
Farklı Hosting Senaryolarında Kurulum
robots.txt ve sitemap.xml mantığı her yerde aynı; ama dosyanın nereye koyulacağı, nasıl yönetileceği ve otomasyonun nasıl sağlanacağı hosting mimarisine göre değişiyor.
Paylaşımlı Hosting (cPanel / DirectAdmin) Üzerinde Kurulum
Paylaşımlı hostingte tipik dizin yapısı şu şekildedir:
- public_html ya da httpdocs gibi dizinler: Ana alan adınızın belge kökü olabilir; gerçek yolu paneldeki alan adı ayarlarından doğrulayın.
- public_html/blog gibi alt klasörler: Alt dizin içinde çalışan uygulamalar
- Alt alan adları için çoğu zaman ayrı dizinler (subdomain.ornek.com gibi)
robots.txt ve sitemap.xml için pratik adımlar:
- Önce ilgili sitenin /robots.txt adresini ve kullandığı sitemap URL’sini inceleyin. Çıktıların statik dosyalardan mı yoksa CMS tarafından mı üretildiğini belirleyin.
- Statik dosya yönetecekseniz cPanel ya da DirectAdmin dosya yöneticisinde ilgili alan adı için tanımlı belge köküne girin; bu, kurulumunuza göre public_html veya başka bir dizin olabilir. Mevcut dosyaları değiştirmeden önce yedekleyin.
- robots.txt CMS tarafından üretiliyorsa kuralları bu çıktıyı yöneten mekanizma üzerinden düzenleyin. Yalnızca bilinçli bir statik kurulumda fiziksel robots.txt oluşturun; statik dosyalara öncelik verilen yapılarda bu dosya dinamik çıktının yerine geçebilir. Mevcut gerekli kuralları koruyun.
- Manuel sitemap kullanıyorsanız geçerli XML içeriğine sahip dosyanızı yükleyin. CMS sitemap üretiyorsa aynı URL’yi karşılayan boş bir dosya oluşturmayın; yayımladığı gerçek URL’yi robots.txt içindeki Sitemap satırında kullanın.
- Kendi alan adınızda /robots.txt adresini ve sitemap’in gerçek URL’sini açarak erişilebilir olduklarını ve beklenen metin/XML içeriğini döndürdüklerini kontrol edin.
WordPress gibi CMS’ler genellikle sitemap’i otomatik üretir (örneğin /wp-sitemap.xml ya da eklentinin tanımladığı özel bir yol). Bu durumda robots.txt içinde Sitemap satırını bu gerçek URL’ye göre güncellemeyi unutmayın.
VPS ve Dedicated Sunucularda Kurulum
VPS ya da dedicated sunucu kullanıyorsanız, kontrol paneliniz olmayabilir ya da Nginx/Apache yapılandırmasını doğrudan siz yönetiyor olabilirsiniz. Bu durumda tipik yapı şöyle görünür:
- Document root: /var/www/domain.com/public gibi bir dizin
- Nginx server blokları ya da Apache sanal host tanımları
- SSH üzerinden dosya oluşturma/düzenleme akışı
Adımlar:
- Önce sitenin /robots.txt adresini ve gerçek sitemap URL’sini inceleyin; bu çıktıların statik dosyalardan mı yoksa CMS üzerinden mi sunulduğunu belirleyin.
- SSH ile sunucuya bağlanın. Statik dosya yönetecekseniz ilgili sitenin document root dizinine geçin: örneğin cd /var/www/domain.com/public. Mevcut dosyaları değiştirmeden önce yedekleyin.
- Yalnızca manuel/statik kurulum için gereken dosyaları oluşturun: robots.txt için touch robots.txt, manuel sitemap için touch sitemap.xml kullanılabilir; ardından tam içeriği hazırlayın. Alternatif olarak hazır dosyaları SFTP ile yükleyin. CMS’nin dinamik URL’lerinin önüne boş dosya koymayın: statik dosyalara öncelik verilen yapılarda bunlar uygulama çıktısını gölgeleyebilir.
- Statik robots.txt içeriğini nano ya da vim ile düzenleyin; manuel sitemap.xml dosyasını geçerli XML içeriğiyle doldurun. CMS çıktısı kullanıyorsanız değişiklikleri ilgili uygulama mekanizmasında yapın ve robots.txt içindeki Sitemap satırında gerçek sitemap URL’sini kullanın. Mevcut gerekli kuralları ve uygun dosya izinlerini koruyun.
- Belge kökündeki statik dosyalar doğrudan sunuluyorsa ek yapılandırma gerekmeyebilir. robots.txt ve sitemap URL’lerinin beklenen içerikle erişilebilir olduğunu doğrulayın; değilse yönlendirme ve erişim kurallarını inceleyin. Yalnızca dosya oluşturmak kurulumu tamamlamaz.
Panel olmadan VPS yönetimine yeni başladıysanız, DCHost blogundaki kontrol paneli olmadan VPS üzerinde web sitesi yayına alma rehberi bu kurulumları daha rahat yönetebilmeniz için ayrıntılı bir yol haritası sunuyor.
Subdomain ve Alt Dizin Senaryoları
Özellikle blog, mağaza ve farklı dil sürümleri devreye girdiğinde alan adı mimarisi işin içine giriyor. Örneğin:
- blog.ornek.com
- shop.ornek.com
- ornek.com/blog/
- ornek.com/en/ gibi dil dizinleri
Bu tür senaryolarda:
- Her alt alan adı için tarama kuralları ayrı yönetilir; kural tanımlayacaksanız o alt alan adının kökünde robots.txt yayımlayın (blog.ornek.com/robots.txt gibi).
- Alt dizinler için aynı alan adının kökündeki robots.txt geçerlidir; alt dizine koyduğunuz ayrı bir robots.txt o dizin için geçerli tarama kuralları tanımlamaz.
- Her alt alan adı için ayrı sitemap oluşturmak ve bunları o alt alan adına ait robots.txt içine tanımlamak mantıklıdır.
Alt alan adı mı alt dizin mi kararını verirken SEO ve hosting tarafındaki etkileri daha sistemli görmek istiyorsanız, hazırladığımız subdomain mi alt dizin mi kararını SEO ve hosting açısından karşılaştırdığımız rehber size net bir çerçeve sunacaktır.
İçerik Yönetim Sistemlerinde (WordPress vb.) Doğru Kurulum
Pratikte pek çok site WordPress, WooCommerce, Magento, Laravel tabanlı özel uygulamalar veya farklı CMS çözümleri kullanıyor. Bu durumda robots.txt ve sitemap.xml genellikle şu şekilde yönetilir:
WordPress Örneği
Modern WordPress sürümleri temel bir sitemap yapısını çekirdek seviyesinde sağlayabiliyor. Ayrıca bazı SEO eklentileri daha gelişmiş sitemap yapılandırmaları sunuyor.
WordPress için önerilen adımlar:
- Önce /robots.txt çıktısını ve etkin sitemap üreticisini belirleyin. Çekirdek sitemap kullanılıyorsa /wp-sitemap.xml adresini; SEO eklentisi kullanılıyorsa onun yayımladığı gerçek adresi (örneğin https://www.ornek.com/sitemap_index.xml) kontrol edin. Seçtiğiniz üreticiyi esas alın; sırf sitemap oluşturmak için eklenti kurmanız gerekmez.
- robots.txt’nin sanal olarak mı üretildiğini, yoksa belge kökündeki fiziksel dosyadan mı sunulduğunu kontrol edin. Sanal çıktıyı mevcut uygulama veya eklenti mekanizması üzerinden, statik dosyayı ise yedekleyerek düzenleyin. Fiziksel dosya oluşturmak zorunlu değildir; statik dosyaya öncelik verilen yapılarda yeni dosya dinamik çıktıyı ve oradaki kuralları devre dışı bırakabilir. Bilinçli olarak statik yönetime geçiyorsanız gerekli kuralların tamamını koruyun.
- Seçtiğiniz gerçek sitemap URL’sini robots.txt içindeki Sitemap satırında belirtin; doğru satır zaten varsa tekrar eklemeyin. Her iki URL’nin beklenen metin/XML içeriğini döndürdüğünü doğrulayın.
- Gerekiyorsa indekslenmesini istemediğiniz arama sonuç sayfaları, etiket sayfaları veya çoğaltılmış içerikleri sitemap dışında bırakın. Sitemap’ten çıkarmanın tek başına indekslemeyi engellemediğini unutmayın.
- Veritabanı performansını ayrı bir bakım konusu olarak değerlendirin. wp_options üzerinde temizlik yapacaksanız önce yedek alın ve yalnızca işlevini ve artık kullanılmadığını doğruladığınız kayıtları kaldırın.
WordPress siteniz büyüdükçe veritabanı ve performans tarafı daha kritik hale gelir. Bu noktada DCHost blogundaki WordPress veritabanı optimizasyonu ve wp_options temizliği rehberini incelemek, veritabanı bakımını sitemap kurulumundan ayrı değerlendirmek için yararlı olabilir.
E-ticaret ve Büyük Katalog Siteleri
Binlerce ürün, kategori ve filtre sayfası olan sitelerde sitemap stratejisi çok daha önemlidir. Öneriler:
- Ürünler, kategoriler ve içerik sayfaları için ayrı sitemap dosyaları kullanın.
- Fiyat aralığı, sıralama ve stok durumu gibi parametrelerin oluşturduğu, indekslenmesini istemediğiniz veya başka bir URL’yi kanonik gösteren sürümleri sitemap’e almayın.
- Geçici stok yokluğu ile kalıcı ürün kaldırmayı ayırın. Sayfası yayında kalan ürünleri sırf stokta olmadığı için sitemap’ten çıkarmayın. Kalıcı olarak kaldırılan sayfalar için 404/410 veya uygun bir alternatif varsa yönlendirme kullanın; artık 200 dönmeyen URL’leri sitemap’ten çıkarın.
- Tarama bütçesini boşa harcamamak için filtre URL’lerini robots.txt ile kısıtlamayı değerlendirin. Ancak noindex uyguladığınız URL’leri engellemeyin: botun bu talimatı okuyabilmesi için sayfayı tarayabilmesi gerekir.
Adım Adım Uygulanabilir Kurulum Planı
Teoride her şey net görünebilir, ama iş pratiğe gelince kolay bir kontrol listesine ihtiyaç duyarsınız. Aşağıdaki adımları izleyerek mevcut ya da yeni bir sitenin robots.txt ve sitemap.xml kurulumunu baştan sona elden geçirebilirsiniz.
1. Mevcut Durumu Analiz Edin
- Tarayıcıda https://www.siteniz.com/robots.txt adresine gidin, dosya var mı bakın.
- https://www.siteniz.com/sitemap.xml ya da yaygın sitemap URL’lerini kontrol edin.
- Google Search Console benzeri araçlarda tarama ve sitemap hatalarını inceleyin.
- Sunucu loglarınızdan bot trafiğini ve 4xx/5xx hata oranlarını gözden geçirin.
2. Temiz ve Çelişkisiz Bir robots.txt Yazın
WordPress kök dizin kurulumu için örnek robots.txt şablonu; yolları sitenize uyarlayın, /cgi-bin/ ve /arama/ kısıtlarını yalnızca taranmasını istemediğiniz yollarla eşleşiyorsa kullanın:
User-agent: *
Disallow: /wp-admin/
Disallow: /cgi-bin/
Disallow: /arama/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://www.siteniz.com/sitemap.xml
Dikkat etmeniz gerekenler:
- Test ya da staging ortamlarını asla gerçek sitenin robots.txt’sine karıştırmayın.
- Canlı siteyi kazara taramaya tamamen kapatacak biçimde Disallow: / satırı yazmayın.
- İndekslenmesini istediğiniz sayfaların dizinlerini Disallow ile engellemediğinizden emin olun.
3. Sitemap’leri Oluşturun ya da Gözden Geçirin
CMS kullanıyorsanız genellikle bir eklenti ya da çekirdek özellik sitemap oluşturacaktır. Statik sitelerde ise manuel üretim ya da otomatik betikler (örneğin cron job ile çalışan jeneratörler) devreye girer.
Kontrol etmeniz gerekenler:
- Her sitemap dosyası hem 50.000 URL sınırını hem de 50 MB (52.428.800 bayt) sıkıştırılmamış boyut sınırını karşılamalı; gzip kullanımı bu sınırı değiştirmez.
- Tüm URL’ler 200 durum kodu ile dönmeli ve noindex olmamalı.
- www ve https tercihinize göre kanonik URL yapısı net olmalı.
- Alt alan adlarının sitemap URL’leri ve varsa kendi robots.txt dosyalarındaki bildirimler kontrol edilmeli.
4. Arama Motoru Panellerine Bildirin
robots.txt içine Sitemap satırını eklemek, sitemap’in keşfedilmesine yardımcı olur. Arama motoru panellerine ayrıca göndermek ve raporları izlemek için:
- Arama konsolu panelinde sitenizi doğrulayın.
- Sitemap URL’nizi elle ekleyin.
- Tarama istatistikleri, hata raporları ve kapsam raporlarını düzenli takip edin.
Bu sayede robots.txt ve sitemap.xml üzerinde yaptığınız değişikliklerin ardından tarama ve indeksleme durumunu izleyebilirsiniz; raporları gerçek zamanlı ölçümler olarak değerlendirmeyin.
5. HTTP Durum Kodları ile Uyumlu Hale Getirin
robots.txt ve sitemap.xml ne kadar düzgün olursa olsun, sayfalarınız yanlış HTTP statüleri dönüyorsa SEO tarafında sorun yaşamaya devam edersiniz. Özellikle:
- Kalıcı yönlendirmeler için 301 kullanın.
- Geçici yönlendirmelerde 302’nin gerçekten geçici olduğundan emin olun.
- Artık var olmayan içeriklerde 404 kullanılabilir; içeriğin kalıcı olarak kaldırıldığını belirtmek istiyorsanız 410 tercih edebilirsiniz.
- 5xx hataları sitemap’teki sayfalarda sık yaşanıyorsa, sunucu ve uygulama loglarını inceleyin; kaynak yetersizliği saptanırsa hosting paketinizin kapasitesini gözden geçirin.
Bu konuyu daha detaylı ele aldığımız HTTP durum kodları rehberi, robots.txt ve sitemap.xml ayarlarının sunucu yanıtlarıyla çelişmemesi için iyi bir tamamlayıcı kaynaktır.
Sık Yapılan Hatalar ve Kaçınma Yolları
Aşağıdaki hataları lansman kontrol listenize eklemek, istenmeyen tarama engellerini ve indeksleme sorunlarını önceden fark etmenize yardımcı olur.
1. Geliştirme Ortamı robots.txt’sinin Canlıya Taşınması
Geliştirme sürecinde test ortamının taranmasını engellemek için robots.txt içine Disallow: / yazılmış olabilir. Bu kuralın ilgili botlara uygulandığı dosya canlıya aynen taşınırsa, kurala uyan arama motorlarının siteyi taraması engellenir.
Önlem:
- Canlıya çıkmadan önce robots.txt dosyasını mutlaka manuel olarak gözden geçirin.
- Geliştirme ortamı için alan adı düzeyinde farklı domain ya da subdomain kullanın.
- Test ortamı özel kalacaksa robots.txt’ye güvenmeyin; HTTPS üzerinden HTTP Basic Auth gibi bir erişim kontrolü uygulayın.
2. Sadece robots.txt ile Gizlilik Beklemek
İç kullanıcıya özel, hukuki veya finansal belgeleri barındıran dizinleri robots.txt ile kapatmaya çalışmak, hem teknik hem de hukuki açıdan risklidir. Çünkü bu klasörlerin yolu, robots.txt sayesinde tüm dünyaya ilan edilmiş olur.
Bu durumda yapmanız gerekenler:
- İçerikleri herkese açık web kök dizininden tamamen çıkarın.
- Korumalı alanlar için kimlik doğrulama, VPN ya da IP kısıtlamaları uygulayın.
- robots.txt’yi sadece bot davranışını yönlendiren bir rehber olarak görün.
3. Sitemap’e Noindex veya 404 Sayfaları Koymak
İndekslenmesini istemediğiniz sayfaları (örneğin noindex ile işaretlediğiniz içerikler) ya da 404/410 dönen URL’leri sitemap içinde bırakmak, arama motoru raporlarında indekslenmeyen URL kayıtlarına ve gereksiz tarama isteklerine yol açabilir.
Çözüm:
- Sitemap jeneratörünüzde noindex sayfaları dışarıda bırakma seçeneği varsa aktif edin.
- Yanlış URL’leri düzenli aralıklarla temizleyin.
- Yeniden tasarım veya URL değişikliği sonrası 301 yönlendirmeleri düzgün kurgulayın; sitemap’te yönlendirme yapan eski URL’ler yerine nihai kanonik URL’leri kullanın.
4. Çok Dilli Sitelerde Sitemap Yönetimini Plansız Bırakmak
tr, en, de gibi birden fazla dil sürümü olan sitelerde tek sitemap kullanmak başlı başına bir hata değildir. Ancak URL sayısı büyüdükçe tüm dilleri tek dosyada yönetmek zorlaşabilir.
Yönetimi kolaylaştırmak için isteğe bağlı bir yaklaşım:
- Her dil için ayrı bir sitemap (sitemap-tr.xml, sitemap-en.xml vb.) üretin.
- Bunları bir sitemap index içinde toplayın.
- robots.txt içinden sitemap index’i referans verebilirsiniz; her alt sitemap’i ayrıca listelemeniz gerekmez.
5. Hosting Tarafı Dosya Konumlarının Karıştırılması
Birden fazla site barındıran bir hosting hesabında dosyaların yanlış document root’a konulduğu bir senaryoyu düşünün: Ana domain için hazırlanan robots.txt yanlışlıkla bir addon domain dizinine yüklenirse hedeflenen sitede etkili olmaz.
Önerimiz:
- Her domain ve subdomain için document root dizinini net olarak not alın.
- Dosyaları yüklerken paneldeki dizin yolunu iki kez kontrol edin.
- Tarayıcı üzerinden URL kontrollü test yapmadan kurulumu tamamlamış saymayın.
Hosting, SEO ve DCHost Perspektifinden Son Söz
robots.txt ve sitemap.xml, kağıt üzerinde basit görünen ama pratikte SEO performansınızı ve sunucu kaynak kullanımınızı ciddi biçimde etkileyebilen iki temel yapı taşı. Özellikle yeni proje lansmanlarında, alan adı değişikliklerinde, çok dilli site geçişlerinde ya da paylaşımlı hostingten VPS’e yükseltme süreçlerinde bu dosyaları ihmal etmek, indeksleme sorunlarına ve trafik kaybına yol açabilir.
DCHost olarak bizim bakış açımız şu: Sağlam bir SEO stratejisi ile sağlam bir hosting mimarisi birbirinden ayrılamaz. Doğru planlanmış robots.txt ve sitemap.xml, iyi ayarlanmış HTTP durum kodları, mantıklı bir alan adı ve alt alan adı mimarisi ve yeterli sunucu kaynaklarıyla birlikte anlam kazanır. İhtiyacınıza göre paylaşımlı hosting, VPS, dedicated sunucu veya colocation seçeneklerini değerlendirirken, bu yapılandırmaları yönetmek için gereken erişim yetkilerini ve ekiplerinizin sorumluluklarını belirleyin.
Sitenizin mevcut durumundan emin değilseniz, bu yazıdaki kontrol listesiyle başlayın; ardından log analizi, HTTP hataları, veritabanı ve uygulama performansı gibi katmanları da yavaş yavaş ele alın. Hosting sağlayıcınızdan destek alacaksanız, sunucu erişimi ve hata teşhisi gibi ihtiyaçlarınızın seçtiğiniz planın destek kapsamına girip girmediğini netleştirin; SEO yapılandırması için ekip içi sorumlulukları da belirleyin.





