robots.txt用途与使用范例教学,厘清SEO收录观念!

作者:码迷 阅读:247 点赞:56

robots.txt用途与使用范例教学,厘清SEO收录观念!/

网站上线,只能全站被收录吗?

无论是自己架站,亦或是协助客户网站问题排除时,是不是总会遇过『为什么我的网站上线这么久,却都没有好的排名?』这类相关疑惑呢?但在所谓『好的排名』这前提大方向,你是否该先注意『我的网站有没有被搜索引擎收录了』这件事呢?如果你的网站在Google或Bing上连收录都没有,『排名』这件事就变成是空想了,不是吗?

那么你是否曾经想过,Google或Bing等搜索引擎,很尽责的将在线运作的网站抓到搜索引擎清单内做索引,并提供给用户寻找各种信息时,什么情况下会被拒绝索引,亦或者若我的网站有些东西不想被搜索到或”暂时”不想被搜索到,那有没有什么办法可以阻止搜索引擎呢?

是的,方法是有的,就让我们awoo团队替你娓娓道来!

  1. 是网页内作法,使用所谓的meta标签阻挡,但坏处是必须每一个网页都需独立设置使用。
  2. 而第二种方式,则是可以针对全部网站做规范的限制,这就是本次要讲的主题:Robots.txt。

搜索引擎到底对网站做了哪些事?

搜索引擎的运作原理是什么呢?

简单来说,搜索引擎会先针对网站做Crawl(检索)与Index(索引),然后将网站信息收录,根据各家算法计算后做出排序,提供搜索结果给用户查找。(当然其中还有很复杂的各种计分方式,但这边就不细谈了)

Robots.txt就是这时派上用场,主要行为就是在搜索引擎检索网站时,告诉它网站哪些内容可以被检索,哪些内容可以不用被检索。

不过这边有一点很重要需说明,虽然 Google 不会对 Robots.txt 所封锁的内容进行检索或创建索引,但若我们透过网络上其他网页的链接发现封锁的网址,仍然会创建这些网址的索引。因此,网页网址以及其他可能的公开信息 (例如网页链接中的锚点文本) 仍然会出现在 Google 搜索结果中。如要完全避免这种情形,建议您使用密码保护服务器上的文档,或是使用 noindex 中继标记或回应标头 (或完全移除网页)。

更多禁止网页被收录的方法亦可参考我们awoo先前的文章:使用noindex”等4种方式禁止特定网页被收录,提升网站整体seo品质

若想近一步了解检索与索引,可参考Google提供的检索与创建索引

为何有网页不想被收录的可能?

可能有人好奇,什么时候或有上述状况发生呢?网站都完成了,就是希望他可以被搜录跟上线不是吗?

这状况比较可能出现的情境与受众比较常见的可能有这些

  1. 尚未完成的网站但需上线实测的网站:有些网站可能上线是为了协作测试,亦或者用工具做压力测试,但测试阶段又不想被搜索引擎检索内容,这时就可以用到Robots.txt做排除了。(但在这建议搭配noindex使用 ,效果最佳)
  2. 网站管理者后台:有许多CMS(内容管理系统,如:Wordpress)与自行架设的网站会提供管理者后台登录的入口,这些通常是为了网站维护与管理而设置的入口,没有被检索的必要。
  3. 特定文档夹内文档:网站希望搜索引擎检索的,往往是有内容的信息,许多后台使用的文档,就会以文档夹形式或正规字符方式(正规字符使用方式可见此篇后续的高端使用说明)做排除检索的动作。

Apple的Robots.txt档范例

Robots.txt 怎么做?

Sublime编辑Robots.txt档截屏

Robots.txt 怎么用?

基本会用的几个参数分别如下:

  • User-agent => 定义下述规则对哪些搜索引擎生效,即是对象。
  • Disallow => 指定哪些目录或文档类型不想被检索,需指名路径,否则将会被忽略。
  • Allow => 指定哪些目录或文档类型可能被检索,需指名路径,否则将会被忽略。
  • Sitemap => 指定网站内的sitemap文档放置位置,需使用绝对路径。

使用范例参考

就算知道参数,但往往看着参数但却无从下手的状况也很频繁,所以从范例下手,是最容易理解且好入门的方法。

以下是几种常见及可能使用到的方式:

基本应用

  1. 允许所有搜索引擎检索所有内容(通常建议使用)

    User-agent: *

    Disallow:

  2. 拒绝所有搜索引擎检索所有内容(正式环境请避免使用)

    User-agent: *

    Disallow: /

  3. 拒绝所有搜索引擎检索/members/底下所有内容。

    User-agent: *

    Disallow: /members/

  4. 拒绝Google搜图的爬虫检索/images/底下所有内容。

    User-agent: Googlebot-image

    Disallow:/images/

高端应用

  1. [通配符]拒绝所有搜索引擎检索网站内png为扩展名的图档。

    User-agent: *

    Disallow: *.png$

  2. [通配符]拒绝Bing搜索引擎检索网站内/wp-admin目录底下所有内容及网站内开头为test的所有文档名。

    User-agent: bingbot

    Disallow: /wp-admin/

    Disallow: ^test*

Robots.txt测试方式

如果要验证自己的网站有无Robots.txt,最简单的方式是直接在网站根目录下输入robotx.txt做测试,检验是否存在。

例:

而若不知道目前robots.txt语法是否正确,也可以借助Google Search Console工具来做测试。

Robots.txt于Google Search Console语法测试

在Search Console内,左侧的『检索』内,点击『robots.txt 测试工具』,可在里头测试当前robots.txt文档是否有问题,也可直接查看即时robots.txt的文档内容。

若是还是担心自己的某些网址会被robots.txt设置封锁,也可用工具下方的提交网址方式做测试。

在Search Console内测试网址是否被Robots.txt档阻挡

同样的也可以在Bing Webmaster内,测试是否有被robots.txt文档阻挡的文档项目。

使用Bing Webmaster测试是否有文档被Robots.txt阻挡

Robots.txt小细节

Robots.txt的规范中也有着各种细节跟设置,虽然非组成的必要元素,但若懂得如何应用,对设置Robots.txt相信会更有心得:)

  1. Sitemap在Robots.txt内是属于non-group 纪录,即是位置并没有限制,并不会因为User-agent或Disallow所影响,可放置于任何位置。

User-agent: bingbot

Disallow: /wp-admin/

Disallow: ^test*

sitemap:

  1. Crawl-delay参数可指定搜索引擎爬虫来访的间隔时间(单位为秒),下述例子即表示:告诉爬虫,再次来访的最短时间间隔为20秒。

User-agent: *

Crawl-deslay: 20

注意:百度公开表示不支持此语法

  1. 目前大型的搜索引擎,如:Google、Ask、Bing、Yahoo 均支持 Robotx.txt内的Sitemap指向。

4.Robots.txt的文档命名方式必须为小写字母(robots.txt),若命名为Robots.txt或robots.TXT等皆为不正确的命名方式,将会被搜索引擎的爬虫忽略。

  1. Robot.txt文档只能放在网站的根目录底下,若非根目录则不会被发现。

详细信息也可以在Google的确认其他使用方式与项目类别。

结论,所以Robots.txt到底重不重要?

Robots.txt,他真的很重要吗?我想,答案不是绝对的,但肯定的是『如果设置错了,影响层面是非常深的』。在一般正常网站运作下,没有额外设置Robots.txt档,顶多影响会是『不太好』;但若有不少测试页面或尚未完成版面,忘了设置使用Robots.txt做排除内,那影响不意外的肯定『比较大』;而绕回最一开始讨论的内容,若你的网站准备好了也上线了,你的目标是希望有好的排名时,这时若错误使用Robots.txt阻挡搜索引擎来做索引,那就绝对是『非常不好』。

在这个SEO一直反复强调内容为王的时代,信息架构的影响真的可大可小,但不可否认的是,若架构的初期的第一步就走错了,那影响绝对是很深远的。

[SEO教学]网站排名消失事件簿

操作SEO不可忽视的网站安全

本文网址: https://www.mamioo.com/seo-advanced/4o358w2r7r92

本站内容均为「码迷SEO」原创整理,未经授权严禁采集转载,违者必究。