Php de sitemap nasil yapilir ?

  • Konuyu başlatan Konuyu başlatan rlwy12
  • Başlangıç tarihi Başlangıç tarihi

rlwy12

Cezalı
Cezalı
Katılım
20 Nisan 2012
Mesajlar
44
Reaksiyon puanı
0
Puanları
6
Merhaba arkadaşlar php sitem var ancak sitemap nasıl yapabileceğimi bilmiyorum.

Bazı kişiler örnek vermiş ancak düzenlemesini yapamadım.

Bu konu hakkında bilgi sahibi kişiler varmı forumumuzda ?
 

rlwy12

Cezalı
Cezalı
Katılım
20 Nisan 2012
Mesajlar
44
Reaksiyon puanı
0
Puanları
6
Ben otomatik sitemap oluşturmasını istiyorum konu açıldıgında veya makale yazıldıgında otomatik güncellesin.
 

Webkurum

Profesör
Katılım
23 Nisan 2012
Mesajlar
1,817
Reaksiyon puanı
2
Puanları
218
Ben otomatik sitemap oluşturmasını istiyorum konu açıldıgında veya makale yazıldıgında otomatik güncellesin.
O okadar kolay yapılacak birşey değildir.PHP bilginiz yeterlimi öncelikle bu önemlidir. Yeterli değilse öncelikle kendinizi geliştirin . Yok yinede bana şimdi lazım diyorsanız kodu direk vermiyorum kodları nasıl yazıldığına dair linkler veriyorum.
http://www.kodaman.org/yazi/buyuk-siteler-icin-php-ile
http://www.harmankaya.org/php-ile-sitemap-yapimi.html
http://www.yurdunsasmaz.com/blog/post/php-ile-sitemap-yapimi.html
İyi Forumlar
 

rlwy12

Cezalı
Cezalı
Katılım
20 Nisan 2012
Mesajlar
44
Reaksiyon puanı
0
Puanları
6
O okadar kolay yapılacak birşey değildir.PHP bilginiz yeterlimi öncelikle bu önemlidir. Yeterli değilse öncelikle kendinizi geliştirin . Yok yinede bana şimdi lazım diyorsanız kodu direk vermiyorum kodları nasıl yazıldığına dair linkler veriyorum.
http://www.kodaman.org/yazi/buyuk-siteler-icin-php-ile
http://www.harmankaya.org/php-ile-sitemap-yapimi.html
http://www.yurdunsasmaz.com/blog/post/php-ile-sitemap-yapimi.html
İyi Forumlar

Ustam şöyle birşey yapmaya çalışıyorum sitemdeki eksikleri tamamladıktan sonra php de öğrendiğim şeyleri siteme uygulamaya çalışıyorum.
Elimde Erkan Balabanın bi kaç kitabı var.Ancak sitemap hakkında birşey bahsetmemiş.

--- Mesaj Güncellendi ---

Arkadaşlar



<?
// Önce mysql bağlantı bilgilerini içeren php dosyamızı include ediyoruz
$mysqlhost="localhost";
$mysqluser="makaleler";
$mysqlpass="12345";
$mysqldatabase="makaleler";
if(! $baglanti=@mysql_connect($mysqlhost, $mysqluser, $mysqlpass)) die("veritabani baglantisi yok.");
mysql_select_db($mysqldatabase);


// İkinci olarak sayfa output'unun hangi formatta olduğunu belirten header komutunu gönderiyoruz. Sayfamız xml formatında olacaktır.
header("Content-Type: text/xml");


// Get metoduyla aldığımız sayfa verisini $sayfa isimli değişkene atıyoruz.
if(! isset($_GET[sayfa])) $sayfa=1; else $sayfa=$_GET[sayfa];


//Tarihi belirtiyoruz. Burada format önemli. Format dışına çıkılmamalı. Eğer veritabanınızda her makalenin giriş tarihi varsa dinamik olarak onu da ekleyebilirsiniz. Burada sabit bir gün kullandım.
$date="2008-10-21";


// Eğer sayfa değişkeni "index" değeri aldıysa output olarak sitemap-index verilecek.
if($sayfa=="index"):


// İlk olarak bütün makale sayısını alıyoruz.
$index_sayi=mysql_num_rows(mysql_query("SELECT `id` FROM `makaleler`"));
// İkinci olarak kaç adet index'te kaç adet sitemap listeleneceğini bulmak için, toplam rakamı sitemap başı url sayısına bölüyoruz. Ben genelde veritabanını yormamak ve hızlı yüklenme için 6000 kullanırım.
$index_sayi=ceil($index_sayi / 6000);


//Google sitemap-index header'larını giriyoruz. Encoding'i dileğinize göre değiştirebilirsiniz.
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<sitemapindex xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\n";


// Ana etiketleri girdikten sonra sitemap'ları döngü ile listeliyoruz.
for($i=0; $i<$index_sayi; $i++){
echo "<sitemap>
<loc>http://www.butunmakaleler.com/sitemap.php?sayfa=".($i+1)."</loc>
<lastmod>$date</lastmod>
</sitemap>\n";
}


// Son olarak sitemap-index sonlandırma etiketini girip index'i bitiriyoruz.
echo "</sitemapindex>";


// Eğer GET ile aldığımız sayfa değişkeni numerik ise bu kodlar çalışacak.
else:


// Sayfa numarasına göre 6000'lik veri alınıyor.
$sorgu=mysql_query("SELECT `id` FROM `makaleler` ORDER BY `id` ASC LIMIT ".(($sayfa-1)*6000).",6000");


// Sitemap ana xml etiketleri giriliyor.
echo "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>
<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\">\n";


// Alınan 6000'lik parça döngü ile yazdırılıyor.
while($sonuc=mysql_fetch_assoc($sorgu)):


echo " <url>
<loc>http://www.butunmakaleler.com/makale.php?id=".$sonuc[id]."</loc>
<lastmod>$date</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>\n";


endwhile;


// Son olarak sitemap'ı sonlandırma etiketini yazdırıp dosyayı kapatıyoruz.
echo '</urlset>';


endif;
?>

Veritabanı hariç diğer yerleri düzenlememe yardımcı olurmusunuz onun sitesini vs. nasıl değiştirebilirim.

Benim sitem www.pvp-serverler.gen.tr buna göre editleyebilirmiyiz.İçeriğine siteye girip bakabilirsiniz.
 
Üst