Php ile otomatik sitemap.xml oluşturma

Kategori: (Web Programlama) Yazan: admin, 13-02-2009

Etiketler : , ,

Sitelerin vazgeçilmezlerinden birisi olan site haritası oluşturmak gerçekten php ile çok basit bir işlemdir. Özellikle spam siteler yapıyorsanız ve kısa sürede hızlı indexleme ve hit istiyorsanız vazgeçilmez bir olaydır.  Sitemap oluşturan çok ve güzel programlar vardır fakat bunlar her seferinde yenilenmek istediğinden ben pek önermiyorum. O yüzden yazacağınız 3-5 satır kodla bu işi halledersiniz ve Google WebmasterTools‘a bir kere göndermeniz size yetecektir. Şimdi gelelim bu işi yapan kodlarımızı yazmaya.

<?php
include_once(”ayarlar.php”);
// veritabanı baglantısını yapıyoruz

header(’Content-type: text/xml’); // xml dosyası :)

echo “<?xml version=\”1.0\” encoding=\”ISO-8859-9\” ?>\n”;
echo “<urlset xmlns=\”http://www.google.com/schemas/sitemap/0.84\” xmlns:xsi=\”http://www.w3.org/2001/XMLSchema-instance\” xsi:schemaLocation=\”http://www.google.com/schemas/sitemap/0.84 http://www.google.com/schemas/sitemap/0.84/sitemap.xsd\”>”;

// ana linkler basitçe :) fark amaçlı
$xml_ciktisi .= “\n<url>\n<loc>http://www.siteurl.com</loc>\n<changefreq>daily</changefreq>\n<priority>1.00</priority>\n</url>”;

// kategorilerin çıktısı

$result = @mysql_query(”select id, isim from veritablosu”); // tablodan çekioruz arttırılabilir

while (list($id, $isim) = @mysql_fetch_row($result))
{
$xml_ciktisi .= “\n<url>\n<loc>http://www.siteadresi.com/veritablosuurl&id=$id</loc>\n<changefreq>daily</changefreq>\n<priority>0.80</priority>\n</url>”;
};

echo $xml_ciktisi .”\n</urlset>”;

?>

Hyperlinkleriniz varsa artık onu kendiniz sisteminize göre uyarlayacaksınız. Burda unutmamanız gereken tek birşey var Google sitemaplarda maximum 50 bin url ister :) Bu sınırı aşmayın ve hyperlink yaparken mutlaka karakterleri süzün ( < ve > önemlidir).

.htaccess dosyanıza birde

ReWriteRule ^sitemap.xml sitemap.php

yazarsanız direk xml linki yaparsınız. (http://www.site.com/sitemap.xml)