bilgicep - 2012-08-17 21:35 GMT -
merhaba arkada?lar internette dola??rken g?rd?m bunu seditio ya nas?l uyarlar?m acaba sadece forumlar i?in
merhaba arkada?lar internette dola??rken g?rd?m bunu seditio ya nas?l uyarlar?m acaba sadece forumlar i?in
Kod:
<?
// ?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 <a href="http://www.google.com/schemas/sitemap/0.84/sitemap.xsd" target="_blank"><b>http://www.google.com/schemas/si.....temap.xsd</b></a>\">\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;
?>
// ?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 <a href="http://www.google.com/schemas/sitemap/0.84/sitemap.xsd" target="_blank"><b>http://www.google.com/schemas/si.....temap.xsd</b></a>\">\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;
?>