- Katılım
- 7 Ocak 2026
- Mesajlar
- 290
- Tepkime puanı
- 2
- Puanları
- 18
Dinamik bir sitemap, veritabanınızdaki konuları veya sayfaları gerçek zamanlı olarak okur ve arama motorlarına sunar. Bu sayede her yeni içerik eklediğinizde manuel dosya düzenleme zahmetinden kurtulursunuz.
Öncelikle, kullanıcıların ve Google botlarının sitemap.xml yazdığında aslında bizim sitemap.php dosyamızı görmesini sağlamalıyız. .htaccess dosyanıza şu satırı ekleyin:
Bu dosya, tarayıcıya "ben bir XML dosyasıyım" sinyali göndermeli (Header) ve veritabanındaki verileri XML formatında dökmelidir.
Sitemap dosyanızı oluşturduktan sonra şu adımları izleyin:
Dinamik bir sitemap yapısı, büyük ölçekli sitelerin SEO başarısı için zorunludur. Bu sistem sayesinde veritabanınıza eklediğiniz her yeni veri, Google botlarına anında "gel beni oku" mesajı gönderir. Dikkat etmeniz gereken en önemli nokta, loc etiketleri içindeki linklerin sitemizdeki gerçek linklerle birebir (SEF URL yapısında) eşleşmesidir.
1. .htaccess Düzenlemesi
Öncelikle, kullanıcıların ve Google botlarının sitemap.xml yazdığında aslında bizim sitemap.php dosyamızı görmesini sağlamalıyız. .htaccess dosyanıza şu satırı ekleyin:
Kod:
RewriteEngine On
RewriteRule ^sitemap.xml$ sitemap.php [L]
2. Dinamik Sitemap Scripti (sitemap.php)
Bu dosya, tarayıcıya "ben bir XML dosyasıyım" sinyali göndermeli (Header) ve veritabanındaki verileri XML formatında dökmelidir.
PHP:
<?php
// 1. Header bilgisini XML olarak ayarla
header("Content-Type: application/xml; charset=utf-8");
// 2. Veritabanı Bağlantısı (PDO örneği)
$host = "localhost";
$db = "veritabani_adi";
$user = "kullanici_adi";
$pass = "sifre";
try {
$pdo = new PDO("mysql:host=$host;dbname=$db;charset=utf8", $user, $pass);
} catch (PDOException $e) {
die("Hata!");
}
// 3. XML yapısını başlat
echo '<?xml version="1.0" encoding="UTF-8"?>';
echo '<urlset xmlns="[şüpheli bağlantı kaldırıldı]">';
// 4. Sabit Sayfalar (Anasayfa, İletişim vb.)
?>
<url>
<loc>https://www.siteniz.com/</loc>
<lastmod><?php echo date('Y-m-d'); ?></lastmod>
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>
<?php
// 5. Dinamik İçerikler (Örn: Blog Yazıları)
$sorgu = $pdo->query("SELECT sef_url, guncelleme_tarihi FROM yazilar ORDER BY id DESC");
while ($yazi = $sorgu->fetch(PDO::FETCH_ASSOC)) {
echo '<url>';
echo '<loc>https://www.siteniz.com/yazi/' . $yazi['sef_url'] . '</loc>';
echo '<lastmod>' . date('Y-m-d', strtotime($yazi['guncelleme_tarihi'])) . '</lastmod>';
echo '<changefreq>weekly</changefreq>';
echo '<priority>0.8</priority>';
echo '</url>';
}
// 6. XML'i kapat
echo '</urlset>';
?>
Sitemap Parametrelerinin Anlamları
| Etiket | Açıklama | Önerilen Değer |
|---|---|---|
| <loc> | Sayfanın tam URL adresi. | https:// ile başlamalıdır. |
| <lastmod> | Sayfanın son güncellenme tarihi. | YYYY-MM-DD formatı. |
| <changefreq> | İçeriğin ne sıklıkla değiştiği. | always, daily, weekly, monthly. |
| <priority> | Sayfanın site içindeki önemi. | 0.1 ile 1.0 arası. |
3. Google Search Console'a Bildirme
Sitemap dosyanızı oluşturduktan sonra şu adımları izleyin:
[] Google Search Console'a giriş yapın.
[] Sol menüden Sitemapler (Site Haritaları) sekmesine tıklayın.
[] "Yeni bir site haritası ekleyin" kısmına sitemap.xml yazın ve Gönder'e tıklayın.
[] Google artık bu dosyayı periyodik olarak kontrol edecek ve yeni linklerinizi otomatik olarak keşfedecektir.
Sonuç
Dinamik bir sitemap yapısı, büyük ölçekli sitelerin SEO başarısı için zorunludur. Bu sistem sayesinde veritabanınıza eklediğiniz her yeni veri, Google botlarına anında "gel beni oku" mesajı gönderir. Dikkat etmeniz gereken en önemli nokta, loc etiketleri içindeki linklerin sitemizdeki gerçek linklerle birebir (SEF URL yapısında) eşleşmesidir.