Web Siteniz İçin Dinamik Sitemap.xml Site Haritası Oluşturma Rehberi

Admin
0

Web Siteniz İçin Dinamik Sitemap.xml Site Haritası Oluşturma Rehberi

Dinamik Sitemap.xml Site Haritası Oluşturma: SEO’nuzu Nasıl Üst Seviyeye Taşırsınız?

Bir web sitesi yönetmek, özellikle arama motoru optimizasyonu (SEO) söz konusu olduğunda, birçok zorluğu beraberinde getirir. Ancak, doğru bir site haritası ile bu zorlukları aşmak mümkün. Özellikle dinamik bir sitemap.xml dosyası, sitenizin arama motorları tarafından daha hızlı ve etkili bir şekilde taranmasını sağlar. Bu yazıda, dinamik sitemap.xml site haritası oluşturma sürecini adım adım inceleyecek, SEO üzerindeki etkilerini ve uygulama yöntemlerini detaylı bir şekilde ele alacağız.


Sitemap.xml Nedir ve Neden Önemlidir?

Sitemap.xml, web sitenizin sayfa yapısını arama motorlarına bildiren bir dosyadır. Bu dosya, sitenizdeki her bir URL'yi ve bu URL'lerle ilgili meta bilgileri içerir. Örneğin:

  • Sayfa değişim sıklığı
  • Son güncellenme tarihi
  • Sayfanın önemi (öncelik seviyesi)

Arama motorları, bu dosya sayesinde sitenizdeki sayfaları daha hızlı tarar ve dizine ekler. Dinamik bir sitemap.xml kullanmanın başlıca avantajları şunlardır:

  1. Hızlı İndeksleme: Yeni içeriklerin arama motorları tarafından daha çabuk fark edilmesini sağlar.
  2. Gelişmiş SEO Performansı: Tüm sayfalarınızı düzenli ve optimize edilmiş bir şekilde sunarak sıralamanızı iyileştirir.
  3. Kapsamlı Site Tarama: Özellikle büyük sitelerde bazı sayfaların gözden kaçma ihtimalini ortadan kaldırır.

Dinamik ve Statik Sitemap.xml Arasındaki Farklar

Peki, dinamik bir sitemap.xml neden daha etkilidir? İlk olarak, statik bir sitemap, manuel olarak oluşturulur ve her değişiklikte güncellenmesi gerekir. Bu süreç, özellikle içerik ekleme veya düzenleme sıklığı yüksek olan siteler için oldukça zahmetlidir.

Öte yandan, dinamik sitemap.xml dosyası otomatik olarak güncellenir. Örneğin:

  • Yeni bir makale yayınlandığında, bu URL otomatik olarak site haritasına eklenir.
  • Bir sayfa güncellendiğinde, sitemap.xml dosyası bu değişiklikleri yansıtır.

Bu otomasyon, hem zaman tasarrufu sağlar hem de hata riskini en aza indirir.


Dinamik Sitemap.xml Nasıl Oluşturulur?

Dinamik bir sitemap.xml oluşturmanın birkaç yolu vardır. Farklı platformlar ve programlama dillerine göre değişiklik göstermekle birlikte, bu süreci WordPress, PHP ve diğer CMS araçları üzerinden nasıl gerçekleştirebileceğinizi aşağıda açıklıyoruz.

1. WordPress’te Dinamik Sitemap Oluşturma

WordPress, kullanıcı dostu yapısı sayesinde SEO işlemlerini kolaylaştırır. Dinamik bir sitemap.xml oluşturmak için genellikle iki popüler yöntem tercih edilir:

  • SEO Eklentileri Kullanmak: Yoast SEO, Rank Math veya All in One SEO gibi eklentiler, otomatik olarak güncellenen dinamik bir site haritası oluşturmanıza olanak tanır.
  • Google XML Sitemaps Eklentisi: Bu eklenti, site haritanızı her içerik değişikliğinde otomatik olarak günceller ve Google’a bildirir.

2. PHP Kullanarak Dinamik Sitemap Oluşturma

Kodlama bilgisine sahipseniz, PHP ile kendi dinamik sitemap.xml dosyanızı oluşturabilirsiniz. İşte temel adımlar:

  • Öncelikle veritabanı bilgilerini çekebilmeniz için database.php adında bir dosya oluşturmanız gerekiyor.Oluşturacağınız dosya içerisine aşağıda yer alan kodları ekleyiniz.

<?php

    $db_config = array(
        'host' => "localhost",
        'database' => "******",   // veritabanı adı
        'username' => "**********",   // veritabanı kullanıcıadı
        'password' => "*********"        // veritabanı kullanıcıadı şifresi
    );
    try{
        $db = new PDO("mysql: host={$db_config['host']}; dbname={$db_config['database']}", $db_config['username'], $db_config['password']);
        $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    }catch(PDOException $e){
        echo 'Bağlantı hatası: ' . $e->getMessage();
    }

?> (code-box)
  • Üst kısımdaki kodları kendi veritabanı bilgilerinize göre düzenleyip kaydediniz.Hangi sitenin linklerini çekmeniz gerekiyorsa o sitenin veritabanını eklemeniz gerekiyor.
  • Şimdi ise bir sitemap.php dosyası oluşturacağız, Bu dosya dinamik olarak, sitenize eklediğiniz verileri veritabanından çekerek yayınlamanıza yardımcı olacaktır.Aşağıda yer alan kodları sitemap.php dosyasının içerisine ekleyiniz.
<?php header('Content-type: application/xml; charset="utf-8"', true); ?>
<?php echo '<?xml version="1.0" encoding="UTF-8" ?>'; ?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" 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">
<?php

    require_once('database.php');

    $query = $db->prepare("SELECT * FROM posts");
    $query->execute();
    $data = $query->fetchAll(PDO::FETCH_ASSOC);

    foreach($data as $dt){
        echo '<url>';
        echo '<loc>https://'.$_SERVER['SERVER_NAME'].'/'.$dt['post_slug'].'</loc>';

        // Veritabanından gelen last_modified sütununu kullanarak ISO 8601 formatında lastmod değeri ayarlıyoruz
        echo '<lastmod>' . date('Y-m-d\TH:i:s+00:00', strtotime($dt['updated_at'])) . '</lastmod>';

        echo '<changefreq>weekly</changefreq>';
        echo '<priority>0.8</priority>';
        echo '</url>';
    }
?>
</urlset> (code-box)

Bu kodda require_once satırında database.php'den veritabanı bilgilerinizi çekiyor, kırmızı ile işaretlemiş olduğum iki yer var bunlarda posts ve post_slug, bu iki alanı kendi veritabanınıza göre ayarlamanız gerekiyor, her veritabanında kayıtlar farklı isimlerde olabilir. Benim kullandığım script'te yazılarım phpmyadmin'deki veritabanında posts bölümünde, yazıların kalıcı bağlantıları ( https://www.bilgeo.com/2024/11/web-tasarim-nedir.html ) yani slug'ları ise posts_slug alanında yer alıyor. Eğer sizde bu bölümlerin isimleri farklıysa sitemap.php kodunda yer alan bu bölümleri kendinize göre değiştirmeniz gerekiyor.

Web Siteniz İçin Dinamik Sitemap.xml Site Haritası Oluşturma Rehberi

  • Sitemap.php dosyanızı'da belirtilen düzenlemelere göre ayarlayıp kaydettikten sonra, artık yapmamız gereken son işlem sitemap.php dosyasını sitemap.xml olarak çalıştırmak için gerekli olan .htaccess dosyasını oluşturmak. Bir .htaccess dosyası oluşturun ve içerisine aşağıdaki kodları yerleştirip kaydedin.
RewriteEngine On
RewriteRule ^sitemap.xml$ sitemap.php [NC,L] (code-box)

Yukarıda belirtilen tüm işlemleri sırasıyla yaptıktan sonra artık sitemap.xml dosyanız hazır ve çalışır halde olacaktır, siteadresi.com/sitemap.xml olarak çalıştırabilirsiniz, sistemin düzgün ve sorunsuz bir şekilde çalışması için ayrı bir sitemap klasörü oluşturun ve dosyaları onun içerisine ekleyin, sitemap klasörünüzün içerisinde 4 adet dosya olması gerekiyor ( database.php, sitemap.php, .htaccess ve index.html ) klasörün içerisindeki boş index.html dosyası klasörün içeriğinin dışardan görüntülenmesini engellemek amacıyladır. Artık sitemap dosyanız siteadresi.com/sitemap/sitemap.xml çalıştırılacaktır.

Site haritasını ayrı bir klasörde oluşturmamızın nedeni bazı scriplerde .htaccess dosyası hata veriyor ve çakışmalara sebep oluyor bu nedenle ek bir dosyada oluşturmak daha sağlıklı olacaktır.

Peki ya elle oluşturduğum ve veritabanı olmayan html sayfalarımı site haritasına nasıl ekleyebilirim diyorsanız, aşağıdaki yöntemi kullanarak linkleri ekleyebilirsiniz. Manuel olarak oluşturduğunuz HTML sayfalarını bu PHP tabanlı dinamik XML site haritasına eklemek için, foreach döngüsünden sonra elle ekleme yapabilirsiniz. Aşağıda nasıl yapacağınızı göstereceğim:

Kod Güncellemesi

foreach döngüsünden sonra elle eklemek istediğiniz sayfalar için doğrudan echo kullanabilirsiniz:

<?php header('Content-type: application/xml; charset="utf-8"', true); ?>

<?php echo '<?xml version="1.0" encoding="UTF-8" ?>'; ?>

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" 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">

<?php


    require_once('database.php');


    $query = $db->prepare("SELECT * FROM pages");

    $query->execute();

    $data = $query->fetchAll(PDO::FETCH_ASSOC);


    foreach($data as $dt){

        echo '<url>';

        echo '<loc>https://'.$_SERVER['SERVER_NAME'].'/'.$dt['page_slug'].'</loc>';

        echo '<lastmod>' . date('Y-m-d\TH:i:s+00:00', strtotime($dt['updated_at'])) . '</lastmod>';

        echo '<changefreq>weekly</changefreq>';

        echo '<priority>0.8</priority>';

        echo '</url>';

    }


    // Elle eklemek istediğiniz HTML sayfalar

    $manual_pages = [

        [

            'loc' => 'https://bilgeo.com/about-us.html',

            'lastmod' => '2024-10-20T14:00:00+00:00',

            'changefreq' => 'monthly',

            'priority' => '0.7'

        ],

        [

            'loc' => 'https://bilgeo.com/contact.html',

            'lastmod' => '2024-11-01T10:00:00+00:00',

            'changefreq' => 'yearly',

            'priority' => '0.6'

        ],

        [

            'loc' => 'https://bilgeo.com/privacy-policy.html',

            'lastmod' => '2024-09-15T08:30:00+00:00',

            'changefreq' => 'never',

            'priority' => '0.5'

        ]

    ];


    foreach ($manual_pages as $page) {

        echo '<url>';

        echo '<loc>' . $page['loc'] . '</loc>';

        echo '<lastmod>' . $page['lastmod'] . '</lastmod>';

        echo '<changefreq>' . $page['changefreq'] . '</changefreq>';

        echo '<priority>' . $page['priority'] . '</priority>';

        echo '</url>';

    }


?>

</urlset> (code-box)


Sizinle paylaşmış olduğum bu kod sitemap.php dosyasının güncellenmiş hali ve ek örnek sayfaların eklenmiş halidir, aynı şekilde kırmızı ile belirttiğim alanları düzenleyerek ve manuel oluşturduğunuz veritabanı olmayan sayfaları'da sisteme ekleyerek kaydedebilirsiniz.


Tüm bunlara rağmen yinede yapamadıysanız veya anlamadığınız yerler varsa, aşağıdaki yorum bölümüne site adresinizi ve iletişim bilgilerinizi ve yaşadığınız sorunu yazarak bizlere ulaşabilirsiniz, ücretsiz olarak sizlere hemen yardımcı olabiliriz. (alert-success)


3. Diğer CMS Platformlarında Dinamik Sitemap

Eğer Joomla, Drupal veya Shopify gibi farklı bir CMS kullanıyorsanız, çoğu platformun kendi dinamik site haritası oluşturma araçları veya eklentileri bulunur. Bu araçlar, sitenizin yapısına göre otomatik olarak en iyi sitemap.xml dosyasını oluşturur.


Dinamik Sitemap.xml’in SEO’ya Etkisi

Dinamik sitemap.xml, arama motoru tarayıcılarının sitenizi daha verimli bir şekilde taramasına yardımcı olur. Ancak bunun SEO üzerindeki etkileri yalnızca indeksleme hızıyla sınırlı değildir. İşte diğer SEO avantajları:

  • Daha İyi Kullanıcı Deneyimi: Arama motorları, kullanıcılara daha doğru ve güncel içerikler sunar.
  • Düşük Hata Oranı: Eksik veya eski sayfalar nedeniyle oluşabilecek hatalar azalır.
  • Mobil Uyumluluk ve AMP Sayfaları: Dinamik sitemap, mobil uyumlu sayfalarınızı ve AMP içeriklerinizi de kapsayabilir.

Google Search Console ile Sitemap.xml Yönetimi

Bir sitemap.xml oluşturduktan sonra, bunu Google Search Console üzerinden Google’a bildirmek önemlidir. Search Console, site haritanızın durumunu izler ve olası hataları bildirir. Önemli adımlar:

  • Site haritanızı ekleyin.
  • Tarama İstatistiklerini Kontrol Edin.
  • Eksik veya hatalı URL’leri düzeltin.

Sıkça Sorulan Sorular

Dinamik sitemap.xml ile statik arasında seçim yaparken nelere dikkat edilmeli?
Dinamik sitemap, sürekli içerik güncellenen veya büyük siteler için daha uygundur. Statik sitemap ise daha az güncelleme yapılan sitelerde tercih edilebilir.

Sitemap.xml dosyamı hangi sıklıkla güncellemeliyim?
Dinamik bir yapı kullanıyorsanız, her içerik değişikliğinde otomatik güncelleme sağlanır. Statik sitemap ise manuel olarak her değişiklikten sonra güncellenmelidir.

Sitemap.xml dosyası SEO sıralamamı doğrudan etkiler mi?
Sıralamayı doğrudan etkilemese de indeksleme hızını artırarak dolaylı bir fayda sağlar.

Birden fazla sitemap.xml dosyası kullanabilir miyim?
Evet, büyük siteler için farklı içerik türlerini kapsayan birden fazla sitemap oluşturabilirsiniz.

Sitemap dosyasını Google’a bildirmek zorunda mıyım?
Hayır, ancak bildirmeniz indeksleme sürecini hızlandırır ve hataların daha kolay tespit edilmesini sağlar.


Dinamik Sitemap.xml ile Web Sitenizi Güçlendirin

Dinamik sitemap.xml dosyası, modern web sitelerinin olmazsa olmazlarından biridir. Sitenizin arama motorları tarafından daha hızlı ve doğru bir şekilde indekslenmesini sağlar. Bu yazıda, dinamik sitemap oluşturma yöntemlerini, araçlarını ve SEO üzerindeki etkilerini detaylı bir şekilde ele aldık. Eğer web sitenizin performansını artırmak istiyorsanız, dinamik bir sitemap oluşturmayı kesinlikle göz ardı etmeyin.


Tags

Yorum Gönder

0 Yorumlar
Yorum Gönder (0)
Web sitemiz, kullanıcı deneyimini iyileştirmek ve analiz yapmak amacıyla çerezler kullanmaktadır. Çerezler, tarayıcınızda depolanan küçük metin dosyalarıdır. Sitemizi kullanmaya devam ederek, çerezlerin kullanılmasını kabul etmiş olursunuz. Daha fazla bilgi için sitemizin Çerez Politikası sayfasını ziyaret edebilirsiniz.
Ok, Go it!