我们做优化的目的就是让网站更吸引蜘蛛的到来,蜘蛛来的越频繁说明你的网站做的越好,而爬行就是蜘蛛到网站的途径方式,爬行是指蜘蛛在页面上沿着链接发现新页面,然后“爬”过去抓取新页面。抓取是指蜘蛛发现新页面后,像浏览器一样打开页面,把页面HTML代码存入数据库。两个概念在英文中通常都是用crawl或spider(这里是动词)表示,视上下文才能分出是指哪个。那么蜘蛛的爬行又是怎样规则呢?
显然,爬行和抓取是相互交织的。抓取是实际发生的我们能够观察到的过程,在原始日志中,蜘蛛的抓取是有完整记录的,比如:抓取确切时间、状态码、抓取的文件是哪个、抓取了多大文件等等。蜘蛛对页面的抓取就和浏览器读取文件是完全一样的。
而爬行只是一个形象的比喻,实际上并不存在蜘蛛抓取文件时发现链接然后立即跟踪过去这样一个过程。蜘蛛抓取文件后存入数据库,程序解析出文件中的链接后将URL存入页面地址库,然后蜘蛛从地址库中按一定规则选取URL进行抓取。蜘蛛不是真的访问页面时看到一个URL就爬过去。
索引指的是将一个URL的信息进行各种整理,如去重、分词等等,然后将关于这个URL的信息存入数据库,被称为索引库。真正用于搜索的是倒排索引,以后有机会再细说。要注意的是,索引库中关于URL的信息不仅是组成页面内容的关键词及其特征(位置、格式等),还有链接、更新情况等信息。英文索引这个词是index。
收录是SEO们最关心也最常用的词,其实也是4个概念中最不明确的。被收录指的是我们能查到页面被
搜索引擎存入了索引库。但后面我们会看到,进入索引库的URL并不一定被抓取过,这和SEO们的直觉可能是不一样的。
当然,精准掌握概念不是为了咬文嚼字,而是对很多SEO问题的理解和处理有影响。下面举几个例子。
收录不全是什么原因?
页面不收录是SEO们最头疼的问题之一,不收录就谈不上排名、流量了。太多人在博客、论坛里问页面不被收录是什么原因,也给出了域名,但这种问题是没法回答的,即使愿意花时间去诊断也不能回答(除非列出所有可能的原因,等于没回答),因为缺了一个关键信息:页面被抓取了没有?这只有查原始日志才能知道,看网站是看不出来的,查流量也是查不出来的。了解前面的概念就知道,被抓取不一定被收录,没被收录也不一定意味着没被抓取。
如果页面被抓取过却没被索引和收录,应该往内容是否有问题(原创?采集?所谓伪原创?敏感内容或产品?复制内容?)方向去找原因。网站结构应该没有大问题,
搜索引擎是看了内容之后觉得不适合收录的。如果页面压根就没被抓取过,则应该往网站和链接结构、搜索引擎不友好的技术障碍、域名权重等方面去找。蜘蛛的爬行和抓取我们很难来把握,但是我们会有意识的去讨好蜘蛛,从而吸引蜘蛛,所以大家在做优化的时候还是需要仔细留意。