Uluslararası Sitemap: Çok Dilli Yapıda XML Site Haritası

Uluslararası sitemap yapısını temsil eden editoryal blog görseli

Çok dilli sitelerde XML sitemap çoğu zaman yalnızca arama motoruna URL listesi vermek için kullanılan yardımcı bir dosya gibi görülür. Oysa yapı büyüdükçe sitemap, tarama yönlendirmesinin ötesinde bir düzen aracı haline gelir. Hangi sayfaların gerçekten yaşadığını, hangi varyantların yayında olduğunu ve alternatif ilişkilerin nerede taşındığını toplu biçimde görünür kılar.

Özellikle farklı dil ve ülke sürümleri arttığında, yalnızca iç linklere güvenmek sitenin resmini eksik bırakır. Menü İngilizceye güçlü link veriyor olabilir ama Norveç sürümü derin bir klasörde kalmış olabilir. Yeni açılan ülke sayfaları iç link akışında geç fark edilebilir. XML sitemap bu yüzden yalnızca keşif kolaylığı değil, yayın envanteri işlevi de görür.

İşin kritik tarafı şu: çok dilli yapıda sitemap yalnızca URL dökümü değildir. Doğru kurulduğunda hreflang ilişkilerini de taşıyabilir, segment bazında kontrol edilebilir, indeksleme sorunlarını daha hızlı görünür kılar ve şablon hatalarını toplu düzeyde ele verir. Yanlış kurulduğunda ise tersine, robots ile engellenen URL'leri, canonical ile başka yere giden sayfaları ve yarım kalan dil sürümlerini arama motoruna tekrar tekrar iten gürültülü bir dosyaya dönüşür.

Çok dilli yapıda sitemap neden ayrı önem taşır?

Tek dilli küçük bir sitede iyi iç linkleme çoğu zaman tarama için yeterli olabilir. Çok dilli yapılarda tablo değişir. Aynı içerik ailesinin farklı dil versiyonları, ülke dizinleri, filtrelenmiş kategori ağaçları ve yeni açılan pazar sayfaları bir anda URL sayısını katlar. Bu büyüme sadece sayfa sayısını değil, tarama karmaşıklığını da artırır.

XML sitemap bu noktada üç işe yarar. Birincisi, arama motoruna "yayında kalmasını istediğim URL'ler bunlar" der. İkincisi, site mimarisinden bağımsız bir yayın listesi sunar. Üçüncüsü, özellikle uluslararası projelerde hreflang ilişkilerini tek merkezden taşıyabildiği için alternatif dil sinyallerini daha kontrollü hale getirir.

Burada önemli bir yanlış anlamayı da ayırmak gerekir: sitemap, indeksleme garantisi vermez. Bir URL'yi sitemap'e koymak, onun mutlaka dizine alınacağı anlamına gelmez. Ama sitemap'te olmayan ama indekslenmesini beklediğiniz sayfalar için işiniz daha da zorlaşır. Hele yeni pazar sayfaları açıyorsanız, sitemap onların keşif hızını ve denetimini belirgin biçimde iyileştirir.

Uluslararası SEO tarafında sitemap'in değeri biraz da görünmeyeni görünür kılmasından gelir. Hangi ülke klasörünün büyüdüğünü, hangi dil sürümünün eksik kaldığını, hangi şablonun URL üretmeye başlayıp sonra yarım bırakıldığını çoğu zaman en hızlı sitemap katmanında fark edersiniz.

Sitemap'e hangi URL'ler girmeli, hangileri girmemeli?

Çok dilli sitede sitemap'e yalnızca gerçekten indekslenmesini istediğiniz, 200 durum kodu dönen ve canonical açısından yaşayan URL'ler girmelidir. Bu cümle basit görünür ama uygulamada en çok burada hata yapılır.

Örneğin geçici kampanya parametreli sürümler, arama sonuç sayfaları, filtre kombinasyonları, yönlendirme yapan eski klasörler veya noindex bırakılmış geçiş sayfaları sitemap'e girmemelidir. Aynı şekilde canonical etiketi başka bir URL'ye giden sayfaları da sitemap'e doldurmak iyi fikir değildir. Bir yandan "bunu esas sayfa sayma" deyip öte yandan site haritasında "lütfen bunu tara" demek sinyali bulanıklaştırır.

Dil seçici ya da ülke geçiş ekranı kullanıyorsanız burada karar daha dikkatli verilir. Eğer bu sayfa gerçekten indekslenmesini istediğiniz bir landing page ise sitemap'e girebilir. Ama yalnızca yönlendirme veya seçim katmanı olarak çalışıyorsa çoğu projede sitemap dışında kalması daha temiz olur. x-default mantığı ile sitemap mantığını burada karıştırmamak gerekir.

Bir de yarım yayın problemi vardır. Diyelim ki Fransızca kategori yapısı açıldı ama ürün detaylarının yalnızca üçte biri hazır. Şablon otomatik olarak tüm Fransızca URL'leri sitemap'e ekliyorsa, arama motoruna var olmayan editoryal bütünlüğü gösterirsiniz. Bu tip durumlarda yayın akışını sitemap üretimine bağlamak daha sağlıklı olur; canlı olmayan dil varyantları dosyaya hiç düşmemelidir.

Aynı mantık ülke varyantları için de geçerlidir. Kanada klasörü açılmış olabilir ama lojistik metinleri, vergi notları ya da teslimat sayfaları henüz tamamlanmamışsa, sitemap üzerinden tüm klasörü canlı gibi göstermek erken davranmak olur. Arama motoru açısından sorun yalnızca eksik sayfa değildir; eksik bağlamdır. Kullanıcı doğru ülke sürümüne düşse bile, sayfanın verdiği vaat yarım kalır.

Hreflang ilişkileri XML sitemap içinde nasıl taşınır?

Hreflang etiketleri yalnızca HTML <head> içinde taşınmak zorunda değildir. Büyük projelerde XML sitemap içinde taşımak ciddi operasyon kolaylığı sağlar. Özellikle binlerce sayfanın olduğu yapılarda her sayfanın head bölümünü ayrı ayrı üretmek yerine, alternatif URL kümelerini sitemap katmanında yönetmek daha güvenilir hale gelir.

Temel mantık şudur: her URL girdisinin altında aynı sayfanın alternatif dil ve ülke sürümleri xhtml:link elemanlarıyla listelenir. Böylece Google, bir URL'nin kendi kümesini tek blok halinde görebilir. Bu yaklaşım tek başına mucize yaratmaz; ama hreflang dağıtımını merkezi hale getirir ve toplu hata kontrolünü kolaylaştırır.

<url>
  <loc>https://ornek.com/tr/urun-a/</loc>
  <xhtml:link rel="alternate" hreflang="tr-TR" href="https://ornek.com/tr/urun-a/" />
  <xhtml:link rel="alternate" hreflang="en-GB" href="https://ornek.com/en-gb/product-a/" />
  <xhtml:link rel="alternate" hreflang="en-US" href="https://ornek.com/en-us/product-a/" />
</url>

Burada dikkat edilmesi gereken nokta, sitemap içindeki kümenin eksiksiz olmasıdır. HTML tarafında olduğu gibi XML tarafında da karşılıklı ilişki mantığı korunur. Bir dil sürümünü yalnızca bazı kümelerde listeleyip bazılarında unutursanız, hreflang sorununu dosya yapısının içine gömmüş olursunuz.

XML sitemap formatında çıktı almak gerekiyorsa bir hreflang generator kullanmak, özellikle çok sayıda alternatif dil kümesinde işaretleme hatasını azaltır. Araçtan çıkan blok yine körlemesine yapıştırılmamalı; URL'lerin gerçekten 200 döndüğü ve canonical kararlarıyla uyumlu olduğu ayrıca kontrol edilmelidir.

Bu yöntem, teknik denetim akışında da avantaj sağlar. Çünkü head etiketleri ile sitemap ilişkilerini karşılaştırdığınızda hangi katmanda üretim sorunu olduğunu daha net ayırabilirsiniz.

Tek sitemap mi, segmentlere bölünmüş sitemap mi?

Küçük projelerde tek sitemap dosyası yönetilebilir. Uluslararası yapıda bu yaklaşım kısa sürede hantallaşır. Daha iyi yöntem, dosyaları mantıklı segmentlere bölmektir. Dil bazlı, ülke bazlı, içerik tipi bazlı veya bunların birleşimiyle ilerlenebilir.

Örneğin yalnızca makale üreten bir projede tr-blog.xml, en-blog.xml gibi dil bazlı ayrım yeterli olabilir. E-ticaret benzeri karmaşık yapılarda ise kategori, ürün ve bilgi sayfalarını ayrı dosyalarda tutmak daha okunaklıdır. Sonra bu dosyalar bir sitemap index içinde toplanır. Böylece sorun çıktığında tüm dosyayı değil, etkilenen segmenti incelersiniz.

Bunun pratik faydası büyüktür. Sadece Almanca ürün sayfalarında hata varsa tek dosya içinden ayıklamak yerine ilgili sitemap segmentine bakarsınız. Yeni bir pazar açıldığında da mevcut dosyayı şişirmek yerine yeni segment eklersiniz. Bu yaklaşım editoryal operasyonla teknik operasyonu birbirinden ayırmayı da kolaylaştırır.

Yaklaşım Avantaj Risk
Tek sitemap dosyası Küçük yapıda hızlı kurulum Büyüdükçe denetim zorlaşır
Dil bazlı segmentleme Ülke ve dil kümeleri ayrı izlenir Yanlış sınıflamada URL'ler dağılabilir
İçerik tipi bazlı segmentleme Ürün, kategori ve blog ayrı kontrol edilir Dil varyantı çoksa tek başına yetersiz kalabilir
Dil + içerik tipi kombinasyonu En temiz denetim modeli Üretim mantığı iyi kurulmazsa bakım maliyeti artar

Hangi model seçilirse seçilsin, temel kural değişmez: sitemap yapısı sitenin gerçek yayın yapısını yansıtmalıdır. Teknik olarak kolay olan değil, operasyonel olarak izlenebilir olan yapı daha doğrudur.

Pratikte çoğu ekip şu hatayı yapar: önce tek sitemap ile başlar, sonra site büyüdüğünde segmentlemeyi erteler. O erteleme birikir. Bir noktadan sonra dosya hem içerik ekipleri hem geliştiriciler için okunamaz hale gelir. Daha başta kusursuz mimari kurmak şart değildir ama büyüme yönü belliyse segment mantığını erken kurmak ciddi zaman kazandırır.

lastmod alanı gerçekten ne işe yarar?

Sitemap içindeki lastmod alanı çoğu projede otomatik doldurulur; ama çoğu zaman anlamsız biçimde. Şablon her deploy sonrası aynı tarihi tüm URL'lere yazıyorsa, arama motoruna faydalı sinyal göndermiyorsunuz demektir. Çok dilli projelerde bu hata daha belirgin olur, çünkü küçük altyapı dokunuşları binlerce URL'nin sanki editoryal olarak değişmiş gibi görünmesine neden olabilir.

Yararlı kullanım, gerçekten içeriği etkileyen değişiklikleri yansıtmaktır. Başlık, gövde, önemli ürün bilgisi, para birimi mantığı, ülke teslimat koşulu veya hreflang kümesini etkileyen yapısal değişiklikler lastmod güncellemesini hak eder. Sadece CSS dokunuşu ya da ufak şablon düzeni her zaman bu seviyede sinyal değildir.

Çok dilli yapılarda bir başka ayrım daha gerekir: tüm kümeyi değil, yalnızca değişen varyantı güncellemek. İngiltere sürümündeki fiyat bilgisi değişti diye Kanada sürümünün de lastmod alanını yükseltmek, veri kalitesini düşürür. Sitemap dosyası ne kadar dürüstse, tarama önceliklendirmesi o kadar anlamlı hale gelir.

En sık yapılan sitemap hataları nelerdir?

İlk hata, yönlenen veya canonical ile başka yere giden URL'leri sitemap'te tutmaktır. Bu durum genellikle geçiş projelerinde görülür; eski dizin yapısı kaldırılmıştır ama sitemap üreticisi eski kayıtları hâlâ dosyaya basar. Tarama sinyali çöpe gitmeye başlar.

İkinci hata, dil kümelerini eksik üretmektir. Türkçe ve İngilizce sayfalar dosyada vardır ama Almanca sürümler ya unutulmuştur ya da yalnızca bazı segmentlerde görünür. Bu, özellikle yarı otomatik üretim kullanan ekiplerde olur. Hreflang dosya üzerinden veriliyorsa hata daha da büyür; eksik küme, doğrudan yanlış alternatif ağı anlamına gelir.

Üçüncü hata, test ortamı ya da yanlış domain sızıntısıdır. staging.ornek.com adresleri sitemap üretimine bir kez karıştığında, bunu geç fark etmek mümkündür. Çok dilli projede sorun bazen yalnızca tek dil klasöründe ortaya çıkar; bu yüzden örnek kontrol değil toplu tarama şart olur.

Dördüncü hata, sitemap'i editoryal plan yerine şablon çıktısına emanet etmektir. Şablon URL üretiyor diye o URL'nin yayında kabul edilmesi gerekmez. İçerik hazır değilse, dil sürümü tamamlanmadıysa veya country variant ticari olarak henüz açık değilse, sitemap bunu otomatik canlı saymamalıdır.

Beşinci hata daha sessizdir: sitemap var ama kimse ona bakmıyordur. Oysa dosyanın kendisi bir denetim aracı olarak okunmalıdır. Bir dil klasöründeki ani artış, eksilen URL sayısı, belirli içerik tiplerinin hiç görünmemesi veya `lastmod` alanının her gün topluca değişmesi başlı başına uyarı sinyalidir.

Altıncı hata, robots.txt ile sitemap arasında çelişki üretmektir. Bir klasörü taramaya kapatıp aynı klasördeki URL'leri sitemap'e yazmak çoğu zaman plansız geçişlerin sonucudur. Bu tip çelişkiler küçük projede birkaç dosyayla sınırlı kalır; uluslararası yapıda ise tüm ülke segmentini etkileyebilir. sitemap, robots ve canonical üçlüsü aynı yönü göstermelidir.

Yayın öncesi kontrol nasıl yapılmalı?

Sağlıklı kontrol için sitemap'e yalnızca "var mı" diye bakmak yetmez. Dosyayı açıp rastgele birkaç URL seçmek de yeterli olmaz. Daha sistemli bir kontrol gerekir.

  1. Her sitemap segmentinde URL'ler 200 dönüyor mu kontrol edin.
  2. Canonical etiketi sitemap'teki URL ile aynı hedefi mi gösteriyor bakın.
  3. Hreflang XML içinden veriliyorsa her küme tam mı, eksik varyant var mı doğrulayın.
  4. Yayın dışı kalan dil veya ülke sayfaları sitemap'te yanlışlıkla görünmesin.
  5. lastmod alanı topluca ve anlamsız biçimde değişiyor mu diye dosya sürümlerini kıyaslayın.

Bir noktada kontrol teknik ekip ile içerik ekibi arasında köprü işlevi de görür. İçerik ekibi yeni pazar açıldığını söyler ama sitemap'te o segment görünmüyorsa yayın zinciri tamamlanmamış demektir. Tersine, sitemap'te görünen ama içerik ekibinin henüz hazır saymadığı URL'ler varsa, otomasyon canlıdan hızlı davranıyor demektir.

Kısacası sitemap dosyası, yalnızca arama motoru için değil ekip içi yayın disiplini için de bir kontrol panelidir.

İyi sitemap, sessiz bir yardımcı dosya değildir. Çok dilli yapıda hangi envanterin gerçekten yayında olduğunu anlatan, tarama kararlarını netleştiren ve hreflang operasyonunu temizleyen bir omurgadır. Doğru kurulduğunda görünmez çalışır; bozulduğunda ise sorunların izini en hızlı orada bulursunuz.