Yazılım Bir Tutku

Tecrübe ilimden üstündür !

ASP.NET 4.0 ile Dinamik Title Description ve Keyword

Tarih : 16.06.2010 12:56:58 Kategori : ASP.NET Hit : 8188

Merhaba arkadaşlar;

Bir web developer olarak herhangi bir firmada çalışıyorsanız dahi zaman zaman freelance olarak bazı projeler gelir size. Gelen projeler içerisinde ciddi kurumsal yapıya sahip firmalar olacağı gibi bireysel taleplerinde olması elbetteki kuvvetle muhtemeldir.

İşte proje talebi ile gelen bu müşteriler içerisinde talep ettiği projeye dair bir bilgi birikimi olanlar olduğu gibi herhangi bir fikri olmayanlarda elbetteki var. Hatta çat kapı karşınıza çıkıp "hadi bana bi web sitesi yap" diyenlerin sayısı sanırım her developerın hayatında azımsanamayacak kadar çok olsa gerek. Hatta dahada vahimi büyük bir kesimin internetin sadece Google den ibaret olduğunu daha doğrusu Google'nin internet olduğunu zanneden bir toplumuz. Ama sevindirici bir taraf ise artık Google harici Bing, Yahoo gibi arama motorlarıda ülkemizde ciddi yer edinmeye başladı. Öyleki web sitesini görüntülemek için tarayıcısının adres çubuğuna kendi web sitesinin domainini yazmak yerine Google'den gelen yüzlercesini tanıyorum. Kendi web sitesinin Google tarafından açıldığını zanneden çok ciddi yoğunlukta insanlar var hepimizin çevresinde. Elbette burada bahsettiğim bilinçli kullanıcılar değil tabiki :) Hoş sırf elinizde bilgisayar var diye yanınıza gelip "ya bizim plazmanın kumandası bozulmuş bir bakıversen hayrına, sen anlarısın" diyen insaların yanında internet ve arama motoru ayrımını yapamayanların eli öpülür sanırım :)

Neyse konuyu çok daha fazla dağıtmayayım.

Bir web developer isenize arama motorlarının önemi geliştirdiğiniz projelerde küçümsenemeyecek kadar büyüktür. Arama motorlarının ise sizin geliştirdiğiniz projelere değer vermesine ilişkin belirli kriterleri var. Hangi arama motoru olursa olsun sayfalarınıza ait "Title, Description ve Keyword" kısımları çok ama çok büyük bir öneme sahiptirler.

ASP.NET 'in 4.0 öncesi sürümlerinde de bunları elbette bir şekilde dinamik olarak ayarlayabiliyorduk. Fakat bu ayarlamaları yaparken biraz taklalar atmamız ve uğraşmamız gerekebiliyordu :)

ASP.NET 4.0 ile birlikte gelen yeni özelliklerden olan; Page sınıfına dahil edilen iki yeni özellik ile bu işlemleri çok kolay bir şekilde yapabilmekteyiz.

ASP.NET 4.0 öncesindede Page.Title diye bir özelliğimiz vardı ve sayfalarımızın Title kısmını çok rahat bir şekilde ayarlamaktaydır. ASP.NET 4.0 da ise bu sınıfa Page.MetaKeywords   ve  Page.MetaDescription da eklenerek SEO işlemlerimizde ASP.NET sayfalarınının kodlanmasını tadından geçilmez bir hale getirmiş Microsoft.

Bildiğiniz gibi daha önceki süreçlerde sayfalarımız Title, Description ve Keywords gibi özelliklerini aşağıdaki gibi <head></head> tagları arasına ekliyorduk ve buralarda yer alacak verileri dinamik olarak çekebilmek için daha öncede belirttiğim gibi bi kaç işlem yapmamız gerekmekteydi.

 

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Sayfamızın title yazısı burada yer almakta</title>
    <meta name="keywords" content="Buraya sayfa ile ilgili anahtar kelimeler gelecek" />
    <meta name="description" content="Buraya sayfanın açıklaması gelecek" />
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
    </div>
    </form>
</body>
</html>

 


ASP.NET 4.0 ile gelen bu yeni özellikler sayesinde artık işlemleri dinamik olarak gerçekleştirebilmek için yaptığımız ekstra işlemlere ihtiyaç duymamaktayız. Tek yapmamız gereken en basit olarak sayfanın yüklenme anında ( Page_Load ) bu yeni özellikleri kullanmak yada herhangi bir method ile verileri çekip yine sayfanın Page_Load'ında bu methodları çağırmak olacaktır.

 

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

        Page.Title = "Sayfamızın title yazısı burada yer almakta";
        Page.MetaKeywords = "Buraya sayfa ile ilgili anahtar kelimeler gelecek";
        Page.MetaDescription = "Buraya sayfanın açıklaması gelecek";

    }
}


Açıkçası işlemlerimizi hızlandıran oldukça güzel bir özellik olduğunu düşünüyorum.

Bir sonraki makalemizde görüşünceye dek kalın sağlıcaklar.

Takip Ediyorum

Faydalı Projeler

Yorumlar

Ben bu işlemi bilindiği gibi veritaban kadımı yaptıktan sonra şu şekilde çeke bilirmiyim

SqlDataAdapter komut = new SqlDataAdapter("select * from keyword ", ConfigurationManager.ConnectionStrings["baglan"].ConnectionString);
DataTable dt = new DataTable();
komut.Fill(dt);
Page.Title = dt.rows[0]["Title"].ToString();
Page.MetaKeywords = dt.rows[0]["Keywords"].ToString();
Page.MetaDescription = dt.rows[0]["Description"].ToString();

bu şekildede çeke bilirmiyim Page_Load'ında

Hocam ALLAH senden razı olsun.Kaç saattir bunla uğraşıyorum anlatamam.Bir tane adam akıllı yazı bulamamıştım,sayende yaptım.ALLAH tekrar razı olsun senden.

Bir önceki cevabımda databaseden nasıl verileri çekeceğinize dair bir örnek yazmıştım.

Peki bu pagenin load olayına o bilgileri nereden çekeceğiz????

SqlConnection scon = new SqlConnection("server=.;database=dbismi;uId=dbkullanici;pwd=sifre");
SqlCommand scom = new SqlCommand("select Title,Keywords,Description from SiteAyarlari", scon);
if (ConnectionState.Closed == scon.State)
scon.Open(); SqlDataReader dr = scom.ExecuteReader();
while (dr.Read())
{
Page.Title = dr["Title"].ToString();
Page.MetaKeywords = dr["Keywords"].ToString();
Page.MetaDescription = dr["Description"].ToString();
}
scon.Close();
şeklinde dinamik olarak sayfalarında uygulayabilirsin.

Peki bunu veritabanından nasıl çekeceğiz?

Sizde Yorumda Bulunun

Konuya dair fikir ve sorularınızı paylaşın