Ana içeriğe geç

Sitemap Hataları: Google Search Console Hata Mesajları

Sitemap Hataları Google Search Console - Teknik SEO Rehberi

Google Search Console'da sitemap raporunu açtığınızda iki sayıyla karşılaşırsınız: gönderilen URL sayısı ve indekslenen URL sayısı. Bu iki rakam nadiren eşittir. 300 URL gönderip 180 URL indekslendiğini gördüğünüzde ilk tepki genellikle "bir şeyler yanlış gidiyor" olur. Canonical etiketiyle yönetilen URL'ler, pagination çıktıları veya yakın zamanda eklenen sayfalar bu farkın büyük bölümünü açıklar; sorunun değil, Google'ın normal kararlarının yansıması. Ama GSC sitemap raporu yalnızca bu sayısal farkı değil, farklı ağırlıktaki çeşitli hata ve uyarı mesajlarını da gösterir. Bunları doğru okumadan yapılan müdahaleler çoğunlukla durumu iyileştirmez; zaman zaman kötüleştirir.

Gönderilen ve indekslenen URL sayıları arasındaki fark

GSC sitemap raporundaki "Gönderilen" sayısı, XML dosyanızdaki <url> etiketlerinin toplamıdır. "İndekslenen" sayısı ise Google'ın o sitemap'ten indekse aldığı URL sayısını gösterir; sitemap dışı kaynaklardan keşfedilen sayfaları içermez. Dolayısıyla "gönderilen 400, indekslenen 220" gibi bir tablo gördüğünüzde önce hangi sayfaların eksik kaldığını sormak, sayıyı eşitlemeye çalışmaktan daha üretkendir.

Canonical etiketiyle yönetilen URL'ler bu farkın önemli bir bölümünü açıklar. <link rel="canonical"> etiketi farklı bir URL'ye işaret eden sayfalar sitemap'e dahil edildiğinde Google bunları okur ama canonical'ı takip eder; indekse alınan URL sitemap'teki değil, canonical olandır. Bu bir hata değil, sistem beklentisine uygun davranıştır. Benzer şekilde yakın zamanda eklenen sayfalar için GSC'nin birkaç hafta gecikmeyle güncellenmesi normaldir; değişikliğin üzerinden iki haftadan az geçtiyse değerlendirme için erken sayılır.

Pagination sayfaları, faceted navigation çıktıları ve filtre kombinasyonu URL'leri de sayısal farka katkıda bulunur. 5000 SKU'lu bir e-ticaret kategorisinde renk ve beden kombinasyonlarından oluşan binlerce filtre URL'ini sitemap'e eklediyseniz bu URL'lerin büyük bölümünün indekslenmeyeceğini baştan beklemek gerekir. Bu URL'lerin büyük bölümü için ayrıca müdahaleye gerek yok; asıl aksiyon noktaları "fetch edilemedi" ve geçersiz URL uyarılarıdır.

"URL'ler okundu ancak indekslenmedi" mesajının gerçek anlamı

Bu mesaj GSC'nin en çok yanlış yorumlanan bildirimi arasındadır. Google sayfayı ziyaret etmiştir, içeriği işlemiştir; ama indekse almamaya karar vermiştir.

Hata değil, karar.

Bu ayrım aksiyonu doğrudan belirler: erişim sorunu olsaydı "fetch edilemedi" görürdünüz, oysa "okundu ancak indekslenmedi" mesajı Google'ın sayfayı açıp içeriği işlediğini, ardından bilinçli bir değerlendirmeyle arama sonuçlarına almamaya karar verdiğini gösterir. Kök nedenler birkaç kategoriye dağılır.

İçerik kalitesi bu mesajın en yaygın nedenidir. Sayfa çok az benzersiz içerik barındırıyorsa ya da başka bir sayfayla yüksek oranda örtüşüyorsa Google indekslemeyi erteler veya hiç indekslemeyebilir. Tüm ürün sayfalarının açıklamalarının aynı şablondan üretildiği katalog siteleri bu riski daha sık yaşar; 200 ürün sayfasının 180'i özdeş yapı taşıyorsa Google bunların tamamını indeksleme konusunda isteksiz davranır.

Canonical tutarsızlığı ikinci büyük nedendir. <link rel="canonical"> etiketi başka bir URL'ye işaret ediyorken sitemap'te farklı URL listeleniyorsa Google iki farklı sinyalle karşılaşır: sitemap "bu sayfayı indeksle" derken canonical etiketi "asıl sayfa başka" der. Google bu çelişkide genellikle canonical'ı seçer ve sitemap URL'sini indekslemez; mesaj tam olarak bu kararı yansıtır.

Tarama bütçesi üçüncü faktördür. Günlük tarama kotası kısıtlı olan sitelerde Googlebot kuyruğa aldığı URL'leri işler ama indeksleme ayrı bir karar aşamasıdır; tarama gerçekleşmiş olabilir, indeksleme henüz olmamış. Bu durum on binlerce URL'e sahip büyük siteleri daha belirgin şekilde etkiler. Sitenizin tarama kotasının nerede harcandığını anlamadan sitemap temizliğine girişmek sonuç vermez.

Bu mesaj için yapılabilecek en etkili aksiyon, etkilenen sayfaların canonical tutarlılığını ve içerik kalitesini gözden geçirmektir. Sitemap'i yeniden göndermek bu mesajı çözmez; sorun erişim değil, Google'ın indeksleme kararıdır ve çözüm sitemap dışındadır.

Fetch edilemedi ve erişim hataları

"Fetch edilemedi" ya da "Erişilemiyor" uyarısı, sitemap dosyasına erişim sorununa işaret eder. İlk adım basit doğrulamadır: GSC'ye girdiğiniz sitemap URL'sini tarayıcıda açın. 200 dışında bir durum kodu görürseniz kök neden buradandır.

Yazım hataları beklenenden sık karşılaşılan bir nedendir. sitemap.xml yerine sitemap.XML veya sitemap_index.xml yerine sitemap-index.xml gibi küçük farklılıklar, sunucunun büyük/küçük harf duyarlılığına göre 404 döndürebilir. Apache'de bu duyarlılık varsayılan olarak aktiftir.

robots.txt engellemeleri de bu hatayla sonuçlanabilir. Googlebot'un sitemap dosyasına erişimini dolaylı olarak kısıtlayan bir Disallow kuralı varsa ya da doğrudan Disallow: /sitemap.xml yazıldıysa erişim engellenir. robots.txt dosyanızı denetlemek ve Googlebot için sitemap erişimini açık tuttuğunuzu doğrulamak bu hata türünün çözüm noktasıdır. GSC'nin kendi robots.txt test aracı, dosyayı Googlebot gözünden parse ederek engellenen kaynakları listeler.

Gzip sıkıştırmalı sitemap kullanıyorsanız sunucunun doğru Content-Type başlığıyla serve ettiğini kontrol edin. Bazı sunucu yapılandırmalarında .xml.gz dosyaları yanlış MIME tipiyle gönderilir ve Googlebot dosyayı açamaz; dosya boyutu küçük görünse de içerik okunamaz. Sitemap index dosyası kullanıyorsanız her alt sitemap dosyasının ayrı ayrı erişilebilir olduğunu doğrulayın; ana index dosyası erişilebilir olsa bile içindeki alt sitemaplardan biri 404 dönüyorsa GSC o alt dosya için ayrı hata gösterir.

Geçersiz URL ve canonical uyuşmazlığı uyarıları

GSC bazı URL'leri "Geçersiz" olarak işaretlediğinde bunun somut nedenleri vardır. Göreceli URL'ler sitemap standardına aykırıdır; /hakkinda.html biçimi yerine https://www.orneksite.com/hakkinda.html tam URL formatı zorunludur. Sitemap'teki URL'lerin sitenizin canonical domain'iyle tam eşleşmesi gerekir: siteniz https://www.orneksite.com üzerinde hizmet veriyorken sitemap'te http://orneksite.com URL'leri listeleniyorsa bu uyuşmazlık geçersiz URL uyarısı üretir. Trailing slash tutarsızlıkları (bir URL'nin hem /sayfa hem /sayfa/ versiyonunun sitemap'te yer alması) da aynı kategoriye girer.

Noindex direktifi içeren sayfaların sitemap'e eklenmesi teknik olarak bir XML hatası değildir, ancak anlamsızdır. Google bu sayfaları indeksleyemeyeceğini bildirir; sayfaların sitemap'ten de çıkarılması hem dosya kalitesini yükseltir hem de raporun okunabilirliğini artırır. Yönlendirme zincirinin ortasındaki URL'ler de (A'dan B'ye, B'den C'ye yönlendirilen bir zincirde B) sitemap'e alınmamalıdır; Google yine de zincirin sonundaki URL'yi takip eder ama bu ara URL için uyarı üretebilir. XML sitemap oluştururken bu tür URL'leri baştan filtrelemek, GSC'de sonradan geçersiz URL uyarısı görme riskini azaltır.

XML sözdizimi hataları da geçersiz URL uyarısına yol açabilir; bu durum bazen gözden kaçar çünkü dosya tarayıcıda açılabilse de Googlebot farklı bir parser kullanır. Sitemap dosyasındaki URL'lerde & karakteri &amp; olarak encode edilmezse XML parser hataya düşer. https://orneksite.com/sayfa?utm_source=google&utm_medium=cpc biçimindeki bir URL'yi olduğu gibi sitemap'e yazmak standarda aykırıdır; doğrusu &amp; ile encode edilmiş formudur. Türkçe karakterler içeren URL'lerde benzer bir sorun çıkabilir; URL encode edilmemiş Türkçe karakter sitemap'te geçersiz XML sayılır. Sitemap dosyasını yayınlamadan önce bir XML validator'dan geçirin; hatalar orada görünür, GSC uyarısını beklemeden.

Parametre içeren URL'ler ayrı bir sorun kaynağıdır. Oturum ID'si barındıran URL'ler (örn. ?session=abc123), izleme parametreleri ya da her kullanıcı için farklı değer alan dinamik parametreler sitemap'e eklendiğinde dosya boyutunu şişirir ve GSC raporunda indekslenmeyen URL sayısını yapay olarak büyütür. Parametreli URL'leri canonical etiketiyle yönetmek ve sitemap'ten dışlamak daha temiz bir yapı sağlar.

Sitemap değişikliklerinden sonra bekleme ve yeniden gönderme

Bir hata tespit edip düzelttikten sonra GSC'de "Yeniden Gönder" butonuna basmak sezgisel bir adımdır. Bu aksiyonun ne zaman işe yaradığını, ne zaman sonuç vermediğini anlamak boşuna beklemeyi önler.

Yeniden gönderme etkilidir: fetch edilemedi hatasını giderdikten sonra, geçersiz URL'leri sitemap'ten kaldırıp dosyayı güncelledikten sonra ya da yeni URL'ler ekleyip Googlebot'un bunları daha hızlı taramasını istediğinizde mantıklı bir adımdır. GSC bu aksiyonu bir ipucu olarak alır; garantili bir tarama tetikleyici değildir. Hızlandırma sağlayabilir ama zamanlama Google'ın o anki tarama kapasitesine bağlıdır.

Yeniden gönderme işe yaramaz: "okundu ancak indekslenmedi" sayısı aynı sitemap iki kez gönderildiğinde de değişmez, üç kez gönderildiğinde de. Google bu sayfaları zaten gezmiş ve indekslememek üzere bir değerlendirme yapmıştır; sitemap yeniden göndermesi bu kararı etkileyen bir sinyal değildir. Aksiyon sayfanın içerik kalitesi veya canonical tutarlılığı üzerindedir.

GSC raporunun güncellenmesi genellikle birkaç gün ile birkaç hafta arasında değişir; büyük sitelerde bu süre uzar. Düzeltme yapıp bir günde sonuç beklemek gerçekçi bir beklenti değildir. Sitenizin teknik erişilebilirliğini periyodik olarak izlemek GSC'ye ulaşacak hataları önceden azaltmanın en pratik yoludur; sunucu erişim sorunları veya yönlendirme kırılmaları fark edilmeden birikmeden önce tespit edilebilir.

GSC sitemap raporu bir sinyal sistemidir ve her mesaj müdahale gerektirmez. Fetch hataları ile geçersiz URL uyarıları teknik düzeltme gerektiren gerçek sorunlardır; "okundu ancak indekslenmedi" mesajı ise içerik veya canonical katmanında çözülmesi gereken ayrı bir problemi işaret eder. Hangi mesajın hangi katmana işaret ettiğini doğru ayırt etmek, boşuna sitemap yeniden gönderme döngüsüne girmeden zamandan kazandırır.