XML site haritaları ve SEO: Bilmeniz gerekenler

Yayınlanan: 2023-08-16

XML site haritaları Haziran'da 18 yaşına girdi ve yetişkinliğe tam teşekküllü girişinin şerefine, XML site haritalarının nasıl çalıştığını, nasıl oluşturulacağını ve XML site haritalarının neden bir tekne dolusu SEO avantajı sunduğunu açıklıyorum.

XML site haritası nedir?

Özetle, bir XML site haritası, arama motorlarına taranabilecek bir web sitesindeki URL'ler hakkında bilgi veren, XML biçimindeki bir protokoldür.

XML site haritaları, her bir URL hakkında aşağıdakiler gibi bilgileri paylaşmayı amaçlıyordu:

  • En son ne zaman güncellendi.
  • Ne sıklıkta değişir.
  • Web sitenizdeki diğer URL'lerle ilişkili olarak ne kadar önemli.

XML site haritaları, belirli URL'ler izole edildiğinde arama motorlarının web sitenizi daha verimli bir şekilde taramasına olanak tanır.

Bir SEO uzmanıysanız, muhtemelen zaten Yoast WordPress eklentinizde yerleşik olarak bulunan XML site haritalarını kullanıyorsunuzdur. Ancak gözden kaçırmış olabileceğiniz pek çok ekstra var.

Dinamik bir XML site haritası nasıl oluşturulur?

WordPress kullanıyorsanız, dinamik bir XML site haritası oluşturmak için Yoast ve RankMath gibi SEO eklentilerinden yararlanın.

WordPress kullanmıyorsanız, dinamik bir XML site haritası oluşturmak için aşağıdaki adımları izleyin.

Gezinme yapınızı anlayın

Web sitesindeki tüm URL'lerimizin bir listesini bir araya getirin ve gezinme yapısına ve içerik gruplamalarına göre gruplandırın.

Geliştirici ekibinizle ortak olun

Python, PHP veya JavaScript kullanarak dinamik bir XML site haritası oluşturma konusunda yardım almak için geliştirme ekibinizle birlikte gruplandırılmış URL'lerin listesini paylaşın.

İşte Python kullanılarak dinamik bir XML site haritasının nasıl kodlanacağına dair bir örnek:

 import xml.etree.ElementTree as ET import datetime # List of URLs (replace these with your actual URLs) urls = [    "https://www.example.com/page1",    "https://www.example.com/page2",    "https://www.example.com/page3",    # Add more URLs here ] # Create the root element urlset = ET.Element("urlset") urlset.set("xmlns", "http://www.sitemaps.org/schemas/sitemap/0.9") # Loop through URLs and create URL entries for url in urls:    url_elem = ET.SubElement(urlset, "url")    loc_elem = ET.SubElement(url_elem, "loc")    loc_elem.text = url    lastmod_elem = ET.SubElement(url_elem, "lastmod")    lastmod_elem.text = datetime.datetime.now().isoformat()    changefreq_elem = ET.SubElement(url_elem, "changefreq")    changefreq_elem.text = "daily"  # You can set this to the desired frequency    priority_elem = ET.SubElement(url_elem, "priority")    priority_elem.text = "0.5"  # You can set this to a value between 0 and 1 # Create the XML tree tree = ET.ElementTree(urlset) # Save the XML to a file tree.write("sitemap.xml", encoding="utf-8", xml_declaration=True)

Geliştiricilerle çalışırken, web sitesinin içeriği değiştiğinde değişen gerçekten dinamik bir XML site haritası oluşturmak için Flask ve Python'dan birlikte yararlandım.

get_dynamic_urls() gibi bir işlev kullanarak web sitesinin içeriğine dayalı dinamik site haritası rotasını tanımlayabilirsek, tüm URL'leri alabilmemiz gerekir.

 @app.route('/sitemap.xml', methods=['GET']) def sitemap():    urls = get_dynamic_urls()  # Replace with your dynamic URL retrieval logic    urlset = ET.Element("urlset")    urlset.set("xmlns", "http://www.sitemaps.org/schemas/sitemap/0.9")    for url in urls:        url_elem = ET.SubElement(urlset, "url")        loc_elem = ET.SubElement(url_elem, "loc")        loc_elem.text = url        lastmod_elem = ET.SubElement(url_elem, "lastmod")        lastmod_elem.text = datetime.datetime.now().isoformat()        changefreq_elem = ET.SubElement(url_elem, "changefreq")        changefreq_elem.text = "daily"        priority_elem = ET.SubElement(url_elem, "priority")        priority_elem.text = "0.5"    xml_content = ET.tostring(urlset, encoding="utf-8")    return xml_content, {'Content-Type': 'application/xml'}

Birden çok alan mülkünde kod paylaşıyorsanız, dosyaların HTML sayfalarınızda doğru şekilde kodlandığından emin olun.

Örneğin, CSS ve JavaScript dosyalarınız <link> ve <script> etiketleri kullanılarak bağlanmalıdır.

Kodu farklı etki alanları arasında paylaşmadan önce, paylaşılan XML site haritası kurallarını barındırmak için merkezi bir sunucu oluşturmanız gerekir.

Tüm kurallar onaylanana kadar geliştiricilerinizle birlikte dinamik XML site haritanızın birden çok aşamasına sahip olacaksınız.

Dinamik URL'lerin gerçekten alındığını ve site haritası mantığınıza entegre edildiğini kontrol etmeyi unutmayın.

sunucunuza yükleyin

XML site haritanız sıkıştırıldıktan sonra, dinamik XML site haritanızı web sitenizin kök dizinine yükleyin.

arama motorlarına gönder  

XML site haritalarınızı Google Arama Konsolu ve Bing Web Yöneticisi Araçları aracılığıyla göndererek arama motorlarına bildirin.

Devam eden bakım

Bir XML site haritası sadece bir "ayarla ve unut" SEO taktiği değildir. Web siteniz değiştikçe XML site haritanızı güncellemeniz çok önemlidir.

Bir XML site haritası oluştururken akılda tutulması gereken 15 ipucu

1. XML site haritaları bir sıralama faktörü değildir

X'te (önceden Twitter'da) XML site haritalarını kullanmanın bir sıralama avantajı olup olmadığı sorulduğunda, Google'dan Gary Illyes şu yanıtı verdi:

  • "Hayır, doğrudan değil zaten."
XML site haritalarında Gary Illyes

2. Google, site haritası olmadan sayfalarınızı bulabilir

Google Search Advocate, Daniel Waisberg, bir Google Search Console eğitim videosunda paylaştığı gibi, web siteleri küçükse ve düzgün bir şekilde bağlantılıysa site haritasına ihtiyaç duymaz.

Ancak, bir site haritasının özellikle aşağıdaki durumlarda yararlı olabileceğini söyleyerek devam etti:

  • Site gerçekten çok büyük.
  • Sitenin sayfaları izole edilmiştir.
  • Site yeni veya hızlı değişiyor.
Daniel Waisberg - Site haritaları ne zaman yardımcı olur?

Ayrıca, Google'dan John Muller'ın X'te (daha önce Twitter'da) bir XML site haritasına sahip olmanın "herhangi bir ciddi web sitesi için minimum bir temel" olduğunu belirttiğine dikkat etmek önemlidir.

3. Google, yeniden işlemeden önce XML site haritanızın değişip değişmediğini kontrol eder

Illyes, Google'ın XML site haritanızın, dosyayı yeniden ayrıştırarak ve işleyerek kaynakları boşa harcamadan önce değişip değişmediğini kontrol ettiğini doğruladı.

SEO Ofis Saatleri'nde belirtti.

  • “Site haritanızdaki bir şeyi değiştirir değiştirmez, URL öğesi veya son mod, site haritası yeniden ayrıştırılır ve genel olarak yeniden işlenir. Bu, URL'lerin kesinlikle taranacağı anlamına gelmez, tabii ki URL'ler de diğer URL'ler gibi kalite değerlendirmelerine tabidir. Ayrıca, bir URL'yi site haritasından kaldırırsanız, artık mevcut olmadığından otomatik olarak dizinden çıkarılacağı veya hatta tarama için önceliklendirileceği anlamına gelmez, böylece daha erken bırakılabilir.

4. XML site haritaları, yeni içeriğinizin daha hızlı dizine eklenmesini sağlayabilir

Mueller, Google'a XML site haritanızın güncellendiğini söylemenin yeni içeriğinizin daha hızlı dizine eklenmesine yardımcı olabileceğini doğruladı.

O paylaştı:

  • "Bir site haritasına ping atmak, onu robots.txt dosyasında sağlamaktan biraz farklıdır; ping atarak, aktif olarak site haritası dosyasındaki bir değişikliği işaretlemiş olursunuz. Yeni içeriğin hızlı bir şekilde dizine eklenmesini istiyorsanız, bu iyi bir uygulamadır."

5. XML site haritaları UTF-8 kodlu olmalıdır

XML site haritanız UTF-8 kullanmıyorsa, arama motorları onu okuyamaz.

6. Dosya boyutunu 50 MB (sıkıştırılmamış) veya 50.000 URL'nin altında tutun

XML site haritalarınızın boyut sınırları vardır. Site haritası başına 50.000 URL'nin veya 50 MB'nin (sıkıştırılmamış) altında tutun.

Daha büyük bir dosya boyutunuz veya daha fazla URL'niz varsa, birden çok XML site haritası kullanın.

7. Birden çok XML site haritanız olabilir

Google, birden fazla site haritası göndermenize izin verir. Performansı ölçmek için site haritalarınızı web sitenizin farklı bölümlerine bölmek yararlı olabilir.

Örneğin, büyük bir e-ticaret web sitesiyseniz, XML site haritalarınızı ürün türüne göre (ör. kadın ayakkabıları ve erkek ayakkabıları) segmentlere ayırabilirsiniz.

Veya birden çok diliniz varsa, <loc> XML site haritanızla ilgili bir hreflang isteyebilirsiniz.

Alternatif dilleriniz varsa, maksimum 50.000 URL'ye sayılmaz.

Veya çok sayıda videonuz veya resminiz varsa, XML site haritalarınızı video XML site haritası ve resim XML site haritası olarak ayırabilirsiniz.

Birden fazla XML site haritasına sahip olmanın herhangi bir sıralama avantajı yoktur.

8. Birden fazla XML site haritanız varsa, bir site haritası indeks dosyası kullanmayı unutmayın.

Büyük bir site için birden çok XML site haritanız varsa, aynı anda birçok site haritası göndermek için bir site haritası dizin dosyası göndermek isteyeceksiniz.

9. Lastmod etiketi kusursuz olmalı

<lastmod> etiketi, XML site haritanızın en önemli parçalarından biridir.

Örneğin, yapılandırılmış verilerim, XML site haritamın <lastmod> tarihinden yararlanır.

<lastmod> etiketi, arama motorlarına eski içeriği yenilediğinizi veya yeni içeriği başlattığınızı da bildirir.

Mueller bunu şu sözlerle doğruladı:

  • “…Sadece zaman damgası altbilgisini değiştiriyorsanız, elbette sayfa teknik olarak da değişmiştir, ancak buna öncelik verilmeli mi – muhtemelen yapılmamalıdır.”

Bing, XML site haritasındaki lastmod etiketi hakkında resmi bir duruş bile sergiledi:

  • "XML site haritaları için site haritanıza ekleyebileceğiniz en kritik etiketlerden biri "lastmod" etiketidir."

10. XML site haritaları, tümü kendi kendine kanonik hale getirilmiş yalnızca 200 durum URL'si içermelidir.

Yalnızca canlı URL'leri, 200 durumunu, dizine eklenebilir ve kendi kendini kanonik hale getirmeyi unutmayın.

404 veya 301 yönlendirilmiş sayfaları göstermeye devam ederseniz, arama motorları XML site haritanızı taramayı tamamen durdurabilir.

Mueller, X (eski adıyla Twitter) hakkındaki bir yoruma yanıt verdi:

  • "URL'ler geçersizse site haritası dosyalarını getirmeyi durdururuz, ancak içerik döndürüyorsanız veya yeniden yönlendiriyorsanız (ki bu biraz tavsiye edilir), bunları denemeye devam edeceğiz. Genel site haritası dosyaları, bir siteden getirilen tüm URL'lerin yalnızca çok küçük bir parçası olduğundan, sorunlara neden olmamalıdır."

11. Arama motorları XML site haritanızı günlük olarak kontrol edebilir

Microsoft'tan Fabrice Canel, Microsoft'un XML site haritanızı günlük olarak kontrol ettiğini paylaştı.

Mueller, Google'ın XML site haritanızı sıklığa (aka <lastmod> etiketiniz) göre kontrol ettiğini paylaşırken.

12. Sayfa hızı XML site haritanızı dolaylı olarak etkiler

Sayfa hızının SEO çabalarımız için ne kadar hayati olduğunu hepimiz biliyoruz. Ancak yavaş çalışan bir web sitesi, XML site haritanızı nasıl etkiler?

Mueller, aşağıdakileri belirterek sayfa hızının XML site haritanızı etkilememesi gerektiğini onayladı:

  • "Zaman aşımına uğramadığı sürece, iyi olmalısın. Gereksiz sunucu yükünü önlemek için en son sürümü önbelleğe alabilir miyim?

Gerçek şu ki, arama motorları web sitesini taradığında XML site haritasının yüklenmediği ve büyük sıralama dalgalanmalarına neden olan yavaş çalışan web sitelerinde çalıştım.

Web siteniz düzgün yüklenmezse, XML site haritanız üzerinde dolaylı bir etkisi vardır.

Bu nedenle, dosya boyutunu azaltmak ve yükleme sürelerini hızlandırmak için Gzip sıkıştırmasını kullanmak önemlidir.

13. XML site haritalarınızdan <priority> etiketini kaldırın

Illyes, XML site haritalarındaki <priority> etiketini "bir gürültü torbası" ile karşılaştırdı.

Bu nedenle, XML site haritanızdaki URL'lerinizi önceliğe göre taramak için arama motorlarına bağlıysanız, uzun bir süre bekleyeceksiniz.

Bu etiketi XML site haritalarınızdan kaldırmanızı öneririm.

14. Gezinme yapısıyla ilgili sorunlarınız varsa, XML site haritanızı bir HTML site haritasıyla eşleştirin

HTML site haritaları hakkında her zaman karışık duygular olmuştur.

Mueller, HTML site haritalarına "asla ihtiyaç duyulmaması gerektiğini" paylaştı.

O devam etti:

  • "Yıllar içinde HTML site haritalarıyla ilgili fikrimi değiştirdim, onlara asla ihtiyaç duyulmamalı. Küçük ve büyük siteler her zaman net bir gezinme yapısına sahip olmalıdır. Bir HTML site haritasına ihtiyaç duyuyorsanız, bunun yerine sitenizin mimarisini geliştirmek için zaman harcayın. HTML site haritaları, HTML yükleme döndürücülerle aynı kutuya sığar.”
 <iframe src="https://mastodon.social/@johnmu/109477617298107922/embed" class="mastodon-embed" width="400" allowfullscreen="allowfullscreen"></iframe><script src="https://mastodon.social/embed.js" async="async"></script>

Kurumsal düzeyde büyük web sitelerinde çalışırken, bir web sitesi gezinme yapısında genellikle birden fazla karar verici katmanı bulunur. Ve çoğu zaman, SEO en iyi uygulamaları dikkate alınır.

Web sitemizin gezinmesinden ve dahili bağlantı hiyerarşisinden emin olana kadar hem XML site haritamı hem de bir HTML site haritasıyla eşleştiriyorum.

15. Tüm XML site haritalarınızı robots.txt dosyanıza eklemeyi unutmayın

XML site haritalarınızı (tümü) robots.txt dosyanıza bağlantı olarak eklemeyi unutmayın.

İşte bir örnek:

Tüm XML site haritalarınızı robots.txt dosyanıza ekleyin

Bunların robots.txt dosyasında nereye gitmesi gerektiği konusunda endişelenmeyin. Robots.txt dosyanızdaki XML site haritanızın konumu üzerinde hiçbir etkisi yoktur.

Mueller bunu doğruladı:

XML site haritaları, web sitenizin arama motorları için planıdır.

İster yeni bir web sayfası başlatıyor olun, ister yinelenen bir sayfaya standart bir etiket ekliyor olun, XML site haritanız 7/24 güncellemeniz gereken bir şeydir.

Ancak bunu dikkatli bir şekilde yapın.

Paranoyak olmamanız gerekse de, XML site haritanız arama motorları için evinizin planıdır.

Bu nedenle, XML site haritalarınızı Google Search Console ve Bing Web Yöneticisi Araçları'na göndermeyi unutmayın.


Bu makalede ifade edilen görüşler konuk yazara aittir ve mutlaka Search Engine Land değildir. Personel yazarları burada listelenir.