代码改变世界

IIS搜索引擎优化工具包

2009-06-07 13:08  午夜瞎想  阅读(880)  评论(1编辑  收藏  举报

【原文地址】IIS Search Engine Optimization Toolkit
【原文发表日期】 Wednesday, June 03, 2009 9:53 AM

SEO (搜索引擎优化) 是任何Internet网站需要在设计时考虑的重要因素之一。网站比率不低的Internet流量是由搜索引擎带来的,好的SEO技术能帮助进一步增加网站流量。

同样地,小的错误可以显著地影响你网站内容的搜索相关性,导致你错过你应该得到的流量。其中一些错误包括:网站上多个URL通向同个内容,网页上的无效链接(broken links),标题、描述和关键词选择得不恰当,大量的视图,不合法的标识,等等。这些错误经常是非常容易修补的,其挑战性在于如何在网站上发现和精确定位这些错误。

推出IIS搜索引擎优化工具包

今天我们发布了一个新的免费工具,IIS搜索引擎优化工具包(IIS Search Engine Optimization Toolkit)的第一个beta,它将方便你对网站进行SEO分析,识别和修补网站上的问题。

你可以使用我本星期稍早介绍过的微软Web平台安装程序(WebPI)来安装IIS搜索引擎优化工具包。你可以使用IIS SEO 工具包主页上的“install now(现在就安装)”链接,通过WebPI来安装这个工具包。

安装完毕后,你在IIS 7管理工具中可以找到一个新的“Search Engine Optimization(搜索引擎优化)”节,内含若干个SEO工具:

Robots 和 SiteMap 工具允许你轻松地为你的网站创建和管理robots.txt 和 sitemap.xml文件,这些文件帮助引导搜索引擎该抓取和跟随哪些URL,以及不该抓取和跟随哪些URL。

Site Analysis tool(网站分析工具)允许你象搜索引擎一样抓取一个网站,然后使用各种规则对内容进行分析,这些规则能帮助识别内容中的SEO,可访问性(Accessibility)和性能问题。

使用IIS搜索引擎优化工具包的网站分析工具

让我们来看一下如何使用网站分析工具,来快速地检讨网站上的SEO问题。为避免造成他人的难堪(如果将工具用到他们网站的话),我决定将该分析工具应用于我自己的一个网站: www.scottgu.com。这是个我许多年前编写的网站,我想最新一次更新还是在2005年。如果你安装了IIS SEO工具包的话,你可以将它指向我的网站,复制下面的步骤,对它进行深入的SEO分析。

打开网站分析工具

我们首先启动IIS管理工具(inetmgr),点击该工具左栏中树形视图中的根节点(在这个情形下是机器名称: Scottgu-PC )。然后我们在右边选择搜索引擎优化节中的“Site Analysis(网站分析)”图标。象这样在机器层次打开网站分析工具将允许我们对任何远程服务器运行分析工具(假如我们选择了一个网站再打开这个工具的话,那么我们只能对机器上的本地网站进行分析)。

打开网站分析工具,显示下列屏幕,它会列出预先保存的早先创建的网站分析报告。因为这是第一次打开,所以目前是空白的。我们将在管理工具的右手边点击“New Analysis(新的分析)…”,创建一个新的分析报告:

点击“新的分析…”链接会调出象下面这样的对话框,允许我们给报告命名,配置我们要抓取的网站,以及要查看的深度。

我们将把新的报告命名为“scottgu.com”,配置从http://www.scottgu.com URL开始,在站内抓取达10,000个网页(注:如果你没在对话框里看到“起始URL”文本框的话,那是因为你没在管理工具的左栏里选择根机器节点,而是在网站层次打开这个工具的,点击取消,选择根机器节点,然后点击“网站分析”链接)。

在上面的对话框中点击“OK"按钮后,网站分析工具会开始请求http://www.scottgu.com URL,查看返回的HTML内容,然后就象搜索引擎一样抓取网站。我的网站有407个不同的URL,IIS SEO 工具包只花了13秒钟就抓取了所有这些链接,并对下载的内容进行了分析。

完毕之后,它会打开一个总结报告视图,详细列出它发现的东西。在下面你会看到它在我的网站上发现了721个各种规则违反(哎!):

我们可以点击这个总结视图中的任何一项,查看相关细节。在下面,我们将仔细看一下其中几个:

看一下“缺少描述”之违规

你会注意到上面我有137处“缺少描述”规则违反。让我们双击该规则来了解一下,看看每个违规的细节。双击上面有关描述的规则会打开一个新的查询页,自动提供了只跟该描述规则有关的过滤过了的视图(注:如果你想的话,你可以定制该查询,还可以将其输出到Excel,如果你想做更丰富的数据分析的话):

双击上面列表中的任何一条,会打开相关的细节对话框。 每个违规都详述了问题所在,以及如何修补该问题的建议操作:

注意上面,我忘了在我的相片网页(还有别的网页)上加 “<meta>” description 元素,因为我的相片网页目前只显示图片,搜索引擎无法知道上面都是些什么内容。25到150个字符长的描述应该可以解释这个URL是我的相册,来提供更具体的上下文。

“Word Analysis(词汇分析)”页在想该用什么描述文字时会非常有用,这个页会显示该网页的细节(它的标题,关键词等等),显示了网页的HTML中使用了的所有词汇的列表,以及每个词汇重复的次数。它还允许你查看网页上重复多次的所有由2个或3个单词组成的词组,它还列出了其他网页链接到该页时所用的<a>链接的文字,所有这些在想出该用的描述文字时都是非常有用的。

看一下“URL用了不同大小写来链接”之违规

现在我们来看一下这个规则违反:“URL用了不同大小写来链接”。回到总结视图,然后点击这个规则违反:

搜索引擎统计Internet上链到一个URL的网页的次数,然后把这个次数用到引擎的权重算法中,算出URL所显示的内容的相关性。这意味着,如果有 1000个网页链接到讨论某个主题的URL,搜索引擎会假定该URL上的内容的相关性要比讨论同个主题却只有10个网页链接的URL高得多。

许多人都不了解,其实搜索引擎对大小写是敏感的,会把不同大小写的URL当作不同的URL来看待。这意味着,一个指向 /Photos.aspx 的链接和一个指向 /photos.aspx 的链接经常不会被搜索引擎当作同一个URL来看待,而是2个不同的URL。这意味着,如果一半的链接指向 /Photos.aspx,另一半指向 /photos.aspx,那么搜索引擎不会给予相片网页应该得到的相关性(实际上,只会有一半的相关性,因为指向它的链接分属两个URL)。因此,找到和修补网站上所有使用了不同大小写URL的地方是非常重要的。

如果我们点击上面的“URL用了不同大小写来链接”,我们可以得到一个列出了网站上用了多个大小写的所有104例URL的列表:

点击任何一个URL会调出特定违例的相关细节,以及网站上多个大小写实例的对话框。注意下面的描述,在网站上发现的两个URL的区别仅在于不同的大小写。在这个情形下,我使用了一个名为"AlbumId"的查询字符串参数链向这个URL,在其他地方,我则用了名为"albumid"的查询字符串参数(小写的 “a”和“i”)。搜索引擎会将这些URL当作不同的URL,所以我无法最大化相关内容的网页排名:

了解网站上存在象这样的问题只是第一步,第二步一般来说比较难:尝试找出这个URL这么个用法需要经由的所有不同的路径。经常地,你会做一下修补,假定它会解决所有的问题,但没想到后来却发现还有你不知道的另一个路径也会造成同样的大小写问题。为帮助解决象这样的场景,你可以在违例对话框的右上角点击"Actions"下拉框,选择其中的"View Routes to this Page(查看通向本页的路径)"链接。

这会调出一个对话框,显示爬虫(crawler)到达特定的URL所经由的所有的步子。下面显示它发现了到达这个特定的URL的两个方式:

能够得到确切的大小写问题的细节, 以及分析到达特定大小写的URL的确切步子,可以极大地方便这类问题的解决。

看一下“网页包含多个规范格式(canonical format)”之违规

象上面那样解决大小写问题是改进网页计数的很好的第一步,但我们还想要解决同样的内容可由不同的URL(其差别不仅仅是大小写的问题)来获取的问题。要解决这个问题,让我们回到总结视图网页,调出“网页包含多个规范格式”的报告:

细节报告会列出网站上的所有可以多种“canonical(规范)”方式访问的URL:

点击其中的任何一项会调出相关问题的细节对话框。注意下面,分析工具检测到了我们把网站主页有时指称为"/",有时又指称为 "/Default.aspx"。虽然我们的web服务器会把它们解释成执行同一个网页,但搜索引擎会把它们当作两个不同的URL来看待,这意味着搜索的相关性没有应有的那么高(因为权重分给了两个URL,而不是合二为一)。

我们在上面的“Links(链接)”页上可以看到所有用到了 /Default.aspx URL的地方。下面显示了所有指向 /Default.aspx URL 的网页,以及它反过来指向的所有的URL:

我们可以通过点击上面的“Related URLs(相关URL)”下拉框,转换到查看相关的“/” URL都是在什么地方使用以及是怎么使用的等等细节, 点击“Related URLs”会列出显示同样内容的所有的其他URL,允许我们很快地调出相关的细节:

就象在处理大小写违规中那样,我们可以使用“View Routes to this Page(查看通向本页的路径)”选项,找出网站内通向这些不同URL的所有路径,用来帮助我们找出并修补这些问题,这样,我们总是使用共同一致的URL来链向这些网页。

注:解决网站内部链接的大小写(casing)和规范化(canonicalization)问题是很好的第一步,但外部网站还可能有指向我们URL的链接,那些链接是很难完全更新的。修正我们搜索的排名而不要求外部网站更新它们的链接的一个方法是,在我们的web服务器上下载和安装 IIS URL重写模块(可以使用微软Web平台安装程序下载安装的免费模块)。然后我们可以配置URL重写规则自动地做一个永久性的重新定向到正确规范化的URL,这会导致搜索引擎将它们当作同个URL来处理(阅读Carlos的《IIS7 and URL Rewrite: Make your Site SEO》博客贴子了解实现的细节)。

看一下重新定向之违规

作为最后一步,让我们来看一些网站上的重新定向方面违反规则的例子:

探究这个规则分类让我想起我几年前做过的一件事(当时我把博客转移到了另一个网站),我刚发现我的做法明显是很笨的做法。

在我最先建立网站时,我原先有一个在 www.scottgu.com/blog.aspx的博客网页。几个星期后,我决定把它移到 weblogs.asp.net/scottgu。不是把所有网页中的链接改成新的地址,我以为我可以聪明一把,只更新blog.aspx,在其中做一个服务器端的重新定向到weblogs.asp.net/scottgu URL。

这从终端用户的角度来看,自然是工作的。但直到今天运行分析工具前,我都没意识到搜索引擎是不能跟随那个链接的。其原因是,我的blog.aspx做的是个服务器端重新定向到weblogs.asp.net/scottgu URL。但为了其本身的SEO的缘故,weblogs.asp.net上的博客软件(Community Server),为了修正进来的weblogs.asp.net/scottgu URL,接着又做了第二个重新定向到http://weblogs.asp.net/scottgu/ (注意,后面加了一个斜杠)。

根据网站分析工具里的规则违反,在你连续做2个服务器重新定向时,搜索引擎就会放弃。它检测到我的blog.aspx重新定向链接到一个外部链接,这个外部链接进而又做了另一个重新定向,在这一刻,搜索引擎爬虫就放弃了:

我不用打开blog.aspx网页的服务器端代码就能确定这就是问题所在。我需要做的是在违例对话框中点击"Headers"页,看一下blog.aspx 网页传回的重新定向HTTP回复。注意,它的结尾没有斜杠(所以导致Community Server在收到请求时又做了另一个重新定向):

修补这个问题是很容易的,但我从没有意识到我实际上有问题,如果没有网站分析工具向我指出来的话。

将来的自动纠正支持

在抓取我的网站时,网站分析工具还发现了其他一堆规则违反和内容问题。发现和修补这些问题是非常直截了当的,与上面的步骤非常类似。每修补一个问题,都使得我的网站比以前更干净,更容易抓取,帮助它取得更高的搜索相关性。这进而会造成从搜索引擎到我网站的流量的增加,这是非常有成本效率的投资收益。在分析报告生成和保存后,它会出现在IIS管理工具的报告列表中。在任何时候,你都可以右击该报告,叫IIS SEO工具包重新运行一下,允许你定期地确认没有引进原先的问题。

今天发布的网站分析工具预览版本会在抓取一个网站时核实50个规则。在以后,我们会添加更多的规则,检查另外的问题和场景。在将来的预览版本中,你还将开始看到SEO分析工具将具更多智能,允许它在服务器端核实你安装了的 URL重写模块配置了一套对SEO友好的规则。网站分析工具还可以通过建议你可以直接从网站分析报告工具中加到网站的重写规则,允许你自动修补某些规则违反(例如:修正象我们前面看过的 “/” 和 “/Default.aspx” 这样的规范化问题)。这会更加方便在网站上执行好的SEO。在那之前,我推荐你阅读下面的链接,了解如何手工配置对SEO有好处的URL重写规则:

结语

IIS搜索引擎优化工具包将方便你分析和评估你网站的搜索引擎友好程度。它会指出对SEO的规则违反,提供如何修补它们的指令。你可以从下面这些链接中进一步了解该工具包的详情以及如何充分利用它:

IIS搜索引擎优化工具包是免费的,安装的时间少于1分钟,可以针对任何现有web服务器或网站进行分析。不用在远程服务器上安装任何东西就可使用,只要输入网站的URL,你就可以得到一个网站分析报告,内含你可以马上用来改进你的网站的建议。

今天的发布是个beta,所以务请使用IIS搜索引擎优化工具包论坛告知我们,如果你遇上问题或要建议功能的话。

希望本文对你有所帮助,

Scott