Shopify Free Trial Apply
Shopify 60天试用
Shopify 14天试用

robots.txt文件配置误区及详细写法以及URL规范化设置和常见问题

一、robots.txt文件配置误区及详细写法我们都知道搜索引擎使用 spider 程序自动访问互联网上的网页并获取网页信息。spider 在访问一个网站时,会首先会检查该网站的根域下是否有一个叫做 robots.txt 的纯文本文件,这个文件用于指定 spider 在您网站上的抓取范围。您可以在您的网站中创建一个 robots.txt,在文件中声明该网站中不想被搜索引擎收录的部分或者指定搜索引擎只收录特定的部分。所以这将是我们网站 SEO 诊断检查的第一要素,因为一旦不小心定义错了 robots.txt 文件,网站将可能消失在搜索引擎结果中,以下子凡将会列举需要注意事项,以及 robots.txt 文件的详细写法和 robots 书写例子,同时也收集拓展了一些各大搜索引擎蜘蛛名称。我们建站的时候会通过yoast插件进行编辑

网站 robots.txt 文件注意事项

1、robots.txt 文件必不可少

不论你网站有没有需要禁止搜索引擎抓取的目录或者页面,都建议大家添加一个 robots.txt 文件,因为当搜索蜘蛛发现不存在 robots.txt 文件时,会产生一个 404 错误日志在服务器上,从而增加服务器的负担,因此为站点添加一个 robots.txt 文件还是很重要的。

2、robots.txt 文件命名

可能很多人习惯把因为首字母大写,不过在 robots.txt 文件命名必须全部小写。

3、robots.txt 文件位置

robots.txt 必须放置与站点的根目录下,如果放置在二级目录等位置搜索引擎抓取时均会被忽略。

4、robots 文件书写注意

在书写这些Robots规则语句的时候尤其注意的一点是冒号(:)和( /) 之间要有一个空格符,如果这个空格没有加的话,是不能起到作用的,并且冒号需要是英文半角输入,否则也是无效。

5、robots 规则首字母大写

robots 文件规则的写法中,每一行规则的关键字的首字母都是大写的,如:User-agent、Disallow、Allow、Sitemap

6、robots 规则符号的区别

在屏蔽目录的时候,如果是阻止抓取某目录的话目录名字一定要注意“/”,不带“/”表示的是阻止访问这个目录页面和目录下的页面,而带上“/”则表示进阻止目录下的内容页面,这两点要分清楚。

7、robots 中添加网站地图链接

为了让搜索引擎更快的收录我们的内页,我们一般都会做一个 xml 的百度地图或者谷歌地图,Sitemap: 网站地图,这个命令就可以快速的引导搜索引擎蜘蛛来到你的地图页面对网站内页进行抓取。当网站的死链接过多处理非常麻烦的时候,我们可以利用 robots 来屏蔽这些页面,这样就可以避免网站因为死链接被百度降权。

网站 robots.txt 语句详细写法

User-agent: * 这里的*代表的所有的搜索引擎种类,*是一个通配符
Disallow: /admin/ 这里定义是禁止爬寻 admin 目录下面的目录
Disallow: /cgi-bin/*.htm 禁止访问/cgi-bin/目录下的所有以".htm"为后缀的 URL(包含子目录)。
Disallow: /*?* 禁止访问网站中所有包含问号 (?) 的网址
Disallow: /.jpg$ 禁止抓取网页所有的.jpg 格式的图片
Disallow:/a/b.html 禁止爬取 a 文件夹下面的 b.html 文件。
Allow: /cgi-bin/ 这里定义是允许爬寻 cgi-bin 目录下面的目录
Allow: /tmp 这里定义是允许爬寻 tmp 的整个目录
Allow: .htm$ 仅允许访问以".htm"为后缀的 URL。
Allow: .gif$ 允许抓取网页和 gif 格式图片
Sitemap: 网站地图 告诉爬虫这个页面是网站地图

网站 robots.txt 写法举例

1、禁止所有搜索引擎访问网站的所有部分
User-agent: *
Disallow: /

2、禁止 Google 索引你的网站
User-agent: Googlebot
Disallow: /

3、禁止除 Google 外的一切搜索引擎索引你的网站
User-agent: Googlebot
Disallow:
User-agent: *
Disallow: /


4、禁止蜘蛛访问某个目录
User-agent: *
Disallow: /css/

5、允许访问某个目录中的某些特定网址
User-agent: *
Allow: /admin/html
Allow: /images/index
Disallow: /admin/
Disallow: /images/

谷歌引擎蜘蛛名称

谷歌蜘蛛:Googlebot,这个争议较少,但也有说是 GoogleBot 的。谷歌蜘蛛最新名称为“compatible; Googlebot/2.1;”。还发现了 Googlebot-Mobile,看名字是抓取 wap 内容的。

二、URL规范化设置和常见问题
URL 规范化(url normalization)其实就是一个标准化 URL 的过程,URL 规范化用于搜索引擎可以减少对页面的重复索引,同时也可以减少爬虫的重复抓取。浏览器端识别用户是否访问过一个 URL 也需要使用 URL 规范化。
 
URL 规范化注意事项

1.网站的 URL 越短越好,URL 的长度不超过 1000 个字节就可以被搜索引擎收录,但是这几百个字母需要用户记住的话也是很难的,因此我们选择的 URL 越短越好,最好方便用户去记住这个 URL。

2.URL 中避免出现太多参数,在一些开源的程序中,会出现很多种参数,一旦参数越多,会影响引擎蜘蛛的识别,很容易使网站进入蜘蛛陷阱。为了避免这种情况,建议大家尽量使用静态的 URL 或者伪静态的 URL。

3.目录层级越少越好,减少网站的深层次目录,有助于网页的收录。如果是门户网站或者大型的网站,如果目录太深的话,可以选择使用 2 级域名来代替很深层级的目录。

4.具有很强的描述性,每一文件和目录具有描述性。

5.URL 中包含关键词,在一个 URL 中包含关键词可以提高页面相关性,比如目录可以用拼音或者英文来命名,搜索引擎会识别目录的英文含义。

6.字母全部小写,网站里面的字母尽量要使用小写字母。

7.连接符的使用,文字、链接符之间的链接一般要使用连接符或者横线。

不规范的 URL(示例)

1 URL 中多余的字符

1.1 子域名的 URL 中包含"www": "http://www.blog.leiue.com/"

1.2 含有默认端口: "http://www.leiue.com:80/tech/"

1.3 松散的 URL: "http://www.leiue.com/tech/amaz ... ot%3B

1.4 多余默认文件名 index.html,default.php 等:"http://www.leiue.com/tech/index.html"

1.5 文件路径中

(1) 多余的"/":"http://www.leiue.com/tech//"

(2) 多余的点修饰串:"http://www.leiue.com/a/b/../page.html"

1.6 查询串中多余的

(1) ? (空查询串):http://www.leiue.com/tech?

(2) &

(3) 无用的查询变量:http://www.leiue.com/display?id=123&fake=fake

2 URL 缺少字符串

2.1 缺少"/":"http://www.leiue.com/tech"

2.2 查询串缺少名称或者值:"http://www.leiue.com/display?id=" 或者 "http://www.leiue.com/display?=123"

3 其他不规范的 URL

3.1 "http://tech.leiue.com/" 与 "http://www.leiue.com/tech/"其实是相同的内容

3.2 使用 IP 代替域名

3.3 含有扩充字符(extended characters),大小写敏感("http://www.google.cn/Intl/zh-CN/about.html" 和"http://www.google.cn/intl/zh-CN/about.html";)

3.4 "+"和"%20"混用

3.5 查询变量顺序混乱:"http://www.leiue.com/test.php% ... ot%3B

3.6 含临时的状态变量:http://www.leiue.com/test?back=/go.php

URL 规范化设置

URL 组成:

protocol :// hostname[:port] / path / [;parameters][?query]#fragment

协议://主机名[:端口]/ 路径/[:参数] [?查询]#fragment

URL 规范化过程:

1.URL 协议名和主机名小写化

HTTP://WWW.EXAMPLE.com/test -> http://www.example.com/test

2.escape 序列转化为大写,因为 escape 序列大小敏感%3a ->%3A

3.删除 Fragment(#)

http://www.example.com/test/index.html#seo -> http://www.example.com/test/index.html

4.删除空查询串的'?'

http://www.example.com/test? -> http://www.example.com/test

5.删除默认后缀

http://www.example.com/test/index.html -> http://www.example.com/test/

6.删除多余的点修复符

http://www.example.com/../a/b/../c/./d.html -> http://www.example.com/a/c/d.html

7.删除多余的"www"

http://www.test.example.com/ -> http://test.example.com/

8.对查询变量排序

http://www.example.com/test%3F ... kebarhttp://www.example.com/test?id=123 \

9.删除取默认值的变量

http://www.example.com/test?id=&sort=ascendinghttp://www.example.com/test

10.删除多余的查询串,如?,&

http://www.example.com/test?http://www.example.com/test

11.Dust 规则

http://www.example.com/test?id=123 -> http://www.example.com/test_123

URL 防止重复设置技巧

举个常见的来例子来说,下面这几个 URL 一般来说指的是同一个文件或网页:

http://www.domain.com
http://domain.com
http://www.domain.com/index.html
http://domain.com/index.html

从技术上分析这是四个不同的地址,而在实际的使用过程中,被大多数人当作是一个地址使用着,所以在这个时候我们就需要做好设置,否则网站将会出现大量的重复。

相信这个对于很多人来说并不陌生,因为这些常常被一些人忽略,或者是有些人自作聪明,为了让搜索引擎更多的抓取网站页面,甚至有的站长还把几个域名解析到同一个主机,总觉这样可以提升收录,其实不然,搜索引擎又不傻,重复的多了,就是被索引,也没有什么排名,反而徒劳无功。

所以遇见这样的问题我们就需要确定网站的一个主域名,如果有使用过一个二级域名,可以选择301 跳转的,从而确定网站主域名,确保网站内容 URL 的唯一性。
1
2019-08-05

1 个评论

感谢分享

要回复文章请先登录注册