Response.RedirectPermanent ve 301 yönlendirmesi

Tarih 18 Ocak 2010 Pazartesi, 21:30 | Etiket(ler) Asp.Net, SEO

.Net Framework 4.0 ile gelen yeni özelliklerden biri Response.RedirectPermanent metodudur. Metodu anlatmaya başlamadan önce biraz ne işe yaradığından ve eski stilde bu işlemi nasıl yapabileceğimizden bahsedelim. 301 yönlendirmesi yapan bu metod kalıcı olarak taşınmış bir adresin yeni lokasyonunu arama motoru botlarına bildirmek için kullanılıyor. Normal olarak Response.Redirect ile yapılan yönlendirmeler, sayfa bilgisine "HTTP 302 Found – Temporary Redirect" (Bulundu - Geçici Yönlendirme) bilgisini eklemektedir. Tarayıcı yönlendirilen sayfadan akışına devam eder fakat bu mesajı gören (302 Found - Temporary Redirect) arama motoru botu sayfa izlemesine yönlendirilen sayfadan devam etmez. Geçici olarak yönlendirildiğini anlar. Bu da sitenizde aslında varolan ve Response.Redirect ile yönlendirilen bir sayfanın indexlenmemesine neden olabilir. Kalıcı olarak yeri değişen dökümanı arama motorlarına bildirmek için aslında "HTTP 301 Moved Permanently" (Kalıcı olarak yeri değişti) bilgisi göndermemiz gerekir.

.Net Framework 4.0 öncesinde bu tip durumlarda 301 yönlendirmesi yapmak için aşağıdaki kod bloğundan yararlanıyorduk. Bu kod arama motoruna sayfanın yerinin değiştiğini, eski sayfayı görmezden gelip aynı içeriğin yeni lokasyonda yer aldığını ve bu adresi indexlemesi gerektiğinini söylemek için kullanılıyor.
Private Sub PermanentRedirect(ByVal icerik As HttpResponse)
    icerik.Clear() 
    icerik.Status = "301 Moved Permanently" 
    icerik.RedirectLocation = "TasinanSayfa.aspx" 
    icerik.End()
End Sub
Ya da
HttpContext.Current.Response.Clear()
HttpContext.Current.Response.Status = "301 Moved Permanently"
HttpContext.Current.Response.AddHeader("Location", "TasinanSayfa.aspx")
HttpContext.Current.Response.RedirectLocation = "TasinanSayfa.aspx"
Şeklinde kullandığımız bu metod, birazdan anlatacağım .Net Framework'ün arama motoru dostu sayfalar yapmamızı kolaylaştıran özelliklerinden bir tanesi Response.RedirectPermanent metodunun yaptığı işi yapıyor.

Response.RedirectPermanent metodu Response.Redirect ile aynı mantıkta çalışmasına rağmen yukarıda anlatmaya çalıştığım gibi HTTP 302 mesajı yerine HTTP 301 Moved Permanently mesajı gönderiyor ve dolaylı yoldan yaptığımız işi kolaylaştırıyor. 301 mesajını gören arama motoru botu gezinmeye yeni sayfadan devam ediyor ve yönlendirilmek istenen sayfalar indexlenmeye devam ediyor. Yapmamız gereken işlem sadece,
Response.RedirectPermanent("YeniSayfa.aspx")
.Net framework arama motoru dostu sayfalar yapmak için biçilmiş kaftan gibi gözüküyor ve bunun gibi birçok özelliği de kendisiyle birlikte getiriyor. Bunlardan biri yukarıda anlattığım gibi Response.RedirectPermanent. Bunun dışında Page.MetaKeywords ve Page.MetaDescription metodları da kullanımımıza sunulacak. Web sayfalarımıza gelen trafiğin büyük bölümünü oluşturan arama motorlarını göz ardı etmemek artık gereklilik halini alıyor. Daha sonraki yazılarda bu özelliklere de değineceğim.



Yorumlar

Tarih 21 Ocak 2010 Perşembe, 22:05 | Yazan Selman Mert

Süper özellikler bence. Gereksiz kod kalabalığından kurtarıyor resmen.
Yorum yazın

Capthca Karakterleri kutuya giriniz
Kodu değiştir...


Geri Dön   |   Ana Sayfaya Dön