如何编辑DotNetNuke CMS中的标签?
它会生成大量元标记,并且每个元标记都有一个ID元素,而不在w3c建议中。我看过SEO优化文章,它说除了关键字和名称之外没有任何其他元标记 - 这是真的吗?
查看源代码时的元标记:
<meta id="MetaKeywords" name="KEYWORDS" content="naruto, fan, forums, DotNetNuke,DNN" />
<meta id="MetaCopyright" name="COPYRIGHT" content="Copyright naruto"/>
<meta id="MetaGenerator" name="GENERATOR" content="DotNetNuke " />
<meta id="MetaAuthor" name="AUTHOR" content="naruto" />
<meta name="RESOURCE-TYPE" content="DOCUMENT" />
<meta name="DISTRIBUTION" content="GLOBAL" />
<meta name="REVISIT-AFTER" content="1 DAYS" />
答案 0 :(得分:4)
不幸的是,没有一种简单/受支持的方式来删除DNN中的大多数meta
标记。您需要在某种程度上更改核心代码和/或假设某些ID将保持不变。例如,您可以通过将code like this放在皮肤中来删除/替换机器人元标记:
private void Page_PreRender(object sender, EventArgs e) {
var metaRobots = Page.FindControl("MetaRobots") as HtmlMeta;
if (metaRobots != null) {
metaRobots.Visible = false;
}
}
答案 1 :(得分:2)
您可以使用任何文本编辑器从Default.aspx中删除它们,但是这可能会很麻烦,因为您可能会在下次更新时重写它,所以我建议您将这个简单的C#片段附加到您的皮肤底部。 ascx文件
<script runat="server">
protected override void OnLoad(EventArgs e)
{
var metatagsToKeep = new[] { "Content-Type", "Content-Script-Type", "Content-Style-Type", "Refresh", "DESCRIPTION", "KEYWORDS", "COPYRIGHT", "GENERATOR", "AUTHOR", "RESOURCE-TYPE", "DISTRIBUTION", "ROBOTS", "REVISIT-AFTER", "RATING", "PAGE-ENTER" };
var metaTags = (from headerControl in this.Page.Header.Controls.OfType<HtmlControl>() let cont = headerControl where !metatagsToKeep.Contains(cont.Attributes["name"]) && !metatagsToKeep.Contains(cont.Attributes["http-equiv"]) select headerControl).Cast<Control>().ToList();
foreach (var metaTag in metaTags)
{
this.Page.Header.Controls.Remove(metaTag);
}
}
</script>
在controlsToKeep数组中,只需删除要删除的数组,即可完成。如果DNN添加了一些你想要的新东西(不太可能),你必须将它们添加到列表中。或者你可以反转逻辑并为metatagsToDelete创建数组,你的调用:)。
答案 2 :(得分:0)
我不知道问题的第一部分专门适用于dotnetnuke CMS
的答案,但我确实有一些意见可以帮助您解决有关SEO
的问题。
一般来说,元标记在搜索引擎优化中不会对您造成伤害。谷歌没有在其排名算法中使用关键字标签,如果您的关键字没有显着的页面密度,那么识别它的其他搜索引擎可能会损害您的排名。
SEO
通常被认为是排名的良好实践的集体。相反,每个搜索引擎都有自己独特的算法。要真正拥有良好的SEO
,您需要专注于您希望改善结果并相应优化的特定区域。
元标记是您网页的元数据,不一定是整个网站。其中包含的信息应有助于应用程序和服务处理该页面上的信息。此标记是一般属性,不一定被任何内容识别。对于什么是有效的元标记没有中心权限,因为它是一个通用的元素。
任何不能识别元标记的应用程序或服务都应忽略元标记。
来自W3C建议:
请注意。 META元素是用于指定元数据的通用机制。但是,某些HTML元素和属性已经处理了某些元数据,作者可能会使用它来代替META来指定这些部分:TITLE元素,ADDRESS元素,INS和DEL元素,title属性和cite属性
就元元素的正确语法而言,有一个规范。 W3C为元标记定义了name
,scheme
,content
和http-equiv
属性。 lang
和dir
属性也被定义为由父属性继承的元素的属性,但可以在元素级别覆盖。
未为元素指定id
属性,导致验证失败。
答案 3 :(得分:0)
在DotNetNuke中,关键字和描述标签来自两个地方。 1.)在管理员 - &gt; “站点详细信息”部分中的“站点设置”,您将看到“关键字和描述”的条目,这些条目用于填充所有页面的相应元标记。我们建议您将这两个字段留空,因为您不想要多个页面的冗余条目。 2.)页面设置:对于每个页面,您可以通过页面设置指定关键字和描述。主要搜索引擎会忽略关键字,因此我们建议将其留空。然而,描述通常会显示在搜索结果页面上,因此非常重要。
至于生成的其他元标记,我还没有听说它们有很大影响。我建议让他们成为。