mehmetduran.com - Paylaşmak Güzeldir...
Bloğumda Kullandığım SiteMap Sınıfı
Bu yazımda bloğumda kullandığım arama motorları için ve SEO için vazgeçilmez olan SiteMap dosyası için yazdığım sınıfı sizlerle paylaşacağım. Yazdığım sınıfta veriler alınıp gerekli yapıya sokularak Xml sonucu (string olarak) yazdığım metot ile alıp kullanabiliyoruz. Yazımda hem Asp.net ile hem de MVC ile yazdığım sınıfın kullanımını göstereceğim. Daha önce paylaştığım RSS sınıfı gibi bu sınıfı da projelerimize direk olarak ekleyip kullanabiliriz. Yine bu sınıfta Sitemap oluşturmak için Linq to Xml yöntemini kullanmaktayım. Umarım faydalı olur ve birçok kişi kullanır. Şimdi yazdığım sınıfa ve kullanımına bakalım.

Öncelikle yazdığım SiteMap sınıfını buradan görebilir ve indirebilirsiniz. Yazımda nasıl kullanılacağını gösteren kodları yazacağım için sınıfın kodlarını yazmıyorum. Linkten direk olarak görebilir ve indirebilirsiniz.

Öncelikle Asp.net ile kullanıma bakalım. Bunun için aşağıdaki gibi bir kodlama yapmamız yeterli.

 
    protected void Page_Load(object sender, EventArgs e)
    {
      List<SitemapItem> veriler = new List<SitemapItem>()
      {
        new SitemapItem(){ loc = "http://mehmetduran.com", lastmod = DateTime.Now, changefreq = "daily", priority = "1" }
        // Burada veritabanından alınan veriler ile sitemap oluşturulacak.
      };
      Sitemap sitemap = new Sitemap(veriler);
      Response.Clear();
      Response.ContentType = "text/xml";
      Response.Write(sitemap.SitemapSonuc());
    }
 

MVC ile kullanım ise şöyle olmalı.

 
    public ActionResult SiteMap()
    {
      List<SitemapItem> veriler = new List<SitemapItem>()
    {
      new SitemapItem(){ loc = "http://mehmetduran.com", lastmod = DateTime.Now, changefreq = "daily", priority = "1" }
      // Burada veritabanından alınan veriler ile sitemap oluşturulacak.
    };
      Sitemap sitemap = new Sitemap(veriler);
      return Content(sitemap.SitemapSonuc(), "text/xml");
    }
 

Gerekli yerlerde ister el ile ister veritabanından alınan verilerle SiteMap'i rahatlıkla oluşturabilir ve kullanabiliriz. Bloğumda bu kodları kullanarak hazırladığım sitemap'e buradan ulaşabilirsiniz.

Arama motorları, SEO için oldukça önemli olan Sitemap için yazdığım bu sınıfın oldukça kullanışlı olduğunu düşünüyorum. Umarım faydalı olur ve kullanılır.

Yazdığım sınıfa buradan ulaşabilir ve indirebilirsiniz.

İyi Çalışmalar.
Bookmark and Share
Bu Yazıyı Değerlendirin.
Konuyla İlgili Olabilecek Diğer Yazılar Css e-book Asp.net ve Ms Sql ile Dataları Sayfalama İşlemi jQuery 1.4 Yayınlandı Asp.net MVC'de View'lara Veri Taşıma (Aktarma) Yöntemleri Blog Tutmaya Başlayalı 1 Yıl Oldu
Yorumlar
Yorum Yaz
RSS Yorum Takibi
zülküf küçüközer 02 Eylül Çarşamba 2009 23:10 #1
Bu yazın bana aynı iş PHP dilinde nasıl yapılır başlıklı bir blog yazısı yazma fikri verdi :) Malum birbirimize destek olmak lazım . Hemen yazmaya başlayayım.
Mehmet Duran 02 Eylül Çarşamba 2009 23:11 #2
Kolay gelsin. Hep destek tam destek. :D
zülküf küçüközer 06 Eylül Pazar 2009 00:33 #3
Destek için sağol :) Bu arada dediğim gibi aynısını PHP ile yaptım.
Mehmet Duran 06 Eylül Pazar 2009 00:36 #4
Fırsat buldukça takip ediyorum siteni. Yazdığını ilk anda görmüştüm. İlgilenenlere faydalı olur umarım.
sefa 08 Eylül Salı 2009 08:07 #5
bu güzel çalışma için teşekkürler 2 sorum olacak
1=>Sitemap.txt bu anadizinde bu şekilde mi duracak yoksa .cs olarak mı saklayacağız
2=>protected void Page_Load(object sender, EventArgs e) bunu taslak.master.cs deki yerde mi yazacağız
Mehmet Duran 08 Eylül Salı 2009 20:47 #6
Merhaba. Kodları kullanabilmek için cs olarak projeye eklemelisin. Ayrıca App_code klasörüne veya herhangi bir dizine atman farketmez. Kodları ise Sitemap olarak kullanacağın Page_load eventına yazmalısın. (Master page değil.)
sefa 08 Eylül Salı 2009 22:05 #7
protected void Page_Load(object sender, EventArgs e) { .... .... } ya ben anlamadım kusura bakmayın bunu hangi sayfaya koyacağız bunun için Sitemap.aspx diye bi sayfa yapıp oranın page loadına mı koycaz
Mehmet Duran 08 Eylül Salı 2009 22:16 #8
Sitemap olarak kullanacağın (sitemap.aspx) sayfanın kod kısmında Page_Load içine bu kodları yazacaksın. Tabi verileri de ya el ile ya da veritabanından çekerek sitemap'i doldurakcaksın.
OGAN 21 Şubat Pazar 2010 21:52 #9
Ben bu sınıfı kullanamıyorum, using System.Xml.Linq; diye birşey yok diyor ve XNamespace, XDocument, XElement, XAttribute bunlarda yok diyor acaba sebebi nedir MVC ilemi alakalı ( ben mvc kullanmıyorum )
Mehmet Duran 21 Şubat Pazar 2010 21:57 #10
System.Xml.Linq sınıfı .Net 3.5 Framework gerektiriyor. Sanırım sende bu yüzden hata veriyor. Eğer .Net 3.5 yüklü ve yine bu hatayı alıyorsan, bu sınıfı içeren dll'i projeye referans olarak eklemelisin. MVC ile hiçbir ilgisi yok. Bahsettiğin sınıflar Linq to Xml sınıflarıdır.
Mahmut 13 Haziran Pazar 2010 16:30 #11
Bunu proje olarak verme şansınız varmı?
Mehmet Duran 14 Haziran Pazartesi 2010 02:28 #12
Maalesef proje olarak paylaşma imkanım yok. Çünkü elimde proje yok. Direk olarak kodları paylaştım. O kod dosyasını projeye ekleyip, yazımda belirttiğim gibi kullanabilirsin.
İsim :
Site :
Yorum :

Buradan bu yazıya ait yorumları RSS olarak takip edebilirsiniz.

Bu servis ile yazılara eklenen yorumları RSS ile takip ederek konu ile ilgili başkaları tarafından yapılan yorumları veya konuyla ilgili sorduğunuz sorulara verilen cevapları görebilirsiniz.
Kimse sana senden iyi öğüt veremez.
Bölümler
Yazılar
Arşiv
Arama
Linkler
Site İçi Arama
Son Zamanlarda Ne Yapıyorum ?
İstatistikler - Araçlar - Reklam
İstatistikler
Sayaç
Mehmet Duran | mehmetduran.com | Copyright © 2009