Sitemap Oluşturucu: Dinamik XML Sitemap Scripti

  • Konbuyu başlatan Konbuyu başlatan irfo
  • Başlangıç tarihi Başlangıç tarihi

irfo

Moderatör
Top Poster Of Month
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.

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ı​


EtiketAçı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:

  1. [] 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.
 
Geri
Üst