Site Haritaları XML biçimi

Atla:
XML etiketi tanımları
Entity escaping
Site Haritası dizin dosyalarını kullanma
Diğer Site Haritası biçimleri
Site Haritası dosyası yeri
Site Haritanızı Doğrulama
Site Haritaları protokolünü genişletme
Arama motoru tarayıcılarını bilgilendirme

Bu belgede, Site Haritası protokolü için XML şeması açıklanmaktadır.

Site Haritası protokolü biçimi XML etiketlerinden oluşur. Site Haritasındaki tüm veri değerleri entity-escaped olmalıdır. Dosyanın kendisi UTF-8 olarak kodlanmış olmalıdır.

Site Haritası şu özellikleri taşımalıdır:

Tüm diğer etiketler isteğe bağlıdır. Bu isteğe bağlı etiketler için destek, arama motorları arasında farklılık gösterir. Ayrıntılar için ilgili arama motorunun belgelerine bakın.

Örnek XML Site Haritası

Aşağıdaki örnekte, yalnızca bir URL içeren ve isteğe bağlı tüm etiketlerin kullanıldığı bir Site Haritası gösterilmektedir. İsteğe bağlı etiketler italik yazılmıştır.

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
   <url>
      <loc>http://www.example.com/</loc>
      <lastmod>2005-01-01</lastmod>       <changefreq>monthly</changefreq>       <priority>0.8</priority>
   </url>
</urlset> 

Ayrıca, birden fazla URL'li örneğimize bakın.

XML etiketi tanımları

Kullanılabilir XML etiketleri aşağıda açıklanmıştır.

Öznitelik Açıklama
<urlset> gerekli

Dosyayı kapsüller ve geçerli protokol standardını referans olarak kullanır.

<url> gerekli

Her bir URL girişine ilişkin ana etiket. Geri kalan etiketler, bu etiketin alt öğeleridir.

<loc> gerekli

Sayfanın URL'si. Bu URL protokolle (http gibi) başlamalı ve sunucunuz gerektiriyorsa bir eğik çizgiyle sona ermelidir. Bu değer, 2.048 karakterden az olmalıdır.

<lastmod> isteğe bağlı

Dosyada yapılan son değişikliğin tarihi. Bu tarih W3C Datetime biçiminde olmalıdır. Bu biçim, isterseniz saat bölümünü çıkarmanıza ve YYYY-AA-GG biçimini kullanmanıza olanak sağlar.

Bu etiketin, sunucunun döndürebileceği Tarihinden-Sonra-Değiştirildiyse (304) başlığından ayrı olduğunu ve arama motorlarının her iki kaynaktan alınan bilgileri farklı şekilde kullanabileceğini unutmayın.

<changefreq> isteğe bağlı

Sayfanın olası değişme sıklığı. Bu değer arama motorlarına genel bir bilgi sağlar ve sayfayı tarama sıklıklarıyla tam olarak ilişkili olmayabilir. Geçerli değerler şunlardır:

  • always
  • hourly
  • daily
  • weekly
  • monthly
  • yearly
  • never

Her erişildiklerinde değişen belgeleri açıklamak için "always" (her zaman) değeri kullanılmalıdır. Arşivlenen URL'leri açıklamak için "never" (hiçbir zaman) değeri kullanılmalıdır.

Bu etiketin değerinin bir komut olarak değil, bir ipucu olarak düşünüldüğünü lütfen unutmayın. Arama motoru tarayıcıları karar verirken bu bilgileri dikkate alabilecek olsa da, "her saat" olarak işaretlenmiş sayfaları ondan daha seyrek ve "her yıl" olarak işaretlenmiş sayfaları ondan daha sık tarayabilirler. Sayfalardaki beklenmeyen değişiklikleri ele alabilmeleri için, tarayıcılar "hiçbir zaman" olarak işaretlenmiş sayfaları düzenli olarak tarayabilirler.

<priority> isteğe bağlı

Sitenizdeki diğer URL'lere göre bu URL'nin önceliği. Geçerli değerler 0.0 ile 1.0 arasında değişir. Bu değerin, sayfalarınızın diğer sitelerdeki sayfalarla nasıl karşılaştırıldığı üzerinde etkisi olmaz ve yalnızca sayfalarınızdan hangilerinin sizin için en önemli sayfalar olduğunu arama motorlarının bilmelerine olanak sağlar.

Bir sayfanın varsayılan önceliği 0,5'tir.

Bir sayfaya atadığınız önceliğin, bir arama motorunun sonuç sayfalarında URL'lerinizin konumunu etkilemesi olasılığının çok düşük olduğunu lütfen unutmayın. Arama motorları aynı sitedeki URL'ler arasında seçim yaparken bu bilgileri kullanabileceğinden, en önemli sayfalarınızın bir arama dizininde bulunması olasılığını artırmak için bu etiketi kullanabilirsiniz.

Ayrıca, sitenizdeki tüm URL'lere yüksek öncelik atamanın istenir bir u olmadığını da lütfen unutmayın. Öncelik görece bir kavram olduğundan, yalnızca sitenizdeki URL'ler arasından seçim yapmak için kullanılır.

Başa dön

Entity escaping

Site Haritası dosyanız UTF-8 olarak kodlanmış olmalıdır (bunu genellikle dosyayı kaydederken yapabilirsiniz). Tüm XML dosyalarında olduğu gibi, aşağıdaki tabloda listelenen karakterler için tüm veri değerleri (URL'ler dahil) 'entity escape' kodları kullanmalıdır.

Karakter Kaçış Kodu
Ve işareti & &amp;
Tek Tırnak İşareti ' &apos;
Çift Tırnak İşareti " &quot;
Şundan Daha Büyük > &gt;
Bundan Daha Az < &lt;

Buna ek olarak, tüm URL'ler (Site Haritanızın URL'si de dahil) 'URL-escaped' olmalı ve bulundukları web sunucusu tarafından okunabilirlik için kodlanmalıdır. Öte yandan, URL'lerinizi oluşturmak için herhangi bir türde komut dosyası, araç veya günlük dosyası (URL'leri elle yazmak dışında herhangi bir şey) kullanıyorsanız, bu çoğunlukla sizin yerinize yapılır. Lütfen tüm URL'lerinizi kontrol edip bunların URI'ler için RFC-3986 standardına, IRI'ler için RFC-3987 standardına ve XML standardına uyduğundan emin olun.

Aşağıdaki örnekte, ASCII olmayan bir karakterle (ü) 'entity escape' gerektiren bir karakterin (&) kullanıldığı bir URL gösterilmiştir:

http://www.ornek.com/ümlat.html&q=name

Aynı URL, ISO-8859-1 kodlanmış (o kodlamayı kullanan bir sunucuda barındırılması için) ve 'URL escaped' olarak aşağıdadır:

http://www.ornek.com/%FCmlat
.html&q=name

Aynı URL, UTF-8 kodlanmış (o kodlamayı kullanan bir sunucuda barındırılması için) ve 'URL escaped' olarak aşağıdadır:

http://www.example.com/%C3%BCmlat.html&q=name

Aşağıdaki aynı URL'dir, ancak aynı zamanda 'entity escaped' özelliklidir:

http://www.example.com/%C3%BCmlat.html&amp;q=name

Örnek XML Site Haritası

Aşağıdaki örnekte, XML biçiminde bir Site Haritası gösterilmiştir. Örnekteki Site Haritası, her birinde farklı bir isteğe bağlı parametreler kümesi kullanılan az sayıda URL içerir.

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
   <url>
      <loc>http://www.example.com/</loc>
      <lastmod>2005-01-01</lastmod>
      <changefreq>monthly</changefreq>
      <priority>0.8</priority>
   </url>
   <url>
      <loc>http://www.example.com/catalog?item=12&amp;desc=vacation_hawaii</loc>
      <changefreq>weekly</changefreq>
   </url>
   <url>
      <loc>http://www.example.com/catalog?item=73&amp;desc=vacation_new_zealand</loc>
      <lastmod>2004-12-23</lastmod>
      <changefreq>weekly</changefreq>
   </url>
   <url>
      <loc>http://www.example.com/catalog?item=74&amp;desc=vacation_newfoundland</loc>
      <lastmod>2004-12-23T18:00:15+00:00</lastmod>
      <priority>0.3</priority>
   </url>
   <url>
      <loc>http://www.example.com/catalog?item=83&amp;desc=vacation_usa</loc>
      <lastmod>2004-11-23</lastmod>
   </url>
</urlset>

Başa dön

Site Haritası dizini dosyalarını kullanma (birden fazla site haritası dosyasını gruplandırmak için)

Birden fazla Site Haritası dosyası sağlayabilirsiniz, ancak sağladığınız her bir Site Haritası dosyası en fazla 50.000 URL içermelidir ve 50MB'den (52,428,800) büyük olmamalıdır. İsterseniz, 50MB içinde kalmasını sağlamak ve bant genişliği gereksiniminizi azaltmak için Site Haritası dosyalarınızı gzip kullanarak sıkıştırabilirsiniz. 50.000'den fazla URL listelemek isterseniz, birden fazla Site Haritası dosyası oluşturmanız gerekir.

Birden fazla Site Haritası sağlarsanız, her bir Site Haritası dosyasını bir Site Haritası dizini dosyasında listelemelisiniz. Site Haritası dizini dosyalarında 50.000'den fazla Site Haritası listelenemez ve 50MB'den (52,428,800 bayt) büyük olmalıdır. Bir Site Haritası dizini dosyasının XML biçimi, bir Site Haritası dosyasının XML biçimine çok benzer.

Site Haritası dizin dosyası aşağıdaki özellikleri taşımalıdır:

İsteğe bağlı <lastmod> etiketi Site Haritası dizin dosyaları için de kullanılabilir.

Not: Bir Site Haritası dizini dosyası, yalnızca Site Haritası dizini dosyasıyla aynı sitede bulunan Site Haritalarını belirtebilir. Örneğin, http://www.yoursite.com/sitemap_index.xml, http://www.yoursite.com'daki Site Haritalarını içerebilir, ancak http://www.example.com veya http://yourhost.yoursite.com'dakileri içeremez. Site Haritalarında olduğu gibi, Site Haritası dizini dosyanız UTF-8 olarak kodlanmış olmalıdır.

Örnek XML Site Haritası Dizini

Aşağıdaki örnekte, iki Site Haritasının listelendiği bir Site Haritası dizini gösterilmektedir:

<?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>

Not: XML dosyalarınızdaki tüm değerler gibi, Site Haritası URL'leri değerleri entity-escaped olmalıdır.

Site Haritası Dizini XML Etiketi Tanımları

Öznitelik Açıklama
<sitemapindex> gerekli Dosyadaki tüm Site Haritaları ile ilgili bilgileri kapsüller.
<siteharitası> gerekli Tek bir Site Haritası ile ilgili bilgileri kapsüller.
<loc> gerekli

Site Haritasının yerini tanıtır.

Bu yer bir Site Haritası, bir Atom dosyası, RSS dosyası veya basit bir metin dosyası olabilir.

<lastmod> isteğe bağlı

İlgili Site Haritası dosyasının değiştirildiği saati tanımlar. Site Haritasında listelenen sayfalardan herhangi birinin değiştirildiği saate karşılık gelmez. lastmod etiketinin değeri W3C Datetime biçiminde olmalıdır.

Son değiştirme zaman damgasını sağlayarak, arama motoru tarayıcılarının dizindeki Site Haritalarının yalnızca bir alt kümesini almasını sağlarsınız; yani, tarayıcı belirli bir tarihten bu yana değiştirilen Site Haritalarını alabilir. Bu artımlı Site Haritası alma düzeneği, çok büyük sitelerde yeni URL'lerin hızlı bir şekilde keşfedilmesine olanak sağlar.

Diğer Site Haritası biçimleri

Site Haritası protokolü, arama motorlarına sayfalarınız hakkında bilgi sunmanızı sağlar ve bu sayede sadece URL’lerin ötesinde site sayfaları hakkında ek bilgiler sağlayabileceğiniz için bunu kullanmanızı öneririz. Bununla birlikte, XML protokolüne ek olarak, çok daha sınırlı bilgi sağlayan metin dosyaları ve RSS beslemelerini de destekliyoruz.

Ortak kullanıma sunma beslemesi

Bir (Really Simple Syndication - Gerçekten Basit Ortak Kullanıma Sunma) 2.0 veya Atom 0.3 veya 1.0 beslemesi sağlayabilirsiniz. Genel olarak bu formatı sadece siteniz bir ortak kullanıma sunma beslemesine sahipse kullanırsınız. Arama motorları bu bilgileri besleme içerisindeki sayfalarda bulunan bağlantıları takip ederek, normal tarama işlemleri sırasında sitenizdeki diğer sayfalar hakkında bilgi edinmek için kullansa dahi besleme sadece yeni URL’ler hakkında bilgi sağladığı için, bu yöntemin arama motorlarının sitenizde bulunan tüm URL’leri tanımasını sağlamayabileceğini hatırlatırız. Beslemenin arama motorlarının taramasını istediğiniz en üst dizinde bulunduğundan emin olun. Arama motorları bilgileri beslemeden aşağıdaki şekilde alır:

Metin dosyası

Satır başına bir URL içeren basit bir metin dosyası sağlayabilirsiniz. Metin dosyası aşağıdaki yönergelere uymalıdır:

Örnek metin dosyası girişleri aşağıda gösterilmektedir.

http://www.ornek.com/catalog?item=1

http://www.ornek.com/catalog?item=11

Site Haritası dosyası yeri

Site Haritası dosyasının yeri, o Site Haritası'na eklenebilecek URL kümesini belirler. http://example.com/catalog/sitemap.xml adresinde bulunan bir Site Haritası dosyası, http://example.com/catalog/ ile başlayan tüm URL'leri içerebilir, ancak http://example.com/images/ ile başlayan URL'leri içeremez.

http://example.org/path/sitemap.xml dosyasını değiştirme izniniz varsa, http://example.org/path/ önekli URL'ler için bilgi sağlama izniniz de olduğu varsayılır. http://example.com/catalog/sitemap.xml dosyasında geçerli olduğu düşünülen URL örnekleri şunları içerir:

http://example.com/catalog/show?item=23
http://example.com/catalog/show?item=233&user=3453

http://example.com/catalog/sitemap.xml dosyasında geçerli kabul edilmeyen URL'ler şunlardır:

http://example.com/image/show?item=23
http://example.com/image/show?item=233&user=3453
https://example.com/catalog/page1.html

Bunun, Site Haritası'nda listelenen tüm URL'lerin aynı protokolü kullanması (bu örnekte, http) ve Site Haritası'yla aynı ana bilgisayarda bulunması gerektiği anlamına geldiğini unutmayın. Örneğin, Site Haritası http://www.example.com/sitemap.xml adresinde bulunuyorsa, http://subdomain.example.com sitesinden URL'ler içeremez.

Geçerli olmadığı düşünülen URL'ler daha fazla dikkate alınmaz. Site Haritanızı web sunucunuzun kök dizinine yerleştirmeniz önemle tavsiye edilir. Örneğin, web sunucunuz example.com sitesindeyse, Site Haritası dizin dosyanız http://example.com/sitemap.xml adresinde olur. Belirli durumlarda, farklı yollar için farklı Site Haritaları üretmeniz gerekebilir (örneğin, kuruluşunuzdaki güvenlik izinleri farklı dizinlere yazma erişimini bölümlendirirse).

Bağlantı noktası numarası içeren bir yol kullanarak bir Site Haritası gönderirseniz, o bağlantı noktası numarasını Site Haritası dosyasında listelenen her bir URL'ye yolun bir parçası olarak eklemeniz gerekir. Örneğin, Site Haritanız http://www.example.com:100/sitemap.xml adresinde bulunuyorsa, o durumda Site Haritasında listelenen her bir URL http://www.example.com:100 ile başlamalıdır.

Başa dön

Site Haritanızı Doğrulama

Aşağıdaki XML şemaları, Site Haritası dosyanızda görünebilecek öğeleri ve öznitelikleri tanımlar. Bu şemayı, aşağıdaki bağlantılardan indirebilirsiniz:

Site Haritaları için: http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd
Site Haritası dizin dosyaları için: http://www.sitemaps.org/schemas/sitemap/0.9/siteindex.xsd

Site Haritanızın yapısını bu şemaya göre doğrulamanıza yardımcı olacak bazı araçlar vardır. XML ile ilgili araçların listesini aşağıdaki yerlerde bulabilirsiniz:

http://www.w3.org/XML/Schema#Tools
http://www.xml.com/pub/a/2000/12/13/schematools.html

Site Haritanızı veya Site Haritası dizini dosyanızı bir şemayla karşılaştırarak doğrulamak için, XML dosyası aşağıda gösterildiği gibi ek başlıklara gerek duyar.

Site Haritası:

<?xml version='1.0' encoding='UTF-8'?>
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"
         xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
   <url>
      ...
   </url>
</urlset>

Site Haritası dizin dosyası:

<?xml version='1.0' encoding='UTF-8'?>
<sitemapindex xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/siteindex.xsd"
         xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
   <sitemap>
      ...
   </sitemap>
</sitemapindex>

Site Haritaları protokolünü genişletme

Kendi ad alanınızı kullanarak Site Haritaları protokolünü genişletebilirsiniz. Bu ad alanını kök öğede belirtmeniz yeterli olacaktır. Örneğin:

<?xml version='1.0' encoding='UTF-8'?>
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"
         xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
         xmlns:example="http://www.example.com/schemas/example_schema"> <!-- namespace extension -->
   <url>
      <example:example_tag>
         ...
      </example:example_tag>
      ...
   </url>
</urlset>

Arama motoru tarayıcılarını bilgilendirme

Site Haritası dosyasını oluşturup web sunucunuza yerleştirdikten sonra, ilgili yerleri bu protokolü destekleyen arama motorlarına bildirmeniz gerekir. Bunu aşağıdaki şekilde yapabilirsiniz:

Arama motorları, Site Haritanızı alabilir ve URL'leri tarayıcılarının kullanımına sunabilir.

Site Haritanızın, arama motorunun gönderme arayüzü üzerinden gönderilmesi

Site Haritanızı, durum bilgileri ve işlem hatalarını almanızı sağlayan bir arama motoruna doğrudan göndermek için ilgili arama motorunun belgelerine bakın.

Site Haritasının bulunduğu yerin robots.txt dosyasında tanımlanması

Bir robots.txt dosyası kullanarak Site Haritalarının yerini belirtebilirsiniz. Bunu yapmak için aşağıdaki satırı eklemeniz yeterlidir:

Sitemap: http://www.example.com/sitemap.xml

Bu yönerge kullanıcı aracı satırından bağımsızdır ve dolayısıyla bunu dosyanızda nereye yerleştirdiğiniz önemli değildir. Bir Site Haritası dizin dosyanız varsa, sadece o dosyanın yerini ekleyebilirsiniz. Dizin dosyanızda listelenen tüm Site Haritalarını listelemenize gerek yoktur.

Site Haritanızın, bir HTTP isteği üzerinden gönderilmesi

Site Haritanızı HTTP isteği kullanarak gönderebilmek için (<searchengine_URL> yerine arama motoru tarafından sağlanan URL'yi yazın), isteğinizi aşağıdaki URL’ye gönderin:

<searchengine_URL>/ping?sitemap=sitemap_url

Örneğin, Site Haritanız http://www.example.com/sitemap.gz adresine yerleştirilirse, URL'niz şu şekilde olur:

<searchengine_URL>/ping?sitemap=http://www.example.com/sitemap.gz

URL, /ping?sitemap='ten sonraki her şeyi kodlar:

<searchengine_URL>/ping?sitemap=http%3A%2F%2Fwww.yoursite.com%2Fsitemap.gz

HTTP isteğini wget, curl veya seçtiğiniz başka bir mekanizmayı kullanarak gönderebilirsiniz. Başarılı bir istek, HTTP 200 yanıt kodunu döndürecektir; başka bir yanıt alırsanız isteğinizi yeniden göndermeniz gerekir. HTTP 200 yanıt kodu yalnızca arama motorunun Site Haritanızı aldığını gösterir; Site Haritasının veya içerdiği URL'lerin geçerli olduğunu göstermez. Bunu yapmanın kolay bir yolu, Site Haritalarını düzenli aralıklarla oluşturmak ve göndermek için otomatikleştirilmiş bir iş ayarlamaktır.
Not: Bir Site Haritası dizini dosyası sağlıyorsanız, Site Haritası dizini dosyasının yerini içeren yalnızca bir HTTP isteği göndermeniz gerekir. Dizinde listelenen Site Haritaları için tek tek istek göndermeniz gerekmez.

İçeriğin hariç bırakılması

Site Haritaları protokolü, arama motorlarının hangi içeriğin dizinin oluşturulmasını istediğinizi bilmesini sağlar. Arama motorlarına dizin oluşturulması istemediğiniz içeriği bildirmek için bir robots.txt dosyası veya robot meta etiketleri kullanın. Arama motorlarından içeriğin nasıl hariç tutulacağı hakkında daha fazla bilgi edinmek için robotstxt.org adresini ziyaret edin

 

Başa dön

Son Güncelleme: 21 Kasım 2016