三分钟搞懂 SEO的《meta robots、robots.txt》

2017-07-11 11:16:48 ipbrother.zmz 1104

这篇文章我假设你已经能够区分抓取与索引的差别了,并且我将告诉你如何使用meta robots以及robots.txt来优化百度抓取与索引

meta robots以及robots.txt的工作分别是阻止百度抓取、索引你的页面。在这个年头,只是SEO排名/流量高是没有用的,流量必须对企业有价值、必须要能够创造转换,所以使用者体验相对重要,如果你有特定页面会伤害使用者体验(UX),你可以透过这些方式去阻止该页面出现在百度 搜索结果中。

robots.txt可以阻止搜索引擎抓取你的资料,如果你使用了robots.txt来阻挡搜索引擎,那么搜索引擎将会略过你所阻挡的页面,不去做抓取。

但meta robots 就不同了,他在索引层面阻止搜索引擎索引你的页面,但百度 还是有抓取你的网站资料的,但究竟为什么我们要这样做?后面我将娓娓道来。

基本上,大多数的情况我们都不会使用robots.txt来阻止搜索引擎抓取我们网站,除非你确定这个页面对 SEO有负面影响,若你有页面不希望出现在搜索引擎中,我建议使用Meta Robots来控制索引就好,网站的资料还是一样让百度去抓取。但若你确定这些页面会影响 SEO并且你不希望百度抓取到,你就要使用Robots.txt。(比方说开发中,但还没完成的网页)

使用robots.txt档案很简单,你只要建立一个档名为robots的txt档案,并且上传到根目录就好,并且在这个档案内写上你希望百度别抓取的页面路径。

基本上在robots.txt档案内你只要填好这些资讯:

User-agent:填入搜索引擎蜘蛛的值(* 号代表全部)

Disallow:填入你希望搜索引擎别抓取的页面路径

Allow:若你禁止抓取的页面路径里面又有特定路径你希望搜索引擎抓取,则填入

学习使用Meta Robots

要用meta robots 你只要直接把它加在head底下,你必须要在“你不希望被索引的页面底下”,加入这个标签至head里。

所以如果你有六个页面不希望被索引?没错这六页你都要手动去加入meta robots。

meta robots的标签是长这样:

基本上这个标签有 noindex 以及 nofollow 两个值:

index vs noindex

当你不希望搜索引擎索引此页面,就填上noindex,若希望正常索引便填上index

follow vs nofollow

至于follow这个值是指,若你希望搜索引擎在抓取此页面时,不进一步的去抓取该页面所连出去的连结,你就填上nofollow的值。这个功能通常会用在社群论坛或是网站讨论版,是为了防止有人在你的页面上乱贴连结来意图增加他的SEO 反向连结及排名,使用nofollow的话搜索引擎的抓取会在该页面停止,不继续往其他连结前进,固可以防止乱贴连结的事情发生。

两个值功能完全不同,我来举几个范例让你完全清楚如何使用。

1. < meta name=”robots” content=”noindex , nofollow”>

这个做法便是告诉搜索引擎,不要索引我的网站,并且在抓取资料时该页面的相关连结也不要去抓取。

2. < meta name=”robots” content=”index , nofollow”>

抓取资料时该页面的相关连结不要抓取。

3.< meta name=”robots” content=”noindex , follow”>

不要索引我的页面,但页面上所有的连结请正常抓取(最常用之使用方式)

4.< meta name=”robots” content=”index , follow”>

这个做法就没有任何意义,加上这段标签跟没加的道理是一样的,等于搜索引擎将正常索引及抓取。

做 SEO,何时会用robots.txt阻止百度抓取?

对于抓取(Crawl)优化的工作上,你的网站 百度必须要看得懂、并且资料也抓得到。有些动态的网页结构对网路蜘蛛的抓取来说是有问题的,这个我于上一篇文章中有提到,毕竟最可惜的就是你的网站有优质的内容,但百度根本抓取不到资料…。百度 的网路蜘蛛基本上已经是市场上效能最好的,但相对来说像是DDG、Bing、百度,他们的效能就未必像 百度这样优秀,所以我们要随时关注搜索引擎的抓取状况。

但,有些页面跟内容你不会希望 百度 抓取到,这时候你必须要使用Robots.txt 来阻挡百度蜘蛛的抓取,这也是我们今天文章讨论的重点。我们来看看,什么情况你会希望百度蜘蛛不要抓取你的网站

未完成的页面:如果你有页面正在由技术人员开发中,但页面还需要很长的一段时间才能完成,甚至你还需要修改、测试,未完成的页面通常不会伤害SEO,但你不会希望访客在搜索引擎中搜索到未完成的页面,因为未完成的页面会给使用者较差的使用体验。

测试页面:我曾经有碰过工程师,为了做功能测试并开了测试用子网域,并上传与主网域完全一模一样的内容,于理解百度 Panda:网站内容对 SEO的影响这篇文章中我有提过,一模一样的网站内容,会对SEO造成伤害,若有这样的页面我会建议你将 百度蜘蛛挡在门外比较好。

网站后台、其他理由:以我来说,我的网站是使用Word Press架设出来的,所以我有使用robots.txt防止搜索引擎抓取我的网站后台,搜索引擎抓取到后台的登入页面对于SEO没有伤害,但也一点帮助都没有。同时如果你压根就不希望搜索引擎抓取你的网站,我也建议你使用robots.txt来阻止搜索引擎的抓取。

做 SEO,何时会用meta robots阻止百度 建立索引?

若某些页面你不希望在搜索引擎被user搜索到,但这些页面事实上有很多对SEO排名有加分的因素,所以你会希望百度抓取这些页面的资料,但别建立进搜索引擎索引,这时候你需要meta robots 来阻止百度索引你的页面。这种情况通常是因为某些页面作为 Landing Page 会影响使用者体验,但你又希望百度能抓取页面上的资料(因为这页有很多的反向连结、流量)所以你将它排除索引、维持抓取。我来举个范例让你清楚理解:

范例A:

 “搜索结果页” 上使用了meta robots 阻止百度索引这些页面,因为新的user如果从搜索引擎landing 到旧用户搜索过的页面,这样会对新user 造成负面的使用者体验;但是我的搜索结果页有很多人分享、有很多反向连结、很多流量,这些都对我的 SEO排名有帮助,我希望 百度 来抓取这个页面,知道我的网站有很多分享、反向连结。于是我就使用了meta robots 来禁止百度索引我的搜索结果页,但是百度还是有抓取到我这页的资料,并且对我整个网站的SEO排名有帮助!

范例B:

电子商务网站,用户在登入会员之前就可以使用购物车,但我不希望User 的购物车页面被百度 索引进搜索引擎,所以我用meta robots 来阻止搜索引擎进行索引。

了解meta robots以及robots.txt之后,你可以优化网站的抓取及索引状况,阻止特定页面跟被抓到或是被索引。

但有一件很重要的事要注意,百度 官方有很明确的声明,meta robots 以及 robots.txt 确实可以告诉 百度 你希望哪些页面不要被抓取以及索引,百度也会尊重你的决定(毕竟你是网站拥有者),但 百度 官方不保证搜索引擎会完全服从meta robots以及robots.txt,若搜索引擎认为你的网站有很多很多的反向连结、流量很高、内容很优质,是优质网站,他也有可能会执意要抓取、索引你的网站。