Henüz Üye Degilmisin ? Üye Ol | Parolamı Unuttum
Paneli Kapat
SANALGUCLULER Hack ve Güvenlik Platformu  

SEO İçin global.asax İle Sanal Sayfalar Oluşturma

Bu makalemizde geliştirdiğimiz projelerimizde url adreslerimizi SEO ( search engine optimization ) Türkçe açılım olarak Arama Motoru Optimizasyonu na uyumlu hale getirmenin yollarından biri olan global.asax kaynaklı olarak nasıl yaparız bunu inceleyeceğiz. Örneğin bir haber sitesinde yüzlerce haber databaseye kaydedilmiş olabilir ve tüm bu haberlerin detaylarının gösterimi için bizim tek

AnaSayfa Kimler Online Bugünki Mesajlar Forumları Okundu Kabul Et
Go Back   SANALGUCLULER Hack ve Güvenlik Platformu > Web Programlama Dilleri > ASP-.NET

Yeni Konu aç  Cevapla
 
LinkBack Seçenekler Stil
Alt 15 Ocak 2012, 14:00   #1
Mareşal
Ceybi Nickli Üyenin Kullanıcı Resmi (Avatar)
Üyelik Tarihi: 12 Ocak 2012
Mesajlar: 789
Rep Puanı : 10
Rep Derecesi : Ceybi isimli üye Tecrübe puanını kapatmıştır.
Standart SEO İçin global.asax İle Sanal Sayfalar Oluşturma

Bu makalemizde geliştirdiğimiz projelerimizde url adreslerimizi SEO ( search engine optimization ) Türkçe açılım olarak Arama Motoru Optimizasyonu na uyumlu hale getirmenin yollarından biri olan global.asax kaynaklı olarak nasıl yaparız bunu inceleyeceğiz.



Örneğin bir haber sitesinde yüzlerce haber databaseye kaydedilmiş olabilir ve tüm bu haberlerin detaylarının gösterimi için bizim tek bir page miz vardır ( Örnek : Haber-Detay.aspx ) . Kla*** olarak bu haberleri göstermek amacıyla tarayıcıda [Yanlizca 10 Saniyede Üye Olmak Için TIKLAYINIZ...] gibi bir Url gösterimi uygularız. Fakat bu durum SEO için çokta ideal bir seçenek değildir. İlgili projenin hedeflenen kelimelerde arama motorlarında üst sıralarda çıkması için arama motorlarının önem verdiği uygulamaları projelerimize yansıtmamız gerekir. Yani tarayıcının adres çubuğuna [Yanlizca 10 Saniyede Üye Olmak Için TIKLAYINIZ...] gibi bir url değilde [Yanlizca 10 Saniyede Üye Olmak Için TIKLAYINIZ...] ( burada aspx uzantı şart değildir.html veya istenilen herhangi bir kelimede getirilebilir, yada uzantı belirtilmeyebilir.Bu tamamen bizim tercihimize kalmış bir şey ) şeklinde bir url getirebiliyor olmamız lazım. Bunu sağlayabilmek içinse asp.net de birçok yolumuz var ve makalenin başındada belirttiğim gibi bunu global.asax yardımı ile nasıl yapacağımızı inceleyeceğiz.
PAGE
<a href="/Haber/<%#Eval("HaberId")+"-"+ (Eval("Baslik") %>.aspx" alt=""><%#Eval("Baslik") %></a>

İlgili verileri veri tabanına bağlanarak aldığımızı varsayıyorum.Pagemizde yukarıda belirttiğimiz şekilde bir link verdiğimizde sistem şu şekilde işleyecektir:

Öncelikle projemizde bir Haber klasörü olmadığı halde "haber" kelimesi hedeflenen önemli bir kelime olduğu için her haberde ( projede yüzlerce haberin olduğu varsayılırsa bu demektirki arama motorları bu projede haber kelimesini o sayıda kayda alacak ve bu kelime bu projede yoğunluk kazanacak ) bu kelimeyi vurgulamak için sanal bir klasör oluşturduk. Haberin ID değeri ve son olaraksa eklenen haberin başlığınıda linkimize çektik.

Şimdi burada şu soru sorulabilir. İyide bizim Haber isminde bir klasörümüz ve o başlıkta bir pagemiz yokki ? Sırf biz Url'i bu şekilde yazdık diye istediğimiz olacak değilya !


Elbette sırf page bu komutu yazdık diye sistem bunu bu şekilde algılamayacak. Ama global.asax işte bu noktada imdadımıza yetişecek ve sisteme bizim olmasını istediklerimizi uygulatacak.


Yukarıdaki komutta aslında biz " eğer Haber-Detay.aspx sayfası çağrılırsa sen bunu Haber diye sanal bir klasör oluştur ve daha sonra haberin ID değerini ve başlığını ekleyerek adresi bu şekilde göster" dedik.


GLOBAL.ASAX


//Pagemizin url bilgisini Request.RawUrl ile alarak daha sonraki aşamalarda kullanabilmek adına string bir değer olarak atıyoruz.

string DosyaYolu = Request.RawUrl;

//Aldığımız string Url bilgimizin içerisinde Haber diye bir ifadenin geçip geçmediğiniz kontrol ediyoruz. IndexOf ile yapılan aramalarda sonuç bulunmaz ise geriye -1 değerinin döndürür. Dolayısı ile biz kontrolümüzü sonuç -1 den farklı ise şeklinde yapıyoruz.


void Application_BeginRequest(Object sender, EventArgs e)
{

string DosyaYolu = Request.RawUrl;

if (DosyaYolu.IndexOf("/Haber/") != -1)
{

//Uzantımızı aspx olarak belirtmiştik ve buradada uzantımızı kontrol ediyoruz.
if (System.IO.Path.GetExtension(Yol) == ".aspx")

{
//Son olarak bu durumda arka planda çağrılacak olan asıl page mizi ve detaylarının talep edileceği haberi belirtiyoruz..
string[] path = System.IO.Path.GetFileName(DosyaYolu).Split('-');
Context.RewritePath( "/Haber-Detay.aspx", "", "HaberId=" + path[0], true);

}

else
{
//aksi durumda olmasını istediğimiz bir işlem varsa kodlarımızı bu kısımda belirtiyoruz

}

}
}



Ve uygulamanın sonunda sonuç ?



Her iki durumdada veriler pagemize istediğimiz şekilde geliyor. Tek fark url bilgisinde Sabit bir page ve artı olarakta ID değerlerinin yerine arama motorlarında çıkmayı hedeflediğimiz kelimeleri çekerek sanal sayfalar oluşturmuş oluyoruz.

Tabi bu uygulamada sistem yöneticinizin IIS üzerinden domaininize aspnet_isapi.dll desteğini vermiş olması gerekmekte. Aksi durumda bu uygulama sonuç getirmeyecektir.

Tercih tabiki size kalmış..
Ceybi isimli Üye şuanda  online konumundadır   Alıntı ile Cevapla

Sponsor Linkler (Lütfen Sitemize Destek Olmak İçin Günde Bir Kez Tıklayınız)
Cevapla

Paylaş

Etiketler
global.asax, globalasax, ile, olusturma, oluşturma, sanal, sanal sayfalar, sayfalar, seo, seo için, İcin, İle

Seçenekler
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Açan Forum Cevap Son Mesaj
Dreamweaverde Frame Oluşturma Ceybi Dreamweaver 0 30 Ocak 2012 12:34
Siemens Telefonları İçin Temalar Ceybi Siemens 0 27 Ocak 2012 23:08
Fake MaiL İçin Önlemler Ceybi Mail Güvenlik Açıkları 0 18 Ocak 2012 18:00
Kaliteli Web Tasarımı İçin İpuçları Ceybi Web Programlama Dilleri 0 15 Ocak 2012 13:51
Tarayıcılar İçin En İyi 5 Güvenlik Eklentisi Ceybi Web Güvenlik Açıkları 0 15 Ocak 2012 11:31


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 13:16.


"İnsanları da Kağıt Paralar Gibi Güneş'e Tutunuz, İçlerinde Atatürk Yoksa Sahtedirler ..."
Sitemiz bir forum sitesi olduğu için kullanıcılar paylaşımlarını önceden onay almadan anında siteye yazabilmektedir. Bu yazılardan dolayı doğabilecek her türlü sorumluluk yazan kullanıcılara aittir. Yinede sitemizde yasalara aykırı unsurlar bulursanız admin[at]sanalgucluler[dot]com iletisim adresine bildirebilirsiniz, şikayetiniz incelenip en kısa sürede gereken yapılır.
Alemin Kralı, Alexa, Altavista, Android, Android, Apple ios, Apple Iphone, ASP-.NET, Astroloji, Bada, Blackberry, Blackberry Os, C#, C/C++, Çin Malı Telefonlar, Counter Strike, CSS, Delphi, DMOZ, Eklentiler (Hack-Plugins), Ekonomi, Fatmagül’ün Suçu Ne?, Firar, Google Adsense, Google Adwords, Google Analytics, Google Pagerank, Google Translate, Güvenlik Programları, Hayat Devam Ediyor, HTC, HTML-XHTML, Java, JavaScript & AJAX, Kamera Şakaları, Karahan Online, Kaza Videoları, Knight OnLine, Komik Videolar, Kurtlar Vadisi Pusu, Kuzey Güney, Kültür Sanat, Linux, MAC-OS, Maemo, Magazin, Metin2, Mobil, Moderatör Başvuruları, Motorola, Muck, Muhteşem Yüzyıl, Nokia, Ogame, Palm Os, Pardus, PHP, Pis Yedili, Planet, Python, Sağlık, Samsung, Ses&Video Programları, Siemens, Silkroad Online, Sinema, Sonyericsson, Sorularınız ve Cevapları, Spor, Symbian, Sürücü&Driver, Tasarım Programları, Teknoloji, Travian, Tv Rehberi, Unix, vBulletin Temaları, Visual Basic, Windows, Windows Mobile, WolfTeam, World of Warcraft, WPF/WCF, XML/XSLT, Yahoo, Yalan Dünya, Yer Gök Aşk, İlginç Videolar, İnternet Programları, İstanbul Kıyamet Vakti, Öyle Bir Geçer Zamanki
I Love You Google

Search Engine Optimization by vBSEO 3.6.0