İpucu

Web uygulamaları geliştiriyorsanız SEO önem vermeniz gereken değerli konulardandır. SEO için Meta tag lar oldukça önemlidir. Çünkü arama motorlarının robotları sitenize geldiğinde sayfalarınızın "title", "description","keywords" gibi meta tag larına bakar. Bu sebepten meta taglarını etkili kullanmak gerekir. Meta tag ları statik olarak html tarafında <head> etiketleri arasına yazarak verebilirisiniz. Fakat sayfalarınız sabit değilde içeriğe göre güncelleniyorsa ve özellikle master page kullanıyorsanız meta tagları dinamik olarak vermeniz gerekmektedir.

Arama motorlarının yanı sıra facebooktwitter ve friendfeed gibi sosyal ağlarda title", "description","keywords" e bakmaktadır. Paylaşım yaparken; Facebook, "title", "description" ve "keywords" ün tümüne bakar. Aynı zamanda paylaştığınız sayfadaki resim ve videoları da dikkate alır. Twitter ve Friendfeed ise sadece "title" etiketiyle ilgilenir.

Meta taglarla ilgili bu kadar bilginin ardından şimdi bu meta tagları dinamik olarak nasıl ekleyeceğimiz konusuna bakalım.

Bu yazıda Asp.Net ile dinamik olarak nasıl verilebileceği üzerinde duracağım. Meta taglarının dinamik olarak verilmesi konusunu aslında .Net 4.0 ile ve öncesi ile nasıl yapıldığı şeklinde ikiye ayırmak gerekiyor. Çünkü; .Net 4.0 ile SEO konusunda büyük farklılıklar yapıldı. .Net 4.0 ile artık SEO işlemleri eskisinden çok daha kolay. .Net 4.0 ile gelen SEO yenilikleri ile ilgili bilgi edinmek için Uğur Umutluoğlu'nun seminerini izlemenizi tavsiye ederim.

İlk önce .Net 3.5 ile META etiketleri dinamik olarak nasıl ekleyeceğimiz konusuna bakalım. Bunun için öncelikle aşağıdaki namespaceyi ekliyoruz;

using System.Web.UI.HtmlControls;
Ardından aşağıdaki kodları sayfamızın ilgili bölümüne(ilgili bölümü diyorum çünkü illaki page_load eventine eklemek gerekmez.) ekliyoruz.
string baslik = "";
string anahtarKelimeler = "";
string aciklama = "";
 
Page.Title = baslik;
 
HtmlMeta meta = new HtmlMeta();
meta.Name = "keywords";
meta.Content = anahtarKelimeler;
Header.Controls.Add(meta);
 
meta = new HtmlMeta();// her Meta için yeni bir HtmlMeta nesnesi oluşturuyoruz.
meta.Name = "description";
meta.Content = aciklama;
Header.Controls.Add(meta);

Şimdide .Net 4.0 ile dinamik META tag ları eklemeye bakalım. Bunun içn aşağıdaki kodları ekliyoruz. Dikkat edelim herhangi bir namespace falan eklemiyoruz.

/*.Net 4.0 ile ..*/
Page.MetaDescription = aciklama;
Page.MetaKeywords = anahtarKelimeler;
Page.Title = baslik;
 İşte bu kadar ne kadar kolay oldu değil mi ?
 
.Net 3.5 ve 4.0 arasında ortak olanın Page.Title etiketi olduğunu görüyoruz. Yani en kolay şekilde title ekleyebiliyoruz. Peki burdan şu sonucu çıkarabilir miyiz? : SEO ve Web sayfaları için Title çok daha fazla önemlidir. Bence bu sonucu çıkarabiliriz çünkü; title gerçekten hem arama motorları hemde sosyal ağlar için oldukça önemlidir.