robots是能否彻底屏蔽搜索蜘蛛爬行与索引呢?

说到屏蔽搜索蜘蛛的抓取,自然而然的就会想到robots.txt文档。robots.txt是什么?其实在此前笔者也已经对此进行基础的说明。robots.txt是一种存放在网站空间目录下的文本文件,是一种协议,用来告诉搜索蜘蛛网站中哪些可被爬行抓取,哪些不可被爬行抓取。然而,在这里,笔者有着这么一个疑问,robots.txt是否能彻底屏蔽蜘蛛的爬行抓取呢?

robots.txt能屏蔽蜘蛛的爬行抓取

近日,好友遇到了这么一个问题:“我明明用robots.txt屏蔽了wordpress中的目录文件呀,为什么蜘蛛每日仍然照常爬行呢?”而后,笔者自然便查网站robots.txt文档,以下便是对wordpress目录屏蔽设置

Disallow: /wp-admin

Disallow: /wp-content

Disallow: /wp-includes

在查看过后,发现了这么一个问题,这是目录文件屏蔽,然而,这屏蔽设置后边却似乎缺少了,而进行咨询时,好友却是这么认为:“目录文件前边加上了/就可以了,后边加不加都一样的呀”。对此,笔者却是另一种看法,在后边加上与未加上/,对于蜘蛛而言是两种概念,加上了是告诉蜘蛛,这是一个文件夹,而未加上即告诉蜘蛛这是一个文件,也因此导致明明在robots.txt上做好了设置,却没能有效的屏蔽。当然这仅仅是笔者的个人看法。

继而,好友听从建议将robots.txt修改为:

Disallow: /wp-admin/

Disallow: /wp-content/

Disallow: /wp-includes/

成功修改后便在百度站长平台进行提交重新生成操作(需要注意的是,若不主动提交生成,靠蜘蛛自行生产的话,耗时较长的喔),在当天也就生效了。隔日后再对日志进行查看,发现蜘蛛对这三个wordpress下的目录真的不再爬行抓取了。

从这么一点上看,在我们进行网站SEO优化之时,着实不能忽略任何细节,仅仅一个,可带来的却是不一样的效果

robots.txt不能彻底屏蔽蜘蛛的爬行抓取

而在这一问题解决后,好友在这文件屏蔽上却又有了另一问题:“明明把某个目录屏蔽了呀,为什么蜘蛛还是能够抓取收录该目录下的某个文件呢?”

那么,在这里就需要做一个说明,robots.txt协议并非是一个标准,一个规范,只是约定俗成而已罢了,通常搜索引擎会识别这个文件,但也有一些特殊情况。(如之前的360事件就不作为此次讨论内容

无论是百度亦或是谷歌,某个页面只要有其他网站链接到该页面的话,同样有可能会被索引和收录。要想彻底屏蔽页面文件被谷歌索引的话(即使有其他网站链接到该页面文件),则需要在页面head中插入noindex元标记或x-robots-tag。如下:

<meta name=“googlebot” content=“noindex”>

当谷歌蜘蛛看到页面上着noindex的元标记,就会将此页从谷歌搜索结果中完全丢弃,无视是否还有其他页链接到此页。

而百度呢?对于百度而言,并不支持如谷歌那般通过noindex完全将网页从索引上删除,仅支持noarchive元标记来禁止百度显示网页快照。具体语句如下:

<meta name=“Baiduspider” content=“noarchive”>

上面这个标记只是禁止百度显示该页面快照,但百度仍会为其建索引,并在搜索结果中显示网页摘要。

众所周知,淘宝网通过robots.txt全站屏蔽百度蜘蛛,可为什么我们在百度搜索淘宝网时第一个结果也是淘宝网首页地址呢?而在我们查看该页面快照时却是显示空白?因此看来,网站只能禁止百度快照的显示,却无法做到禁止百度为网页建索引。

 

结束语:

回到笔者在文章首段所说到的疑问,robots.txt是否能彻底屏蔽蜘蛛的爬行抓取呢?相信在看到这么一个问题,会有这么一部分朋友的回答是肯定的。而这只能说,我们都缺少了善于去发现的心,而对于没能有效屏蔽蜘蛛抓取,只能说明咱们的优化工作做得不够精细。

留言列表

发表留言:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。