Bir XML Sitemap, arama motorlarına mevcut tüm içeriğe dair genel bir bakış sunmak amacıyla bir web sitesindeki tüm sayfaları listeleyen özel bir belgedir. Özellikle büyük web sitelerinde (500+ sayfa) bir XML Site Haritası kullanılması şiddetle tavsiye edilir.
Bir XML Site Haritası oluştururken şu en iyi uygulamalara sadık kalmalısınız:
- Güncel Tutun: XML Site Haritasını web sitenizin içeriğiyle her zaman güncel tutun.
- Temiz Bir Liste Sunun: Yalnızca dizine eklenebilir (indexable) sayfalar dahil edilmelidir.
- robots.txt İlişkisi: XML Site Haritasına robots.txt dosyanızda mutlaka yer verin.
- Limitlere Dikkat Edin: Tek bir XML Site Haritasında 50.000’den fazla URL listelemeyin.
- Dosya Boyutu: (Sıkıştırılmamış) dosya boyutunun 50 MB’ı geçmediğinden emin olun.
- Detaylarda Boğulmayın:
lastmod,priorityvechangefreqgibi özelliklere aşırı odaklanmayın.
XML Sitemap Nedir?
XML Site Haritası, bir web sitesindeki tüm sayfalarını listeleyen ve arama motorları için tasarlanmış özel bir belgedir. Bunu bir telefon rehberi gibi düşünebilirsiniz.
XML Site Haritası arama motoruna hangi içeriğin mevcut olduğunu ve ona nasıl ulaşılacağını söyler. Ayrıca, içeriğin en son ne zaman güncellendiği ve içeriğin önemi gibi bazı ek bilgiler de sağlar.
XML Site Haritası arama motorları için oldukça kullanışlıdır; çünkü onlara mevcut tüm içeriğin tek bir toplu özetini sunar. Bu harita, arama motorları için hem web sitenizi ilk kez taradıklarında bir başlangıç noktası hem de yeni eklenen içerikleri hızlıca keşfetmeleri için bir yol görevi görür.
Burada dikkat edilmesi gereken önemli nokta, XML site haritaları ile “normal” site haritaları (HTML site haritaları olarak da bilinir) arasındaki farktır. HTML site haritaları ziyaretçilerinizin web sitenizde içerik bulması içindir; XML site haritaları ise arama motorları içindir.
XML Sitemap Neden Önemlidir?
XML Site Haritaları, arama motorlarının web sitenizin içeriğini değerlendirmesine yardımcı olur ve onları yeni veya güncellenmiş içeriklerden haberdar etmek için bir mekanizma sağlar. Bu nedenle, mümkün olan her durumda uygulanması önerilir. Özellikle büyük web siteleri (500+ sayfa) için gerçek bir zorunluluk haline gelirler.
XML Sitemap Nasıl Görünür?
Bir XML Site Haritası arama motorları için tasarlanmıştır ve bu nedenle bilgisayarların kolayca anlayabileceği bir dilde formatlanmıştır: XML. Neyse ki XML, insanlar için de oldukça okunabilirdir; gelin bir örneğe göz atalım:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://www.contentkingapp.com/</loc>
<lastmod>2017-06-14T19:55:25+02:00</lastmod>
</url>
<url>
<loc>https://www.contentkingapp.com/blog/</loc>
<lastmod>2016-06-24T10:23:20+02:00</lastmod>
</url>
</urlset>
XML Başlığı (Header)
<?xml version="1.0" encoding="UTF-8"?> Bu başlık, içeriğin XML standardının 1.0 sürümüne göre yapılandırıldığını belirtir ve karakter kodlamasını (encoding) tanımlar. Temel olarak arama motorlarını dosyanın içeriği hakkında bilgilendirir.
URL Seti Tanımı
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> Bu urlset tanımı, site haritasında bulunan tüm URL’leri kapsar ve XML Site Haritası standardının hangi sürümünün kullanıldığını açıklar. urlset etiketinin belgenin en sonunda şu şekilde kapatıldığına dikkat edin: </urlset>
Bireysel URL’lerin Tanımı
<url>
<loc>https://www.contentkingapp.com/</loc>
<lastmod>2017-06-14T19:55:25+02:00</lastmod>
</url>
Sonunda en önemli kısma geldik: url etiketi aracılığıyla her bir URL’nin tanımlanması. Her URL tanımının en azından bir loc (location – konum kelimesinin kısaltması) etiketi içermesi gerekir. Bu etiketin değeri, protokol (örneğin “http://”) dahil olmak üzere sayfanın tam URL’si olmalıdır.
Buna ek olarak, her URL tanımı şu isteğe bağlı özellikleri içerebilir:
- lastmod: URL’deki içeriğin en son ne zaman değiştirildiği bilgisidir. Tarih “W3C datetime” formatındadır.
- priority: URL’nin kendi web sitenize göre öncelik sırasıdır (0.0 ile 1.0 arasında bir değer).
- changefreq: URL’deki içeriğin ne sıklıkla değişmesinin beklendiğidir. Olası değerler: always, hourly, daily, weekly, monthly, yearly ve never.
XML Sitemap’i Nereye Yerleştirmeliyim?
Tıpkı web sitenizin sayfaları gibi, XML Site Haritası da kendi URL’sinde bulunur. Genellikle bir XML Site Haritasının URL’si /sitemap.xml şeklindedir ve arama motorlarının keşfetmesini kolaylaştırmak için bu kurala uyulması önerilir.
Ancak herhangi bir nedenle bu mümkün değilse, robots.txt dosyanızda Sitemap komutuyla referans verdiğiniz sürece farklı bir konum veya dosya adı seçebilirsiniz:
Sitemap: http://www.example.com/alternatifkonum/alternatifdosyaadi.xml
XML Sitemap İçin Herhangi Bir Sınırlama Var mı?
XML Site Haritaları için akılda tutulması gereken birkaç sınırlama vardır:
- En fazla 50.000 URL içerebilirler.
- Sıkıştırılmamış dosya boyutu 50 MB ile sınırlıdır.
Eğer XML Site Haritanız bu sınırları aşarsa, bunları birden fazla XML Site Haritasına bölmeniz ve bir XML Site Haritası Dizini (Index) kullanmanız gerekir.
XML Sitemap Dizini (Index) Nedir?
Tek bir XML Site Haritası için belirlenen sınırları aştığınızda, bunları ayrı XML Site Haritalarına bölmeniz ve bir XML Site Haritası Dizini ile bir araya getirmeniz gerekir. Bu dizin, çeşitli XML Site Haritalarına referans veren ayrı bir XML dosyasıdır.
Bir örneğe göz atalım:
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>http://www.example.com/sitemap1.xml.gz</loc>
<lastmod>2004-10-01T18:23:17+00:00</lastmod>
</sitemap>
<sitemap>
<loc>http://www.example.com/sitemap2.xml.gz</loc>
<lastmod>2005-01-01</lastmod>
</sitemap>
</sitemapindex>
Bu XML Site Haritası Dizini iki farklı site haritasına referans vermektedir: sitemap1.xml.gz ve sitemap2.xml.gz. Şimdi bu dosyayı da inceleyelim!
XML Başlığı
<?xml version="1.0" encoding="UTF-8"?>
Burada yeni bir şey yok; tıpkı XML Site Haritası dosyasında olduğu gibi, önce dosyanın XML formatında olduğunu ve hangi karakter kodlamasının kullanıldığını tanımlıyoruz.
Sitemap Dizini Tanımı
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
Burada bir urlset tanımı yerine sitemapindex tanımı görüyoruz. Bu tanım, dizin içinde yer alan tüm site haritalarını kapsar ve yine hangi XML standardının kullanıldığını belirtir. Tıpkı urlset tanımı gibi, sitemapindex tanımı da belgenin sonunda kapatılır: </sitemapindex>
Bireysel Sitemap Tanımı
<sitemap> <loc>http://www.example.com/sitemap1.xml.gz</loc> <lastmod>2004-10-01T18:23:17+00:00</lastmod></sitemap>
Ve asıl meseleye geliyoruz: Bireysel site haritalarının gerçek tanımı. Tıpkı URL’lerde olduğu gibi, her site haritası tanımı, ilgili XML Site Haritasının tam URL’sini içeren en az bir loc etiketi barındırmalıdır.
Buna ek olarak, site haritası tanımı isteğe bağlı olarak bir lastmod tanımı da içerebilir. Bu, referans verilen XML site haritasının en son ne zaman güncellendiğini gösteren tarihtir ve yine “W3C datetime” formatındadır.
XML Sitemap Dizinini Nereye Yerleştirmeliyim?
XML Site Haritalarına benzer şekilde, XML Site Haritası Dizini’nin konumu ve dosya adı için de genel bir kabul görmüş kural vardır: /sitemap_index.xml.
Ancak robots.txt dosyanızda referans verdiğiniz sürece bu kuralın dışına çıkmakta özgürsünüz:
Sitemap: http://www.example.com/alternatifkonum/alternatifdosyaadi.xml
XML Sitemap İçin En İyi Uygulamalar
XML Site Haritalarını uygularken şu en iyi uygulamaları takip etmek hayati önem taşır:
XML Sitemap’inizi Güncel Tutun
XML Site Haritanızın, web sitenizin güncel bir resmini sunduğundan emin olun. Bir sayfa yayından kaldırıldığında, aynı zamanda site haritası listenizden de çıkarılmalıdır. İsteğe bağlı olan lastmod etiketini kullanıyorsanız, sayfa her değiştiğinde bu zaman damgasını güncellediğinizden emin olun.
Profesyonel İpucu: Google Search Console’un Dizin Kapsamı Raporu’ndaki “Dizine eklendi, site haritasına gönderilmedi” sorunu, XML site haritanızın dizine eklenebilir tüm sayfalarınızı içerip içermediğini doğrulamak için oldukça yararlıdır.
XML Sitemap’inize Sadece Dizine Eklenebilir Sayfaları Dahil Edin
XML Site Haritanız yalnızca dizine eklenebilir (indexable) sayfaları tanımlamalıdır. Bu; yönlendirmelere (örneğin 301 durum kodu) ve eksik sayfalara (örneğin 404 durum kodu) işaret eden tüm URL’leri dışarıda bırakmanız gerektiği anlamına gelir.
Dahası, bu sayfaların dizine eklenebilir olması gerekir; yani:
- Arama motorları için erişilebilir olmalıdırlar (
robots.txtile engellenmemiş olmalı). - Arama motorlarına sayfayı dizine eklememelerini söyleyen yönergeler (
meta robots,canonicalbağlantılar veyax-robots-taggibi) içermemelidirler.
