要想让你的网站和搜索引擎相处融洽,并让用户尽可能准确地获得所需信息,在设计页面时掌握一些与搜索引擎有关的基本技巧还是非常必要的。不论是通过商业软件建立的网站内部的搜索引擎还是一些公共的搜索引擎(比如Google),其实它们的基本规则都是一样的。本文介绍如何让你的网站更容易被搜索引擎检索到,你将学会一些基本的控制搜索结果的方法,另外还有确保网站页面能够被搜索引擎检索到并能让用户获得更准确的检索结果的技术。
用Meta标记控制搜索结果
要控制搜索引擎的结果,不论是内部搜索引擎还是外部搜索引擎,最基本的方法就是给页面写入名称属性为ROBOT 的Meta标记,其内容还应该包括INDEX 或者NO INDEX,以及FOLLOW 或者NO FOLLOW。这些简单的标记会告诉搜索引擎该如何处理这个页面。不论是内部还是外部搜索引擎,都会按照META标签的指示来处理这个页面,如下所示:
INDEX表示将该页面加入搜索引擎的搜索列表中,而NO INDEX则表示不把该页加入搜索引擎列表。这是最关键的一个参数,如果选择了NO INDEX,那么在搜索结果中就不会出现该页。比如:在一个电子商务网站,对于停产的产品页面,如果将ROBOT Meta标签设定为NO INDEX,则在网站的搜索结果中就不会搜索到这个产品的页面,而你仍然需要把这些老的产品放在目录中,这样需要该产品信息的用户可以从产品分类中查阅到相关信息,这就避免了一般用户搜索出一大堆老旧产品页面。那些较新的产品,可以设定为INDEX,以便搜索引擎可以将其显示在搜索结果中。
FOLLOW项表示搜索引擎要跟踪页面中的其它超级链接,而NO FOLLOW则告诉搜索引擎不跟踪页面里的链接。如果你的页面中有一些其它网站的链接,可以将页面设置为NO FOLLOW,这样你网站内部的搜索引擎就不会在搜索结果中列出其它网站的内容。比如在网站论坛的页面中,你就应该设置为NO FOLLOW,以免搜索引擎跟随帖子内的链接进入其它网站。而另一种情况,假如你打算建立了一个全是其它网站链接的页面,那么则应该将其设置为NO INDEX, FOLLOW,这样搜索引擎就会跟随页面中的链接进行搜索,而不会把这个页面本身列在搜索结果中。
建立索引列表提高搜索能力
建立一个具有良好搜索能力的网站最大的问题是如何让搜索索引知道哪些页面该列入搜索范围。通常,搜索引擎会首先定位在网站的首页,然后根据网页中的链接遍历整个网站的页面。这对于那些使用A HREF标签作为链接标志的网站来说确实有效,但是如今很多网站都采用了基于JavaScript的链接形式。由此引发的问题是,搜索引擎找不到页面中的链接,因此无法遍历整个网站的页面,造成搜索列表只能找到位于首页的几个标准形式的链接。
这种情况的解决方法很简单,就是在网站中建立一个页面,它包含所有你希望可以被搜索到的页面链接。如果这是一个电子商务网站,那么这个页面可能包含网站内所有产品页面的链接,如果是一个社区,那么这个页面可以包含所有讨论页面的链接。编写这样的页面也不需要什么特殊的脚本语言,完全是纯HTML页面,其中的内容基本上全部是用来表示链接的A HREF标签。它的作用只有一个,就是让搜索引擎快速找到网站内所有希望被搜索到的页面。
有时候当网站本身没有站点索引时,这个技术可以起到站点索引的效果。另外,通过服务器的文件系统或者通过IIS虚拟目录,你也可以创建一个类似的列表文件,这样的列表有可能包含站点下的所有文件。因此它可能会令搜索引擎搜索到站点下一些很久以前的孤立页面或文件。
不论如何,这样的一个搜索索引(search crawler)启始页应该具有META ROBOT标签,并告诉搜索引擎追踪该页内的所有链接但并不将该页面列入搜索结果。上面我们提到,这样的页面应该写成NO INDEX, FOLLOW,这样搜索引擎才可以按我们希望的方式遍历整个网站。
对于一些搜索引擎,尤其是内部网站的搜索引擎,可以直接将站点索引列表指定给搜索引擎。但是更多情况下,我们无法为搜索引擎指定页面索引。在这种情况下,只需要在首页建立一个标准链接,指向这个索引页就可以了。由于我们希望的是搜索引擎可以跟随这个索引中的链接进行搜索,因此没必要为首页上的这个链接添加任何可显示的文字内容。比如将下面这样的语句添加在首页即可:
<A HREF="./searchcrawler.aspx"></A>
消除页面中的干扰
在保证搜索引擎可以检索到全部页面后,我们要做的就是精简搜索结果,让用户获得最有价值的信息。第一步就是消除页面中会分散搜索引擎注意力的项目。举个例子来说,导航菜单对于搜索引擎来说基本没有用处,因为它们会出现在每个页面中,并且包含的内容完全相同。另一方面,客户可能并不能很精确的给出所要查询内容的关键词,而是仅仅给出一个模糊的词,这个词可能出现在网站的导航菜单里,也给搜索定位带来了麻烦。
不过要解决这些问题也不是没有办法。当搜索引擎访问一个网站时,它首先会检查该网站的根域下是否有一个叫做robots.txt的纯文本文件,robot包含一个User-Agent(用户代理)字符串行,用于限定搜索引擎对其网站的访问范围,即告诉搜索引擎网站中哪些文件是允许它进行检索的。因此当搜索引擎发来请求时,则可以屏蔽掉页面中的菜单以及广告等与网页内容无关的信息。
通过这种机制,搜索引擎搜索到的内容都是与用户的需求紧密联系的,不会检索到与核心内容无关的信息,也不会将导航菜单中的关键字也列出在搜索结果中。
为页面添加正确标题
要优化搜索引擎的性能,还需要注意为页面添加正确的标题。大部分搜索引擎会在搜索结果中列出页面标题。同样,在META标签中使用KEYWORDS参数也可以在搜索结果中提高相应关键字的排名。