Mustafa Kemal Üniversitesi Bilgisayar Mühendisliği Bölümü Ders Materyal Ve Notları

Sponsor

21 Şubat 2013 Perşembe

ASP.NET İLE DİNAMİK SİTE HARİTASI (SITEMAP) HAZIRLAMA

Posted by samgar at 20:12 0 Comments


ASP.NET İLE DİNAMİK SİTE HARİTASI (SITEMAP) HAZIRLAMA

Arama motorları bir siteyi indekslemek için içeriğine bakarlar. Bunu ise kendi botları ile yaparlar. Ancak bizim hazırlayacağımız sitemap ile arama motorları sitemizin içeriğini daha iyi takip edip, daha iyi indeksleyecektir. Bu sitemap ise bazı standartları olan ve tüm arama motorları için geçerli olan bir sitemap`tir. Biz bir sitemap yapıp tüm arama motorlarına bu sitemap`i bildirebiliriz. 



Şimdi ise bunu Asp.net ile nasıl yapacağımıza bakalım.


Öncelikle gerekli olan namespace`lerimizi ekliyoruz.
using System.Text;
using System.Xml;
using System.Data.OleDb;


Daha sonra aşağıdaki gibi kodlarımızı yazıyoruz.
protected void Page_Load(object sender, EventArgs e)
    {
        Response.Clear(); //sitemap xml formatlı olduğundan sayfamızın içeriğini temizliyoruz.
        Response.ContentType = "text/xml";

        XmlTextWriter xr = new XmlTextWriter(Response.OutputStream, Encoding.UTF8);
        xr.WriteStartDocument();
        xr.WriteStartElement("urlset"); 
// sitemap standartı gereği urlset düğümü oluşturuyoruz.

        
// aşağıdaki kodlar ile sitemap`in hangi standartlara uygun olduğunuz belirliyoruz.
        xr.WriteAttributeString("xmlns", "http://www.sitemaps.org/schemas/sitemap/0.9");
        xr.WriteAttributeString("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");
        xr.WriteAttributeString("xsi:schemaLocation","http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/siteindex.xsd");

        // Aşağıdaki 6 satır ile de herhangi bir sayfayı sitemap`e ekliyoruz.
        xr.WriteStartElement("url"); 
// sitemap standartına göre url düğümü oluşturuluyor.
        xr.WriteElementString("loc", "http://mehmetduran.com/default.aspx");
        xr.WriteElementString("lastmod", DateTime.Now.ToString("yyyy-MM-dd")); 
//son değiştirme tarihi
        xr.WriteElementString("changefreq", "daily"); 
// sayfa içeriğini değişme frekansı
        xr.WriteElementString("priority", "1"); 
// sayfanın değişme frekansına göre öncelik sırası
        xr.WriteEndElement();

        
// Aşağıda ise dinamik olarak yani veritabanındaki bilgilere göre sitemap`imizi hazırlıyoruz.
        OleDbCommand komut2 = new OleDbCommand("select sayfa_id,eklenme_tarihi from sayfalar", baglanti);
        baglanti.Open();
        OleDbDataReader oku2 = komut2.ExecuteReader();
        while (oku2.Read())
        {
            xr.WriteStartElement("url");
            xr.WriteElementString("loc","http://mehmetduran.com/news.aspx?nid="+oku2.GetInt32(0).ToString());
            xr.WriteElementString("lastmod", oku2.GetString(1);
            xr.WriteElementString("priority", "0.5");
            xr.WriteElementString("changefreq", "monthly");
            xr.WriteEndElement();
        }
        baglanti.Close();

        xr.WriteEndDocument();
        xr.Flush();
        xr.Close();
        Response.End();
    }


Standart bir sitemap`i Asp.net kullanarak böyle hazırlayabiliyoruz. Tüm arama sitelerinde de kullanabiliyoruz.

Bu Yayını Paylaş

Takipçi Ol

Mail adresinizi kaydedelim ilk sizin haberiniz olsun.

0 yorum:

Sponsor

Yazılarım Korunuyor

Yandex Metrica

Yandex.Metrica

Toplam Sayfa Görüntüleme Sayısı

back to top