Skip to main content

ASP.NET’te SEO Uyumlu Sayfa Yönlendirme

SEO(Search Engine Optimization) yani arama motoru iyileştirmesi son yıllarda internet dünyasında tanınmak ve para kazanmak isteyen çoğu kişinin ağzından düşürmediği bir kavram. Arama motorlarında üst sıralara çıkmak, adsense reklamlarından iyi gelirler elde etmek başlı başına bir sektör haline bile geldi! Hatta sırf bu işten ayda 1.000$’ın üzerinde gelir elde eden tanıdıklarım bile var(İmreniyorum sizlere arkadaşlar). Geçtiğimiz haftalarda Ineta Next Hit’teki ASP.NET 4.0 sunumuma hazırlanırken sayfa yönlendirme ile ilgili ASP.NET uygulamalarına has güzel bir ipucu keşfettim. Aslında Response.Redirect() metodunun tarayıcılara(web browser) HTTP 302 durum kodunu gönderdiğini ASP.NET’le ilk tanıştığım zamanlarda bile biliyordum, ama bu metotla beraber tarayıcıya nasıl HTTP 301 durum kodu göndeririz ve arama motorları tarafından nasıl daha fazla seviliriz, işte bu idi yeni keşfettiğim nokta:)

Response.Redirect programatik olarak sayfa yönlendirme işlemleri yapmamızı sağlıyor bildiğiniz gibi, ancak ilginç bir ayrıntısı da var, o an talepte bulunan istemciye HTTP 302(yani Temporary Redirect) bilgisini gönderiyor. Tabi ki bu mesajı gören arama motoru boot’ları da; “demek ki bu sayfaya geçici olarak geldim, yakında bu sayfayı belki de bulamayacağım, önemsiz bir sayfa, gerilere at!” der. Halbuki işin aslı bu kalıcı bir sayfa ve arama motorlarının da bunu böyle bilmesi gerekir. Eğer gönderilen cevabın içeriğine HTTP 301(Moved Permanently) bilgisini ekletebilirsek süper olacak. Aşağıda bu işi nasıl yapabileceğimizi görebilirsiniz. Tabi ki Response.Redirect() kullanmadan;


Response.StatusCode = 301;

Response.StatusDescription = "Moved Permanently";

Response.AddHeader("Location", "Default2.aspx");


Yukarıdaki üç satırı beğenmeyen varsa güzel bir haber vereyim; ASP.NET 4.0 ile gelecek olan Response.RedirectPermanent() metodu bu üç satırın işini görecek. Yani bu metot yönlendirmeyi yaparak istemciye HTTP 301 durum kodu gönderecek. Küçük ama hoş bir yenilik olacağa benziyor.

ASP.NET’te SEO Uyumlu Sayfa Yönlendirme” hakkında 16 yorum

  1. merhaba,

    sadece Response.Status = "301 Moved Permanently" şeklinde kullansak, dediğiniz kodlarla aynı işi yapar mı ?

  2. Bu da işe yarar bence, sonuçta Response’un Status bilgisine bilgiyi eklemiş oluyorsunuz. Ama test etmeden de %100 işe yarar demem doğru olmaz :)

    Teşekkürler.

  3. Arama motorları geçici olarak yönlendirilen bir sayfayı sıralamada arka sıralara atarlar. Amaç yönlendirilen sayfaya geçici olarak gidildiği değil, kalıcı olarak gidildiğini söylemektir. Kod parçasından önceki paragrafı tekrar okursanız anlaşılır olur bence. "Response.Redirect programatik olarak sayfa yönlendirme işlemleri yapmamızı sağlıyor bildiğiniz gibi, ancak ilginç bir ayrıntısı da var…" ile başlayan paragraf.

  4. güzel bir ipucu olmuş.. peki bunun ardından bir metod kullanmaya gerek kalmıyor mu? yani bu 3 satır tek başına başka bir sayfaya yönlenmeyi sağlayacak mı?

  5. Yararlı bir bilgi teşekkür ederim

    public void git(string adres)
    {
    Response.StatusCode = 301;

    Response.StatusDescription = "Moved Permanently";

    Response.AddHeader("Location", adres);

    }

    şeklinde metot olarak kullanabiliriz ASP.NET 4.0 bekleyemeyecek olanlar:)

  6. Asp için ararken çıktı karşıma. neyse ben yine benim gibi arayanlar olur diye ASP versiyonunu ekleyeyim. :)

    Response.Status="301 Moved Permanently"
    Response.AddHeader "Location", "GondereceginizSiteAdresi"

  7. ben php tabanlı bir siteyi asp.net e çevirmeye çalışıyorum da sitenin indexlenen eski sayfasının adresini yeni url ye nasıl yönlendirebilirim??

  8. hocam peki bu sistemi her sayfa için nasıl ayarlayacağız.Eski sitemiz php idi ben asp.net ile yeni site yaptım şimdi domaini kendi yaptığım asp.net sitenin hostuna yönlendireceğim fakat link yapısı değişecek bu durumda.Ben gogılda değeri yüksek olan eski link url mi yeni urlye kalıcı olarak 301 yönlendirmesi ile taşımak istiyorum sitemde de tek bir default sayfası var bütün içerik buraya çağrılıyor.Şimdi böyle bir sistemde 10-15 linki nasıl yeni url ye yönlendirebilirim?

  9. Bir tabloda eskiurl-yeniurl bilgileri tutulabilir. Sonra yazılacak handler’ın içerisinde gelen request’in url’si okunarak php uzantısından önceki kısım alınır. Tabloda bu url’ye karşılık gelen yeni url bilgisine yönlendirme yapılır. Bu işe yarar sanırsam

  10. hocam yukarıda yazdığınız gibi Response.StatusCode = 301;
    Response.StatusDescription = "Moved Permanently";
    Response.AddHeader("Location", "Default2.aspx");
    sistemiyle daha basit bir yoldan halledemezmiyiz bir de eski url yapısında .php uzantısı yok zaten direk …com/urun-adi şeklinde

  11. Eğer ASP.NET 4.0 kullanıyorsan yazının son paragrafında zaten daha kolay yolunu söylemişim :) Ama 4.0 öncesi ise, daha kolay yolu var mı bilmiyorum.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir