Forum
Sitemizde makaleler yayınlıyoruz. bu makalelerle ilgili etiket kelimeler oluşturduk. bunları veri tabanında saklıyoruz. bu etiketleri google tarafından görmesini nasıl sağlayacağız acaba. Nasıl bir yol takip etmeliyiz
.net sürümü hangisini kullanıyorsunuz.
masterpage kullanıyormusunuz. ona göre daha iyi cevap verebiliriz.
2010 c sharp kullanıyoruz. masterpage var. makaleler masterpage i referans alan sayfada görüntüleniyor
makaledeki etiketleri bir yere mi ekliyoruz acaba. ne yapabiliriz
selim hocam cevabı yanlış yere yazmışsın teşekkür ederim. net 3.5 kullanıyoruz. ascx sayfasını masterpage head kısmına nasıl okutabiliriz
Merhabalar,
yapmak istediğiniz etiketleri meta keywork olarak yayınlamak mıdır?
evet hocam
daha doğrusu makalelerde etiket olarak tanımladığımız kelimeleri nasıl kullanabiliriz acaba
.net sürümünü kastetmiştim ama kısaca şöyle söyleyim
eğer 4.0 dan daha eski bir framework ile yazıyorsanız
masterpage de bulunan <head> taglarının arasına content place holder ekleyin ve <meta> taglarını ascx sayfasında ilgili sayfanın etiketlerini okutun. 4.0 kullanıyorsanız
http://mahmuttemur.com/Makale/18-ASP-NET-4-0-ile-Dinamik-Title-Description-ve-Keyword.aspx
bu makale sorununuzu çözecektir.
demiştim...
3.5 kullanıyormuşsunuz.
daha önce yazdığım foreach ile veritabanından gelen verileri nasıl yazabileceğimizi anlatmıştım. oradan yola çıkarak masterpage de head tagının içindeki meta keywords kısmını silerek contetct place holder eklersen; içerik sayfalarında ilgili contentplaceholderı bularak keywordsleri <%=item.etiketadi%>, şeklinde (virgül koymayı unutmadan) her sayfa için dinamik olarak oluşturabilirsin. ascx kullanmanada gerek kalmaz. etiketleri makale id ye göre çekebileceğin bir stored procedurun olursa zaten veri çekmek için adres satırında id bilgisini alıyorsun. aynı id ile request query string kullanarak hangi makalede hangi etiketleri keywordslere aktarman gerektiğini bulabilirsin.
Bu arada yoğunluktan ötürü tam olarak mantıklı cümleler kuramıyorum. aceleyle yazılmış devrik ve eksik cümlelerden ötürü kusura bakmayın. bu şekilde bi ilerleme kaydedemezseniz daha tane tane yazmaya gayret ederim.
masterpage contentplace holder ekledim. makaleler sayfasında bu master page contentplace holder içinden metatagını nasıl kullanacağız. google da araştırıyoruz bir türlü bulamadık ne yapmamız gerekiyor
<% foreach (var item in ProjeAdi.Code.Makaleler.EtiketListele(Request.QueryString["ID"]))
{%>
<meta name="keywords" content="<%=item.Etiket%>" />
<%} %>
hocam harikasınız konuyu tam bilmediğimiz için kafamızda tam oturtamadık. masterpage contentplace holder head kısmındaki yer default kısmında da en üstte yer alıyor burada bu komutları yazabilirmiyiz acaba yada şu placeholder mantığını kavramak için okuyabileceğimiz bir makale olsa ne iyi olur. tabi bu arada kodları bu place holder içine nasıl gömüyoruz onu da anlamadık doğrusu
birinci resim masterpage
ikinci resim content page ekran görüntüleri
bunların haricinde yapman gereken daha önce bir konuda sana göndermiştim uzunca bir yazı. oradakine benzer şekilde makaleetiketlerini çeken bir class oluşturman ve collection olarak foreach a eklemen.. farklı yöntemlerle de olur bu aslında sadece bir farklı bakış açısı
şöyle de bir anlatım var mesela daha basitçe
namespace:
using System.Web.UI.HtmlControls;
kod:
Header.Controls.Add(meta);
burada da
string anahtarKelimeler = ""; kısmına veritabanından çektiğin etiketleri eklemen yeterli olacak..
kaynak:
hocam yukarıdaki kodları kullandığımızda çalışıp çalışmadığını nasıl kontrol edebiliriz.
page title kısmına "deneme test 1-2" yazabilirsin. sayfa başlığında görürsen doğrudur.
page.title kısmı çalışıyor. ancak keywords ve description kısmının olup olmadığını test etmek için kaynağı görüntüle dediğimde etiketler çıkmadı. masterpage kullandığımız için mi çıkmadı acaba
hala çalışıp çalışmadığını kontrol edemedik. keywords ve description değişmiyor
masterpage içinde verdiğimiz metatagları tanıdı. google. diğer sayfalar için hazırladığımız meta tagları görmüyor ne yapabiliriz
Diğer sayfalardan masterpage e erişip ezmen gerekebilir. Bunu hersayfada yapman gerekiyorsa abstract method yapman gerekebilir. nette araştırısan bir sürü örnek bulabilirsin.