Lägga till meta data i master page
Så här kan man göra för att dynamiskt lägga in metataggar i masterpages. Då får man en centraliserad plats för att t ex läsa in nyckelorden från en databas.
//Lägg till nyckeord
string strKeywords = "nyckelord1, nyckelord2";
HtmlMeta metaKeywords = new HtmlMeta();
metaKeywords.Name="keywords";
metaKeywords.Content=strKeywords;
Page.Header.Controls.Add(metaKeywords);
//Lägg till beskrivning
string strDescription = "En beskrivning till din webbplats";
HtmlMeta metaDescription = new HtmlMeta();
metaDescription.Name="description";
metaDescription.Content=strDescription;
Page.Header.Controls.Add(metaDescription);
//Skriv ut datum
HtmlMeta metaDate = new HtmlMeta();
metaDate.Name="date";
metaDate.Content=DateTime.Now.ToString("yyyy-MM-dd");
metaDate.Scheme = "YYYY-MM-DD";
Page.Header.Controls.Add(metaDate);
//Exempel för vertifikation för Google tjänster
//Skriv ut google verifikation
HtmlMeta metaVerify = new HtmlMeta();
metaVerify.Name="verify-v1";
metaVerify.Content="JhpBMxYdMJ8ywzA+n5+CCKm+i9SwRUK+hyoxL7tR1Ho=";
Page.Header.Controls.Add(metaVerify);
//Lägg till meta data för hur robotar ska uppföra sig, ändra till "noindex,nofollow" på de som inte ska scannas
string strRobots = "index,follow";
HtmlMeta metaRobots = new HtmlMeta();
metaRobots.Name="robots";
metaRobots.Content=strRobots;
Page.Header.Controls.Add(metaRobots);
string strKeywords = "nyckelord1, nyckelord2";
HtmlMeta metaKeywords = new HtmlMeta();
metaKeywords.Name="keywords";
metaKeywords.Content=strKeywords;
Page.Header.Controls.Add(metaKeywords);
//Lägg till beskrivning
string strDescription = "En beskrivning till din webbplats";
HtmlMeta metaDescription = new HtmlMeta();
metaDescription.Name="description";
metaDescription.Content=strDescription;
Page.Header.Controls.Add(metaDescription);
//Skriv ut datum
HtmlMeta metaDate = new HtmlMeta();
metaDate.Name="date";
metaDate.Content=DateTime.Now.ToString("yyyy-MM-dd");
metaDate.Scheme = "YYYY-MM-DD";
Page.Header.Controls.Add(metaDate);
//Exempel för vertifikation för Google tjänster
//Skriv ut google verifikation
HtmlMeta metaVerify = new HtmlMeta();
metaVerify.Name="verify-v1";
metaVerify.Content="JhpBMxYdMJ8ywzA+n5+CCKm+i9SwRUK+hyoxL7tR1Ho=";
Page.Header.Controls.Add(metaVerify);
//Lägg till meta data för hur robotar ska uppföra sig, ändra till "noindex,nofollow" på de som inte ska scannas
string strRobots = "index,follow";
HtmlMeta metaRobots = new HtmlMeta();
metaRobots.Name="robots";
metaRobots.Content=strRobots;
Page.Header.Controls.Add(metaRobots);
Uppdatering:
I exemplet ovan är själva datan hårdkodad. Tanken var att läsa värdena från en databas tabell. Ett annat sätt är att definiera dessa värden i web.sitemap filen. Här nedan är ett exempel för hur man kan läsa värdena.
Ett stort tack till Henrik Feldt på MGT Kompetens AB för bidraget med följande kodstycke.
SiteMapNode node = SiteMap.CurrentNode;
if (node != null)
{
System.Web.UI.Page page = sender as Page;
if (page != null)
{
HtmlMeta metatag;
if (!page.Header.ToString().Contains("name=\"description\""))
{
if (!String.IsNullOrEmpty(node.Description))
{
metatag = new HtmlMeta();
metatag.Name = "description";
metatag.Content = SiteMap.CurrentNode.Description;
page.Header.Controls.Add(metatag);
}
}
if (!page.Header.ToString().Contains("name=\"keywords\""))
{
string keywords = node["keywords"];
if (!String.IsNullOrEmpty(keywords))
{
metatag = new HtmlMeta();
metatag.Name = "keywords";
metatag.Content = keywords;
page.Header.Controls.Add(metatag);
}
}
}
}
if (node != null)
{
System.Web.UI.Page page = sender as Page;
if (page != null)
{
HtmlMeta metatag;
if (!page.Header.ToString().Contains("name=\"description\""))
{
if (!String.IsNullOrEmpty(node.Description))
{
metatag = new HtmlMeta();
metatag.Name = "description";
metatag.Content = SiteMap.CurrentNode.Description;
page.Header.Controls.Add(metatag);
}
}
if (!page.Header.ToString().Contains("name=\"keywords\""))
{
string keywords = node["keywords"];
if (!String.IsNullOrEmpty(keywords))
{
metatag = new HtmlMeta();
metatag.Name = "keywords";
metatag.Content = keywords;
page.Header.Controls.Add(metatag);
}
}
}
}
Comments
henrik Wrote:
30:e Juli 2006
Jesper Wrote:
1:e Augusti 2006
Jesper Wrote:
1:e Augusti 2006
Tags