XML Sitemap Olusturma ve Optimize Etme Rehberi
Arama motorlarinin sitenizi daha verimli taramasi icin dogru yapilandirilmis XML sitemap olusturun.
XML Sitemap Oluşturma ve Optimize Etme Rehberi
XML Sitemap, web sitenizin tüm önemli sayfalarını listeleyen ve arama motorlarına bu sayfaları keşfetmesinde yardımcı olan bir dosyadır. Google ve diğer arama motorları sitemap'inizi kullanarak sitenizi daha verimli tarar (crawl) ve dizine alır (index). Doğru yapılandırılmış bir sitemap, özellikle büyük ve karmaşık sitelerde SEO performansını doğrudan etkiler.
XML Sitemap Neden Gereklidir?
- Keşfedilebilirlik: Dahili bağlantılarla ulaşılması zor sayfalar sitemap sayesinde bulunur.
- Tarama önceliklendirme: Hangi sayfaların daha önemli olduğunu arama motorlarına iletebilirsiniz.
- Güncelleme sinyali: Son değişiklik tarihiyle hangi sayfaların yeniden taranması gerektiğini belirtirsiniz.
- Yeni siteler: Geri bağlantısı az olan yeni sitelerde sayfaların dizine alınmasını hızlandırır.
- Büyük siteler: 500'den fazla sayfası olan sitelerde tarama bütçesini verimli kullanmak için kritiktir.
XML Sitemap Yapısı
Standart bir XML sitemap dosyası şu yapıdadır:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://www.site.com/</loc>
<lastmod>2025-06-15</lastmod>
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://www.site.com/hizmetler</loc>
<lastmod>2025-06-10</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.site.com/blog/seo-rehberi</loc>
<lastmod>2025-06-01</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
</urlset>Etiket Açıklamaları
| Etiket | Zorunlu mu? | Açıklama |
|---|---|---|
<urlset> | Evet | Kök etiket. Sitemap protokol namespace'ini içerir. |
<url> | Evet | Her bir sayfa girişini sarmalayan etiket. |
<loc> | Evet | Sayfanın tam URL'si. Mutlaka https:// ile başlamalıdır. |
<lastmod> | Hayır | Son değişiklik tarihi (YYYY-MM-DD formatında). Google tarafından dikkate alınır. |
<changefreq> | Hayır | Değişiklik sıklığı (always, hourly, daily, weekly, monthly, yearly, never). Google tarafından büyük ölçüde göz ardı edilir. |
<priority> | Hayır | 0.0 ile 1.0 arası öncelik değeri. Yalnızca site içi göreli öncelik belirtir; Google bunu çoğunlukla dikkate almaz. |
Önemli: Google,
changefreqvepriorityetiketlerini büyük ölçüde göz ardı ettiğini açıkça belirtmiştir. Ancaklastmoddoğru kullanıldığında dikkate alınır. Bu nedenle lastmod tarihlerini gerçek güncelleme tarihleriyle doldurun.
Sitemap Index: Büyük Siteler İçin
Bir sitemap dosyası en fazla 50.000 URL veya 50 MB boyut sınırına sahiptir. Daha büyük siteler için birden fazla sitemap dosyası oluşturup bunları bir sitemap index dosyasıyla gruplandırabilirsiniz:
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://www.site.com/sitemap-pages.xml</loc>
<lastmod>2025-06-15</lastmod>
</sitemap>
<sitemap>
<loc>https://www.site.com/sitemap-blog.xml</loc>
<lastmod>2025-06-14</lastmod>
</sitemap>
<sitemap>
<loc>https://www.site.com/sitemap-products.xml</loc>
<lastmod>2025-06-13</lastmod>
</sitemap>
</sitemapindex>Sitemap Segmentasyonu Stratejisi
- İçerik türüne göre: Blog, ürün, kategori, statik sayfalar için ayrı sitemap'ler oluşturun.
- Dile göre: Çok dilli sitelerde her dil için ayrı sitemap kullanın.
- Güncelleme sıklığına göre: Sık güncellenen sayfaları ayrı sitemap'te tutarak tarama bütçesini optimize edin.
Next.js'te Dinamik Sitemap Oluşturma
Modern web frameworkleri ile sitemap'inizi programatik olarak oluşturabilirsiniz:
// app/sitemap.ts
import { MetadataRoute } from 'next';
export default function sitemap(): MetadataRoute.Sitemap {
const baseUrl = 'https://www.site.com';
const staticPages = [
{ url: baseUrl, lastModified: new Date(), priority: 1.0 },
{ url: `${baseUrl}/hizmetler`, lastModified: new Date(), priority: 0.8 },
{ url: `${baseUrl}/iletisim`, lastModified: new Date(), priority: 0.5 },
];
// Blog yazılarını dinamik olarak ekleyin
const blogPosts = getBlogPosts().map((post) => ({
url: `${baseUrl}/blog/${post.slug}`,
lastModified: post.updatedAt,
priority: 0.6,
}));
return [...staticPages, ...blogPosts];
}Sitemap Optimizasyon İpuçları
- Yalnızca canonical URL'leri dahil edin: Yinelenen, yönlendirilen veya noindex sayfaları sitemap'e koymayın.
- 200 durum kodu dönen sayfaları ekleyin: 404, 410 veya 301 dönen URL'ler sitemap'te olmamalıdır.
- Lastmod tarihlerini gerçek tutun: Yapay tarih güncellemesi yapmayın; Google bunu fark eder ve lastmod'u dikkate almayı bırakabilir.
- Gereksiz parametreleri çıkarın: URL parametreli versiyonları sitemap'e eklemeyin.
- robots.txt'te sitemap konumunu belirtin:
Sitemap: https://www.site.com/sitemap.xmlsatırını robots.txt dosyasına ekleyin. - Gzip sıkıştırma kullanın: Büyük sitemap dosyalarını
.xml.gzformatında sunarak bant genişliğinden tasarruf edin.
Sitemap Gönderme Yöntemleri
| Yöntem | Açıklama |
|---|---|
| Google Search Console | Sitemap bölümünden URL'yi girerek gönderin. Hata raporları ve dizinleme durumunu izleyin. |
| robots.txt | Dosyanın sonuna Sitemap: direktifiyle otomatik keşfi sağlayın. |
| Ping API | https://www.google.com/ping?sitemap=URL ile programatik bildirim yapın. |
| Bing Webmaster Tools | Bing için ayrı olarak sitemap gönderin; IndexNow protokolünü de kullanabilirsiniz. |
Sitemap Denetim Kontrol Listesi
- Sitemap XML sözdizimi geçerli mi? (XML validator ile kontrol edin)
- Tüm URL'ler 200 durum kodu dönüyor mu?
- Canonical URL'ler ile sitemap URL'leri eşleşiyor mu?
- 50.000 URL / 50 MB sınırı aşılmıyor mu?
- robots.txt'te sitemap referansı var mı?
- Google Search Console'da sitemap hataları kontrol edildi mi?
- Lastmod tarihleri gerçek güncelleme tarihlerini yansıtıyor mu?
- Noindex sayfalar sitemap'ten çıkarıldı mı?
Sonuç
XML sitemap, sitenizin arama motorları tarafından verimli bir şekilde keşfedilmesi ve dizine alınması için temel bir SEO gerekliliğidir. Doğru yapılandırılmış, güncel ve temiz bir sitemap, tarama bütçenizi verimli kullanmanızı sağlar ve yeni içeriklerin hızla dizine alınmasına yardımcı olur. Sitemap'inizi düzenli olarak denetleyin, gereksiz URL'leri temizleyin ve Search Console raporlarını takip ederek optimal performans elde edin.