终极ASP.NET、VisualStudio2010和IIS7实现的搜索引擎优化

优采云 发布时间: 2021-07-21 05:26

  终极ASP.NET、VisualStudio2010和IIS7实现的搜索引擎优化

  本文最终的 ASP.NET 内容是通过 ASP.NET 4.0、Visual Studio 2010 和 IIS7 实现的,由 Scott Allen 进行搜索引擎优化

  下载示例代码

  任何拥有网站 公众号的人都知道,搜索引擎在吸引网站 访问者方面发挥着重要作用。对于搜索引擎来说,发现并在其查询结果中排名靠前很重要。更高的排名可以吸引更多的访问者,从而带来更多的付费客户和更高的广告收入。搜索引擎优化 (SEO) 是一种网站 优化实践,旨在在搜索结果中获得更高的排名。在本文中,我们将讨论在使用最新的 Microsoft Web 技术时可以应用的 SEO 实践。

  SEO 基础

  当搜索引擎计算网站相对排名时,有很多因素在起作用,其中一些更重要的因素并不是由你直接控制的。例如,我们知道搜索引擎会查看您的网站 传入链接。传入链接是指向您的域的外部域上的超链接。当搜索引擎发现很多传入链接指向某个网站时,它会认为网站有有趣或重要的内容并相应地进行排名。 SEO 社区使用“链接汁”和“友情链接”等技术术语来描述这种现象。 网站的“链接汁”越多,在搜索结果中的排名就越高。

  如果你的网站很有吸引力,其他网站自然会开始链接到你的网站。 Visual Studio 没有提供“让网站更具吸引力”的功能,所以你最终只能靠自己的努力添加值得链接到网站的内容。

  准备好高质量的内容后,您需要确保搜索引擎可以找到并处理它。我们不了解 Google 和 Google 等搜索引擎使用的确切算法。但是大多数搜索引擎都发布了设计和内容指南,您可以遵循这些指南来提高排名。互联网社区也采集了大量通过反复试验获得的知识。

  

  关键是:从搜索引擎的角度思考问题。搜索引擎不会执行脚本,也不会识别网站 图像中的形状。他们系统地跟踪链接以对找到的 HTML 内容进行分析、索引和排名。从搜索引擎的角度考虑问题,你会专注于HTML。

  快速有效的 HTML

  Visual Studio 在桌面和 Web 上的 WYSIWYG 开发历史悠久。使用 Web 窗体设计器,您可以在设计图面上拖放服务器控件,并在“属性”窗口中为控件设置值。您甚至无需查看 HTML 即可快速创建网页。但是,如果您专注于 HTML,则需要在“源代码视图”窗口中工作。令人高兴的是,在 Visual Studio 2010 中,您可以在源代码视图中工作,而不会影响速度和准确性。

  Visual Studio 2010 将提供大量的 HTML IntelliSense 代码片段,使用这些代码片段,在创建常见的 HTML 标记和服务器端控件时,可以最大限度地减少击键次数。例如,在.aspx文件的源代码视图中,输入img,然后按Tab键,生成如图1所示的标记,只需要四次击键就可以达到需要输入20多个字符的效果!

  请注意图 1 中的编辑器如何突出显示 src 和 alt 值。使用代码片段时,您可以使用 Tab 键在突出显示的区域之间切换并开始键入以覆盖值。此功能还可以通过导航到适当的插入点来提高效率并减少手动删除现有值所需的工作量。

  在 Visual Studio 2010 中,ASP.NET Web 窗体和 ASP.NET MVC 项目都提供 HTML 代码片段,可用于创建从 ActionLink 到 XHTML DOCTYPE 声明的任何内容。这些代码片段可以扩展和自定义,它们基于 Visual Studio 2005 以来提供的代码片段引擎。有关代码片段的更多详细信息,请参阅 Lorenzo Minore 的 MSDN 文章 (/en-us/magazine/cc188694.aspx)。

  

  图 2 验证设置

  验证

  如果您希望搜索引擎为您的网站编制索引,创建有效的 HTML 至关重要。 Web 浏览器并不严格,并且会尽最大努力以不正确的 HTML 格式显示页面。但是,如果搜索引擎发现无效的 HTML,就会跳过重要内容或放弃整个页面。

  因为有不同版本的 HTML 规范,应用程序实现的每个页面都应该收录 DOCTYPE 元素。 DOCTYPE 元素指定页面使用的 HTML 版本。 Web 浏览器、搜索引擎和其他工具将检查 DOCTYPE 以确定如何解释标记。创建新的 Web 窗体页和母版页时,Visual Studio 会将 DOCTYPE 放置在适当的位置。默认的 DOCTPYE(如下面的代码片段所示)指定页面符合 XHTML 1.0 规范:

  虽然你不需要知道 HTML 规范之间的细微差别,但你必须知道一个页面是否符合特定的 DOCTYPE。 Visual Studio 从 2005 版本开始提供 HTML 验证。默认情况下启用验证功能。您可以通过导航到“工具”|“选项”|“文本编辑器”|“HTML”|“验证设置”来控制验证设置和验证目标类型(如图2所示)。

  “作为警告”设置意味着 HTML 验证问题不会导致生成停止,但会在 Visual Studio 的“错误”窗口中显示为警告。在 Web 窗体的源代码视图中,文本编辑器使用波浪线来提醒您 HTML 验证错误。您可以将鼠标悬停在该元素上以查看确切的错误消息,如图 3 所示。

  

  描述性 HTML

  图 3 中的 img 标签很好地说明了为什么您需要像搜索引擎一样思考。如前所述,搜索引擎不会查看或解释图像中的形状和文字,但我们可以使用 alt 属性为搜索引擎提供有关图形内容的一些附加信息。如果图片是公司标志,替代文字可以是“公司标志”,但最好在标志的替代文字中收录公司名称。搜索引擎使用替代文字作为了解页面主题和实际内容的另一条线索。

  搜索引擎一直在寻找这样的线索。对于搜索引擎来说,有些线索比其他线索更重要。例如,我们通常使用页眉标签(如 h1 标签)来突出页面上的某些内容。一般来说,搜索引擎对h1标签中的关键字比普通段落中的关键字给予更多的权重。您应该确保 h1 内容是描述性的,并使用与页面主题相关的关键字。 SEO 工作的最佳做​​法是始终在每个页面上至少收录一个 H1 标签。

  回顾我为这篇文章选择的标题,你会发现它们收录诸如“有效的 HTML”和“SEO基础”等词。这些是一些描述性的词,可以为读者和搜索引擎提供文章内容信息。

  描述性标题和元数据

  另一个需要描述性关键字的区域是 head 标签内。相关代码下载页面头部如下:

  

Programming meta tags in ASP.NET 4.0

  页面标题标签中的词权重较高,需要选择合适的标题。 head 标签也可以收录元标签。对于 SEO 工作,您可以使用两个元标记 - 一个用于设置页面的关联关键字,一个用于设置页面的描述。访问者一般看不到这些元信息,但有些搜索引擎会在搜索结果中显示页面的元描述。通过向搜索引擎提供与页面相关联的重要词,元关键字还可以促进页面的实际内容。

  如果您经常生成动态内容或更改标题和元数据,请不要在 .aspx 文件中对这些内容进行硬编码。幸运的是,在ASP.NET4.0中使用Web Form可以通过code-behind轻松操作标题、关键字和页面描述:

  protected void Page_Load(object sender, EventArgs e)

{

if (!IsPostBack)

{

Page.Title = "Programming meta tags in ASP.NET 4.0";

Page.MetaKeywords = "ASP.NET 4.0, meta, SEO, keywords";

Page.MetaDescription =

"How to use Page.Keywords and Page.Description in ASP.NET";

}

}

  SEO 考虑事项

  有些网站会在其页面中添加不相关的关键字、过多的关键字或重复的关键字,以试图欺骗互联网搜索引擎。这种方法(称为“关键字填充”)是为了针对特定搜索条件获得较高的搜索引擎排名,并且不会向真实访问者提供有用的内容。不幸的是,登录此类网站的访问者难免会失望,因为他们找不到任何真正的内容,但将网站的广告收入加起来,这样的访问仍然算作一次点击。

  搜索引擎将尽最大努力检测关键字填充等欺骗行为,以确保其搜索结果的质量。因此,不要在太多位置使用太多关键字,以免搜索引擎不小心将您的网站归入误导性类别。搜索引擎会相应地惩罚他们,从降低页面在搜索结果中的相对重要性到从搜索索引中彻底删除网站内容。

  要避免的另一种做法是向搜索引擎爬虫提供与普通访问者不同的内容。一些站点通过探测传入请求的用户代理标头或 IP 地址来做到这一点。尽管您可能会想到此类行为的一些有用功能,但仍有太多站点使用此方法来向搜索引擎隐藏众所周知的恶意软件和假冒内容。如果搜索引擎检测到这种类型的行为(称为“屏蔽”),他们就会惩罚他们。请诚实地提供优质内容,不要试图欺骗或操纵搜索引擎结果。

  您可以了解如何在 Page_Load 事件中使用页面的 Title、MetaKeywords 和 MetaDescription 属性。从2.0 版本开始,ASP.NET 提供了 Title 属性,但 MetaKeywords 和 MetaDescription 是 ASP.NET 4.0 添加的新功能。尽管我们仍然使用硬编码字符串,但您仍然可以从任何数据源加载这些属性值。然后你可以让其他人负责网站marketing 并调整元数据以获得最佳的搜索引擎结果,而无需他们编辑页面的源代码。

  虽然有效的关键字和描述可以在搜索引擎结果中发挥作用,但内容仍然是最重要的。本文稍后将介绍更多 HTML 技术,但以下部分将介绍 URL 在查找和排名内容中的重要作用。

  规范网址

  重复的内容通常会导致搜索引擎出现问题。例如,假设搜索引擎在两个不同的 URL 中找到了一个著名的炸玉米饼食谱。搜索引擎更喜欢哪个 URL 并在搜索结果中提供链接?对于传入链接,重复问题更是一个优化问题。如果炸玉米饼食谱的“好友链接”分布在两个不同的 URL 上,那么您著名的炸玉米饼食谱可能无法获得应有的搜索引擎排名。

  很遗憾,您在复制内容时可能没有意识到这一点。如果搜索引擎从带有和不带有 www 前缀的 URL 中找到您的站点,您将在两个不同的 URL 下看到相同的内容。您需要使两个网址都有效,但您只需要将一个网址设为标准网址或规范网址。

  例如,考虑网站。并为您提供相同的内容。但是,请注意,如果您使用进入主页,Microsoft 站点会将您的浏览器重定向到。 Microsoft 使用重定向强制作为其规范 URL。

  幸运的是,使用 ASP.NET 可以轻松地将访问者重定向到您的规范 URL。您需要做的就是在应用程序管道的 BeginRequest 事件期间提供一些逻辑。这可以通过实现自定义 HTTP 模块或使用 global.asax 中的 Application_BeginRequest 方法来实现。用于该函数的逻辑如图 4 所示。

  图 4 中的代码使用了 ASP.NET 4.0 中的另一个新功能——HttpResponse 对象的 RedirectPermanent 方法。 ASP.NET 中的传统重定向方法将 HTTP 状态代码 302 发送回客户端。 302 告诉客户端资源暂时移动到了新的URL,客户端这次才应该去新的URL寻找资源。 RedirectPermanent 方法向客户端发送 301 代码。 301 告诉客户端该资源已被永久移动,以后所有的请求都应该在新的 URL 上找到该资源。请注意,对 RedirectPermanent 的调用还使用了 C# 4.0-named 参数语法中的新功能。虽然方法调用不需要此语法,但命名参数语法使参数的用途更加清晰。

  使用重定向机制后,网络浏览器和搜索引擎都将只使用您的规范网址。您的“友情链接”会得到加强,搜索引擎排名也会得到提升。

  描述性网址

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线