18 Eylül 2013 Çarşamba

Dinamik Site Haritası Yapımı Ders2

Bir Önceki Dersimizde Sitemap Nedir Neye yarar Ve yapısı Nasıldır gibi konulardan bahsetmiştik
Eğer bir Önceki Dersimizi Okumadıysanız Dinamik Site Haritası Yapımı Ders1 Bir Önceki Dersimizi Okumanızı Tavsiye Ederim

Dinamik Sitemap Yapımı

Biz Sadece Php Dosyasıyla İlgileneceğiz ama işlemimizin sonunda sitemap.xml adında bir dosyamız daha oluşacak şimdi başlayalım

Öncelikle sitemap.php adında bir php sayfası oluşturup içine veritabanı bağlantımızı yapalım

<?php
$kullaniciadi="root"; // kullanıcı adı
$sifre= ""; // şifre
$host="localhost"; // host
$veritabani="dbvehbi"; // veritabanı adı
$baglan=mysql_connect($host,$kullaniciadi,$sifre);
mysql_select_db($veritabani,$baglan);
/* Veri Tabanı Bağlantısı Yaptık */

?>

Evet Şimdi Veritabanımıza Bağlanık Şimdi veritabanımızdaki linkleri bir diziye atayalım

<?php
$kullaniciadi="root"; // kullanıcı adı
$sifre= ""; // şifre
$host="localhost"; // host
$veritabani="dbvehbi"; // veritabanı adı
$baglan=mysql_connect($host,$kullaniciadi,$sifre);
mysql_select_db($veritabani,$baglan);
/* Veri tabanına Bağlanıp Tablomuzu Seçtik */

$i = 0;
$sql="select * from hikayeler";
$sorgu=mysql_query("$sql");
while ($sonuc=mysql_fetch_array($sorgu)){
$linkler[$i] = $sonuc[0]; 
/* $sonuc[0] yerine  Siz Veritabanından link 
nasıl çekebiliyosanız Ona Göre Düzenleyeceksiniz */
$i++; // Bir Sonraki Döngüde Diziye Yeni Bir eleman eklenmesi için 
}
/* Yukarıdaki İşlemi Tüm link alacağınız Tablolarda Yapacaksınız
şimdi Tüm linklerimizi $linkler dizisine attım  */
?>

Evet sitemizdeki tüm linkeri bir diziye attık sıra geldi xml dosyası oluşturmaya

<?php
$kullaniciadi="root"; // kullanıcı adı
$sifre= ""; // şifre
$host="localhost"; // host
$veritabani="dbvehbi"; // veritabanı adı
$baglan=mysql_connect($host,$kullaniciadi,$sifre);
mysql_select_db($veritabani,$baglan);

/* Veri tabanına Bağlanıp Tablomuzu Seçtik */

$i = 0;
$sql="select * from hikayeler";
$sorgu=mysql_query("$sql");
while ($sonuc=mysql_fetch_array($sorgu)){
$linkler[$i] = $sonuc[0]; 

/* $sonuc[0] yerine  Siz Veritabanından link 
nasıl çekebiliyosanız Ona Göre Düzenleyeceksiniz */

$i++; // Bir Sonraki Döngüde Diziye Yeni Bir eleman eklenmesi için 
}

/* Yukarıdaki İşlemi Tüm link alacağınız Tablolarda Yapacaksınız
şimdi Tüm linklerimizi $linkler dizisine attım  */

$xml_yaz = '<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:mobile="http://www.google.com/schemas/sitemap-mobile/1.0">';

for($j=0;$j<count($linkler);$j++)
   $xml_yaz .= '<url><loc>'.$linkler[$j].'</loc><mobile:mobile/></url>';

// Tüm linklerimizi For döngüsüyle $xml_yaz değişkenine ekledik

$xml_yaz.='</urlset>'; // xml_yaz değişkenimizi burada tamamladık

/* Şimdi sitemap.xml dosyası oluşturup
 içine xml_yaz daki verimizi yazdırıyoruz */

$file = fopen('sitemap.xml', 'w');

 // sitemap.xml dosyası nı eğer sunucuda varsa açar yoksa
 //yeni bir sitemap.xml dosyası oluşturduk 

fwrite($file, $xml_yaz);

// sitemap.xml dosyamızın içine xml_yaz verisini yazdırdık 

fclose($file); // açtığımız sitemap.xml dosyamızı kaydedip kapattık

?>

Evet arkadaşlar kodların içine gerekli açıklamayı yazdım Ama sizede söyleyeyim
İlk önce $xml_yaz adında değişken oluşturduk ve içine xml başlığımızı koyduk
daha sonra $xml_yaz değişkenimizin üzerine linklerimizi ekledik yani $xml_yaz .= ''deger'; bunun anlamı $xml_yaz ın üzerine 'deger' verisinide ekle anlamına geliyor.
tüm linklerimizi ekledikten sonra sıra geliyor $xml_yaz değişkenimizi sitemap.xml dosyamızın içine yazmaya
sitemap.xml dosyasını sunucunuzun kök dizinine yani root a bakar eğer orda sitemap.xml dosyası varsa onu açıp içine xml_yaz verisini yazar ama sitemap.xml dosyası root dizininizde yoksa yeni bir sitemap.xml dosyası oluşturulup içine veriler yazılıp kaydedilir

yani siz siteadiniz.com/sitemap.php sayfamızı bir kez çalıştırdıktan sonra siteadiniz.co/sitemap.xml adında site haritanız oluşacaktır

Site haritanızı güncellemek istediğinizde ise siteadresiniz.com/sitemap.php sayfasını çalıştırmanız yeterli olacaktır :) Sıra geldi artık haritanızı google webmastera falan göndermeye onuda Artık yaparsınız :) Yapamayan olursa iletişim adresimizden veya yorumlardan soru sorabilirler iyi kullanımlar ...
vehbi akdogan - kişisel blog sitesi

17 Eylül 2013 Salı

Dinamik Site Haritası Yapımı Ders1

Siteme Daha ne gerekir diye düşünürken Sitemap Yani site haritamın olmadığını farkettim ve Bir sitemap oluşturayım dedim
Ancak Hikaye scriptimde sürekli linkler güncellendiği için Bunu manule yapı sürekli güncellemek Zor olacağını düşündüm
Ve php ile site haritası yapmaya Karar verdim . Öncelikle Sitemap Nedir Ve yapısı Nasıl olmalıdır onlara Değineceğim

Sitemap Nedir

Sitemap, tahmin ettiğiniz üzere bir web sitesine ait site haritasıdır.Site Haritası Amacı; sayfalarınızı Google'ın biran önce tanıyıp indekslemesidir. Bu sebeple bir web sitesi için kaçınılmaz bir ihtiyaçtır. Google sitemap ile oluşturulan sayfalara erişmede öncelik tanıdığını açıklamıştır. Eğer bir sitemap'iniz yok ise bu sitenizin indekslenmeyecek anlamı çıkmamaktadır! Fakat Google'ın bu hizmetinden yararlanmanızı şiddetle tavsiye ederiz.

Site Haritasının Yapısı Nasıl olmalıdır

Site Haritası protokolü biçimi XML etiketlerinden oluşur. Site Haritasındaki tüm veri değerleri entity-escaped olmalıdır. Dosyanın kendisi UTF-8 olarak kodlanmış olmalıdır.
Site Haritası şu özellikleri taşımalıdır:

  • İle Bir xml Dosyası olduğunu belirtin.
  • Bir açılış etiketiyle başlayın ve bir kapanış etiketiyle bitirin.
  • Her bir URL için, bir ana XML etiketi olarak bir girişi ekleyin.
  • Her bir ana etiketi için bir alt öğe girişi ekleyin.
  • etiketi. Önemli bir diğer etikettir. Bir sayfanın değişip değişmeyeceğini veya hangi sıklıkta değişibileceğinin yazıldığı yerdir (daily, weekly vs..).
  • etiketi. Global olarak hiçbir etkisi yoktur ancak hangi sayfanın sizin için daha önemli olduğunun belirtildiği alandır. 0-1 arası değerler alır.
  • etiketi. Sayfanın ne zaman oluşturulduğunu veya güncelleme tarihinin verildiği yerdir. OLDUKÇA ÖNEMLİ olmasına rağmen birçok site haritasında yer almamaktadır. Otomatik hazırlanan site haritalarında server oluşturma tarih cevabı çoğu zaman çözümlenemediğinden boş bırakılır. Biçiminin şu şekilde olması tercihimdir (2012-03-06T11:35:00+00:00)
  • Sitemap Haritamızın sitemap.xml Şekli Aşağıdaki Gibi olmalıdır

    <?xml version="1.0" encoding="UTF-8"?>
    
    <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    
       <url>
    
          <loc>http://www.example.com/</loc>
    
          <lastmod>2005-01-01</lastmod>       <changefreq>monthly</changefreq>       <priority>0.8</priority>
    
       </url>
    
    </urlset> 
    

    Birdahaki Makalemde İste Sitemap.xml Dosyamızı dinamik olarak Doldurmayı göstereceğim
    vehbi akdogan - kişisel blog sitesi
    Sosyal Aglarda Ben :)
    facebook
    twitter
    google
    youtube
    rss

    About Us

    İstatistik

    Iletisim

    Ad

    E-posta *

    Mesaj *

    © Vehbi Akdogan - Kişisel Blog Sitesi | Tüm Hakları Saklıdır.