对百度蜘蛛来说可能有问题的网站元素:留心“蜘蛛陷阱”

  
  对百度蜘蛛来说可能有问题的网站元素:留心“蜘蛛陷阱”
  从网站出现以来,Web设计人员就在网站导航上花费了相当多的心思和精力。在搜索引擎占据重要地位之前,导航就已经在帮助用户找到需要的内容上起到了重要的作用。对于搜索引擎理解网站,导航也扮演了重要的角色。
  搜索引擎友好性基础
  百度蜘蛛需要读取并理解网站的代码,才能正确地爬行和索引网页上的内容。不要把这和万维网联盟(WorldWideWebConsortium,W3C)等机构的规则混淆,W3C发布的是有关HTML结构的指南。遵循W3C的指南是个好主意,但是大部分网站并不遵循这些指南,所以只要蜘蛛能够解析这些代码,搜索引擎通常会忽视违反这些规则的行为。
  遗憾的是,正如我们在本章前面看到的,网页上还有很多种方法能够使内容和导航对人来说工作正常,但是却无法或者很难被百度蜘蛛看到那种基本HTML文本和链接对于任何百度蜘蛛都能正常工作。
  对蜘蛛来说可能有问题的网站元素
  简单的HTML对蜘蛛来说不成问题,但是网页上存在许多内容对人来说工作得很好,而对搜索引擎却非如此。下面是最常出现问题的一些地方。
  搜索和Web表单。许多网站加入了搜索功能。这些“网站搜索”元素是索引和提供对单个网站内容访问的专用搜索引擎。
  这是帮助用户快速找到复杂网站中信息的流行方法;在右上角提供了一个网站搜索框。这对于用户来说是个很棒的工具,但是搜索引擎却饱受其害。搜索引擎通过爬行Web的链接结构运作——它们不会提交表单或者在搜索字段中输入随机查询,因此任何只能通过表单访问的URL或者内容对Google或者必应都是不可见的。对于网站搜索工具来说,这不成问题,因为搜索引擎不想索引这类内容(它们不喜欢在自己的搜索结果中提供别人的搜索结果)。
  表单是提供交互能力的流行方法,最简单的应用之一是许多网站拥有的“联系我们”表单。
  遗憾的是,蜘蛛不会填写或者提交这类表单;因此,任何受到表单限制的内容对搜索引擎都不可见。对于“联系我们”表单来说,影响可能很小,但是其他类型的表单可能造成更大的问题。
  在付费专区和登录界面之后放置内容的网站需要在这些障碍后面提供内容的文本链接(这也就失去了登录的意义),或者采用“第一次点击付费”。
  Java、图片、音频和视频。AdobeShockwave文件、Java嵌入、音频和视频(任何格式)提供主流搜索引擎无法爬行的内容。除了我们后面将要提到的一些例外,搜索引擎只能读取HTML格式的文本。在图片或者Java控制台中嵌入重要的关键词或者整个段落都会使它们对于蜘蛛不可见。同样,搜索引擎也无法轻松地理解音频或者视频文件中的声音或对白,但是,Google已经开始利用GoogleVoiceSearch(Google语音搜索)等工具“爬行”音频内容并提取其含义(这在Simon&Schuster出版,StevenLevy所著的《InthePlex》一书中首次得到确认)。百度已经拥有MP3搜索功能,而Shazam和Jaikoz应用也展示了识别歌曲信息的能力。
  在显示图片或者嵌入非文本内容时,使用alt属性是向搜索引擎提供某些文本内容的好方法,这个属性原来用来作为标记的元数据和有视觉障碍的用户的可访问性标记创建。注意,alt属性不是一个强烈的信号,在图片链接上使用alt属性无法代替具有针对性锚文本的简单文本链接。好的替代方案是尽可能在HTML内容中采用标题和文本描述。
  在过去的几年里,出现了一些文字记录服务公司,为音频或者视频文件中的声音或对白提供自动化文本创建功能。在富媒体页面上提供这些文字记录使搜索引擎和关键词搜索用户能够访问你的内容。你还可以使用DragonNaturallySpeaking之类的软件,向电脑口述你的文字。
  AJAX和JavaScript。JavaScript能够为网站带来许多动态功能,其中大部分功能对百度蜘蛛的影响很小。例外情况是必须使用JavaScript调用进入另一个页面或者拉取蜘蛛在HTML中无法看到的内容,在某些情况下,这一内容对百度蜘蛛不可见。但是,Google已经确认,它将试图执行JavaScript访问这种内容。
  FacebookComments就是一个例子。FacebookComments是Facebook提供的一个系统,允许内容发布者收集来自网站用户的评论。。
  如果你检查这个特殊页面的源代码,不会在HTML中看到任何评论文本字符串。这是因为这些评论实际上保存在Facebook上,在页面显示时由Web服务器动态检索。
  这是历史上从未被搜索引擎索引的内容类型的一个例子,但是Google在2011年10月开始索引这些评论。不过,当使用这种JavaScript实现时,并不清楚Google或者必应是否能够处理它。FacebookComments是广泛使用的系统,对于搜索引擎来说,读取这些内容是有意义的。JavaScript的其他用法也许可以解析,也可能无法解析。如果你的意图是创建希望搜索引擎看到的内容,那么最安全的实现方法仍然是采用在网页HTML代码中直接可见的形式。
  异步JavaScript和XML(AsynchronousJavaScriptandXML,AJAX)也有相似的问题,最明显的是在交付搜索引擎无法爬行的内容上。因为AJAX使用数据库调用检索数据,而不用刷新屏幕或者修改URL,幕后的数据可能完全对搜索引擎隐藏(见图6-14)。
  如果在网站上使用了传统的AJAX实现,你可能应该考虑实现一个替代的爬行系统,供搜索引擎跟踪。Ajax应用程序有很好的用户友好性和吸引力,因此不可能让许多内容发布者放弃它。在这些传统实现方法的基础上,构造搜索引擎可以跟踪的链接和页面目录是更好的解决方案。
  在构建这些链接和页面的辅助结构时,要确保向用户提供对它们的访问途径。在AJAX应用程序中,为访问者提供“直接连接该页”的选项,并将该URL与通过链接结构提供给搜索蜘蛛的URL联系起来。AJAX应用程序不仅忍受无法爬行的内容,而且常常因为页面URL没有变化而接收到用户的不精确链接。
  较新版本的AJAX使用#分隔符作为AJAX应用程序的查询字符串。这确实使你能够直接链接到应用程序中的不同页面。搜索引擎通常省略掉#和后面的内容,因为这个符号常常用作HTML标签。这主要是因为Web浏览器使用#后面的内容跳到页面中的一个锚元素,这是在浏览器内部局部完成的。换句话说,浏览器并不发送整个URL,所以参数信息(也就是,#后面的文本)不会传回给服务器。
  Google在2009年提出了一种使这些AJAX页面可见于搜索引擎的方法:
  Google提出的这个解决方案包括对AJAXURL格式稍作修改,使其爬行器能够在AJAXURL可以作为静态页面处理(总是返回相同的内容)时发现它,这时Google蜘蛛将读取该页面并将其和其他静态页面一起用于索引和排名。
  框架。框架出现在20世纪90年代,是简化导航系统的流行手段。遗憾的是,它们的可用性(在99%的情况下)和搜索友好性(在99.99%情况下)都很糟糕。现在,即使网站需要类似的功能,iframe和CSS也能够代替框架。
  对于搜索引擎来说,框架和iframe的最大问题是它们往往在一个页面上包含了来自两个或者更多URL的内容。对于用户,问题是搜索引擎只会将搜索者引导到一个URL,它可能会被框架所迷惑,将访问者带到一次显示多个URL的网站中的单个页面(孤儿页面)上。
  此外,因为搜索引擎依靠链接,而框架页面通常在不改变URL的情况下为用户改变内容,外部链接常常无意识地指向错误的URL。结果是,指向包含框架或者iframe页面的链接可能指向链接者不期望指向的内容。图6-15展示了说明多个页面通过框架合并为单个URL,造成链接分散和爬行问题的一个例子。
  搜索引擎——友好导航指南
  尽管百度蜘蛛这些年来已经变得更加先进,但是基本的前提和目标保持不变:蜘蛛通过跟踪链接找到网页,并在搜索引擎索引(关于网站和页面的巨大数据库)中记录页面内容。
  除了避免采用刚刚讨论的技术以外,开发搜索引擎友好的导航还有如下指导方针。
  实现基于文本链接的导航结构
  如果选择用Flash、JavaScript或者搜索引擎可能无法解析的技术创建导航,一定要在HTML中提供替代的文本链接,让自动化的百度蜘蛛(以及可能没有必需的浏览器插件的访问者)能够达到你的页面。
  留心“蜘蛛陷阱”
  即使智能化的百度蜘蛛也可能在网站页面之间传递链接的无限循环中迷失。避免循环使用301或者302HTTP服务器代码(或者其他重定向协议)的网站应该能够解决这个问题,但是有时候在线日历链接、循环的无限分页或者以多种方式访问或者排序内容,都可能造成百度蜘蛛爬行数万个页面,而内容实际上只有10多个页面。
  注意会话ID和Cookie
  正如我们刚刚讨论的,如果你根据Cookie设置或者会话ID限制用户查看页面或者重定向的能力,搜索引擎可能无法爬行你的内容。搜索蜘蛛不启用Cookie,也不能正常处理会话ID(爬行器的每次访问都得到有不同会话ID的URL,搜索引擎将这些带有会话ID的URL看做不同的URL)。限制表单提交很好(因为搜索蜘蛛不能提交表单),但是通过Cookie和会话ID限制内容访问是一个坏主意。
  留意服务器、主机托管和IP问题
  服务器问题很少造成搜索引擎排名问题——但是当问题发生时,可能带来灾难性的后果。搜索引擎非常了解常见的服务器问题,比如,停机时间或者超载,对这些问题不会做出不利的判断(但是这意味着服务器故障期间无法爬行你的内容)。但是另一方面,可能更经常爬行托管在内容交付网络(ContentDeliveryNetwork,CDN)上的网站,CDN对网站的性能有显著的改进。
  主机的IP地址在某些情况下也是值得关注的。曾经属于造成搜索引擎垃圾的网站的IP地址可能有负面的相关含义,对爬行和排名有不利的影响。虽然和专用服务器与专用IP地址相比,搜索引擎对于共享主机或者服务器平台并不过分挑剔,但是应该注意,采用独立平台可能避免许多麻烦。最起码,你应该保持警惕,寻找你信任的主机,并且调查你可能分配的IP地址的历史和“清白”。搜索引擎会记录曾经用于垃圾网站的域、托管服务、IP地址和IP地址段。它们的经验告诉它们,其中的许多网站与垃圾有着很强的关联(因此从索引中删除这些网站对用户有很大的好处)。作为没有参与这些活动的网站所有者,应该在遇到麻烦之前就花费时间调查你的Web主机。
  

原创作品来自烟雨,QQ81047380,禁止转载:烟雨黑帽SEO » 对百度蜘蛛来说可能有问题的网站元素:留心“蜘蛛陷阱”

赞 (2) 加关注不迷路

扫码或加QQ81047380

了解程序加我QQ好友

关注微信公众号