Merhabalar uzun zamandır bloğuma yazı yazmadığımı biliyorum. Ceviz.net de geçenlerde gördüğüm birkaç soru üzerine böyle bir yazı yazma kararı aldım diyebilirim.
Öncelikle Sitemap Nedir?
Sitemap sitenize gelen ziyaretçileri sitenizin saçmasapanlığından kurtarmak için oluşturulmuş bir arayüzdür aslında. Hakkaten de öyle değilmidir. Bazen bir siteye girersiniz ve bakarsınız aradığınız şey yok, veya var ama göremiyorsunuz. Çatt ...açarsınız site haritasını bulursunuz neye gireceğinizi. Şahsen ben telsim.com.tr de çok yapıyordum bundan 4-5 sene önce
Peki Google Sitemap nedir?
Bu konuda Google'ı bir ziyaretçi gibi düşünün ve bu ziyaretçinin gerizekalı olduğunu varsayalım Sitenizin arayüzü gelen ziyaretçi olan Google'ın kafasını oldukça karıştıracaktır. Peki bunun için webmastelar nasıl bir çözüm üretmiş? Bir site haritası yapıyorlar, sitede bulunan bütün içeriği o sayfaya (haritaya yani) yazıyorlar ve google sıradan inceliyor. Adam yeni konu mu eklemiş, bi konu en son ne zaman değişmiş vs...
Peki Sitemap nasıl hazırlanır?
Sitemap hazırlamanın bir çok yolu var. Bunlar için ilk olarak ücretsiz sitemap oluşturma programlarını kullanabilirsiniz.http://www.web-design-pros.ca/software/sitemapGenerator.jnlp adresindeki java program ile mesela 50.000 linke kadar bir siteharitası oluşturabilirsiniz.
Şimdi kendi kendimize soruyoruz. Peki sitede bir güncelleme vs. yaparsam veya yeni konu eklersem her seferinde sitemap yapmak mı zorundayım?
Cevap: Evet ( zıh zıh zıh )
İşte burda duruma PHP el koyuyoruz( I love you PHP ) PHP ile sitemap hazırlamada mantık mysql_fetch_array() yada mysql_fetch_assoc() gibi herzaman kullandığımız bir fonksiyonlar verileri sayfalama yapmadan bütün bir sayfaya basıyoruz. Evet ne kadar kolay değilmi. Bir tane döngü ile aslında hiçbir uğraşmaya gerek kalmadan sitemapımız otomatik olarak oluşuyor ve verileri sürekli veritabanından çektiği için ise sitemapınız sürekli güncel kalıyor.
Şöyle bir şey yapalım bir Sitemap da neler bulunmalıdır. Şu örnekten de bakabileceğiniz gibi bir sitemap da
URL: Bağlantı verilen sayfanın linki
Priority: Önemi
Change Frequency: Değişme Sıklığı
LastChange : Son Değiştirilme
bunlar bulunması gerekiyor. İşte Goolge' ı salak dedikya işte o da böyle anlıyor. Ne yapsın
Evet bunları da anlattıktan sonra kendi sitemap.php sayfamın kodlarını size açıyorum. Ve birkaç tüyo vereceğim. Öncelikle siteharitalarının genellikle XML biçiminde olduğunu unutmuyoruz ve şunuda ekliyorum ki biz php kodu yazıyoruz ve oluşturcağımız sayfayı XML gibi yorumlatacağız işte burda devreye ne giriyor tabiki de header("Content-type: text/xml\n\n");
Neyse huzurlarınızda kod örneklerini de vereyim. Ama kodları şu anda sitemde verirken XML kodlarından problem çıktığı için başka bir site üzerinden veriyorum. Sonra kendi siteme de eklerim.
<?
header("Content-type: text/xml\n\n");
///////////////veriler dökülüyor/////////////////////////////
echo "<?xml version=\"1.0\" encoding=\"ISO-8859-9\"?>
<?xml-stylesheet type=\"text/xsl\" href=\"sitemap.xsl\"?>
<urlset xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\http://www.sitemaps.org/schemas/sitemap/09/sitemap.xsd\ xmlns=
\"http://www.sitemaps.org/schemas/sitemap/0.9\">";
$query = mysql_query("SELECT id, title,timestamp, zamann FROM yazilarim order by id");
while($yazi = mysql_fetch_assoc($query)) {
$link = "http://www.harmankaya.org/yazi-".$yazi[id]."-".adresle($yazi[baslik]).".html";
echo "
<url>
<loc>".$link."</loc>
<lastmod>".$yazi[gun]."T".$yazi[zaman]."+00:00</lastmod>
<changefreq>always</changefreq>
<priority>0.9</priority>
</url>";
}
echo "
</urlset>";
?>
Görüldüğü gibi verilerimizi sayfaya döküyoruz sizde benim kullandığım ve adını hatırlamadığım bir siteden aldığım style dosyasını sitemap.xsd yi kullanabilirsiniz. Bu arada unutmadan sitemap.php yaptığınız dosyayı sitemap.xml yazarak göstermek istiyorsanız mod_rewrite konumu gözden geçirin. Yerini bilmiyorsanız Arama Motorum emrinize amade
Hadi iyi site haritası oluşturmalar. Bir sorun çıkarsa İletişim kısmından ya da
adresimden benle iletişime geçebilirsiniz.
© HRMNKY (http://www.harmankaya.org)