65.9K
CodeProject 正在变化。 阅读更多。
Home

DotNetNuke 搜索引擎优化

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.43/5 (3投票s)

2007年3月18日

5分钟阅读

viewsIcon

57151

DotNetNuke 搜索引擎优化的入门指南

引言

像 DotNetNuke 这样的内容管理系统以难以针对搜索引擎的关键字和短语进行优化而闻名。本文将展示,只要稍加思考,就有可能在 DotNetNuke 网站上实施搜索引擎优化。内容管理系统中有三件事通常被认为是难以实现的:

  1. 生成搜索引擎友好的 URL
  2. 为内容应用正确的 HTML 标签,以及
  3. 创建指向同一网站的内部链接

使用代码

本文将使用一些 CSS 来演示如何进行搜索引擎优化,同时保留您网站的现有外观和感觉。此 CSS 可以插入到您的皮肤 CSS 文件中,该文件通常位于 /Portals/_default/YourSkinName/skin.css

生成搜索引擎友好的 URL

搜索引擎优化的 URL 应包含页面最重要的关键字。例如,关于“红色小部件”的页面需要在 URL 中包含“红色小部件”一词,例如:/red-widgets.aspx。这通常是关于内容管理系统是否真正对搜索引擎友好的争论中的第一个论点。DotNetNuke 也不例外,默认情况下生成的 URL 会是这样的:www.mywebsite.com/Default.aspx?tabid=137 这不是一个搜索引擎友好的 URL,甚至也不是一个用户友好的 URL。DotNetNuke 确实有一个友好的 URL 功能,所以我们打开它看看会发生什么:www.mywebsite.com/tabid/137/Default.aspx 这仍然不是一个搜索引擎友好的 URL。所以我们需要进一步研究。DotNetNuke 框架本身不提供生成我们所需的 URL 的内置方法,因此我们需要查看第三方模块。我们将要查看的模块是 Inventua.com 的 HrefExchanger。有了这个模块,我们就可以在 web.config 中添加一个设置,指定如何以搜索引擎友好的格式重写 URL。
<hrefExchanger extension=".aspx" w3c-output="transitional" 
            check-language= "false" replace-spaces-with="-" />

这里的关键设置是使用 replace-spaces-with="-". 搜索引擎友好的 URL 需要单词之间有一个分隔符,以便搜索引擎能够分辨一个单词从哪里开始,在哪里结束。搜索引擎无法将 redwidgets.aspx 识别为两个单词,但它可以识别 red-widgets 为两个单词。这是一个非常重要的区别!因此,通过使用 hrefexchanger 模块,我们可以生成 URL:www.mywebsite.com/red-widgets.aspx 我们证明了我们的第一点——在 DotNetNuke 中实现搜索引擎友好的 URL 是可能的。这个 URL 对用户也非常友好。

为内容应用正确的 HTML 标签

反对内容管理系统的下一个论点是难以应用正确的 HTML 标签。什么是正确的 HTML 标签?它们是 H1、H2 和 H3。这些标签告诉搜索引擎页面上什么真正重要——没有它们,搜索引擎可能会认为页面上没有什么重要的!为什么应用它们如此困难?通常这只是一个风格问题,H1 是大字体,与您的皮肤的外观和感觉不符。H1 文本的大小常常阻止 DotNetNuke 网站在其页面上使用它,而是许多人更喜欢使用 CSS 样式“Head”。然而,有一个简单的解决方案,可以让你使用 H1 并获得搜索引擎优化的好处,同时还能拥有与页面其余部分相匹配的文本样式。首先找到您的 skin.css 文件,它通常在目录 /Portals/_default/YourSkinName 中。在 skin.css 中,复制 .Head 样式,然后创建一个新的 h1 CSS 类。将 .Head 类的详细信息粘贴到 h1 的详细信息中,这样您的 CSS 现在看起来会是这样
.Head { font-family: Tahoma, Arial, Helvetica; 
    font-size:  18px; font-weight: normal; color: #333333; }
h1 { font-family: Tahoma, Arial, Helvetica; 
    font-size:  18px; font-weight: normal; color: #333333; }

现在我们可以在页面上使用 h1 标签了。只需选择页面的主模块并编辑其标题,在标题前后添加 h1 标签。每页只选择一个模块使用 h1 标签。您可以选择性地将 h2 标签添加到其他模块的标题中——如果它们与您的关键字相关。将 h3 标签添加到内容中的子标题,同样,只有在它们与您的关键字相关时才添加。问题解决了,第二点也得到了证明——我们可以使用搜索引擎要求的正确 HTML 标签:H1、H2 和 H3。

创建指向同一网站的内部链接。

如果我们链接到我们自己的页面,特别是使用带有 #anchor 的 URL 链接到页面中间,搜索引擎会认为我们的页面更相关。链接到:www.mywebsite.com/red-widgets.aspx#red-widgets 在搜索“红色小部件”时肯定会相关。问题在于,许多内容管理系统(包括 DotNetNuke)没有方便的工具来创建命名锚点。但是,DotNetNuke 的文本编辑器确实有一个 HTML 视图,通过在编辑内容时切换到它,我们可以轻松地在内容中添加命名锚点。

<a name="red-widgets">Red Widgets</a>

一旦创建了这个命名锚点,我们就可以从另一个页面链接到它,我们在搜索“红色小部件”这个词上的相关性就会提高。第三点也得到了证明——我们可以使用命名锚点创建指向我们自己页面的内部链接。

结论

我们已经看到,尽管存在关于使用内容管理系统(如 DotNetNuke)来构建需要在搜索引擎中获得高排名的网站的反对意见,但这些反对意见是可以被反驳的。本文演示的技术性搜索引擎优化技术只是搜索引擎优化的一小部分,但我们已经证明,您可以在极少的编码或困难的情况下开始上手。

关注点

本文投稿源于我写的一篇短篇博客文章,我希望对其进行扩展并充分解释其中的思想和技术。最初的博客文章 “DotNetNuke 搜索引擎优化” 可以在我的网站 www.bestwebsites.co.nz 上看到。

历史

  • 2007 年 3 月 26 日:该系列下一篇文章,“DotNetNuke 搜索引擎优化第二部分”已发布。
  • 2007 年 3 月 31 日:“DotNetNuke Newsletter Vol. III, Number 3”提及了本文。
© . All rights reserved.