我正在尝试在我的网站的代码后面创建元标记,该网站有一个博客部分。所以每个博客都有自己的标题,形象。因此在代码背后创建。只是想确定这是否正确,Facebook / Google +会识别它。
private void AddMetaTagsForPage(object tempObject)
{
string[] metaTags = {"og:title", "og:site_name", "og:type", "og:url", "og:image"};
foreach(string str in metaTags)
{
HtmlMeta tag = new HtmlMeta();
switch(str)
{
case "og:title":
tag.Name = str;
tag.Content = tempObject.ChallengeTitle;
Page.Header.Controls.Add(tag);
break;
case "og:site_name":
tag.Name = str;
tag.Content = "http://www.mysite.com";
Page.Header.Controls.Add(tag);
break;
case "og:type":
tag.Name = str;
tag.Content = "blog";
Page.Header.Controls.Add(tag);
break;
case "og:url":
tag.Name = str;
tag.Content = HttpContext.Current.Request.Url.AbsoluteUri;
Page.Header.Controls.Add(tag);
break;
case "og:image":
tag.Name = str;
tag.Content = String.Format("http://static.mountainwarehouse.com" + tempObject.ChallengeImageURL);
Page.Header.Controls.Add(tag);
break;
}
}
}
<meta content="No appointment necessary. We hear you coming." name="og:title">
<meta content="http://www.mysite.com" name="og:site_name">
<meta content="blog" name="og:type">
<meta content="http://dev.mysite.com/entries/viewentry.aspx?entryId=34"
name="og:url">
<meta content="http://static.mysite.com/Images/2a7803a2-e8f1-424c-9f53-3ddc1fe33c3e.jpg" name="og:image">
在Facebook和谷歌+它说你必须有这种格式的元标记。
<meta content="No appointment necessary. We hear you coming." property="og:title">
而不是属性关键字我有名字。我不知道如何在asp.net中创建它。它对Facebook有效吗?
请帮助
答案 0 :(得分:6)
后面代码中的所有元标记都缺少您设置属性属性的部分。像
这样的东西HtmlMeta tag = new HtmlMeta();
tag.Attributes.Add("property", "og:title");
tag.Content = "Title";
Page.Header.Controls.Add(tag);
请参阅以下主题, How to send the og:Title og:Image og:Description og:url info from C# to Facebook
答案 1 :(得分:1)
对于Google+,schema.org微数据优先于Open Graph标记。您可以使用schema.org微数据修饰任何HTML标记,并可以使用Google+ snippet tool生成示例内容。在您的情况下,您可以将itemcope添加到HTML标记中,例如:
<html itemscope itemtype="http://schema.org/Article">
<head>
<meta itemprop="name" content="Blog title">
<meta itemprop="description" content="A blog post description">
<meta itemprop="image" content="http://example.com/test.jpg">
</head>
<body>
...
在您的情况下,您需要做的就是改善Google+的结果,将itemprop标记添加到您的代码中,例如:
case "og:site_name":
tag.Name = str;
tag.Attributes.Add("itemprop", "name");
tag.Content = "http://www.mysite.com";
Page.Header.Controls.Add(tag);
break;