robots.txt怎么写?robots.txt写法

上一篇义信科技麒麟老师为大家介绍了《robots.txt文件是什么?有什么作用?应该放在什么地方?》今天咱们接着介绍robots.txt的写法。

robots.txt怎么写?

User-agent

这个项目用来描述搜索引擎蜘蛛的名字。在”robots.txt”文件中,如果有多条User-agent记录,说明有多个搜索引擎蜘蛛会受到”robots.txt”的限制,对该文件来说,至少要有一条 User-agent记录。

如果想让任何爬虫抓取网站文件,该项值可以设置为*。如果在”robots.txt”文件中设置了”User-agent:*”,且后面加了”User-agent:baiduspider”和若干 Disallow、Allow 行,则名为baiduspider的蜘蛛就会受到后面的 Disallow 和 Allow 行指令的限制。

Disallow:

这个指令主要表达网站不希望被抓取的URL,后面的值可以是一个完整的路径,也可以是路径的非空前缀,表示以该项值开头的URL不希望被爬虫抓取,举个例子:”Disallow:/admin”,表示禁止抓取/admin.html、/adminabc.html、/admin/index.html,而”Disallow:/admin/”则允许爬虫抓取/admin.html、/adminabc.html,但是禁止访问/admin/data/;。”Disallow:”表示允许爬虫抓取网站上所有的URL。在robots.txt文件中,至少要有一条Disallow记录。如果网站的根目录下没有robots.txt文件或者robots.txt文件里面是空的,则表示允许搜索引擎爬虫抓取网站的任何一个URL。

Allow:

这个指令主要表示允许爬虫抓取网站的URL,与Disallow一样,后面的值可以是一个完整的路径,也可以是路径的非空前缀,表示以该项值开头的URL可以被蜘蛛抓取,例如“Allow:/sitemap”表示允许爬虫抓取/sitemap.html、/sitemap/1.html。一个网站的所有URL默认是Allow的,所以在撰写robots.txt文件时,Allow和Disallow是搭配使用的,达到允许抓取大部分URL的同时禁止抓取一小部分URL的效果。

“*”and”$”:

百度蜘蛛通过”*”and”$”来模糊匹配URL。”*”匹配0或多个任意字符;”$”匹配行结束符。

robots.txt怎么写?robots.txt写法

robots.txt文件撰写举例:

1、User-agent:Disallow:/

禁止所有搜索引擎访问网站中的任何部分

2、User-agent:*Allow:/

允许所有蜘蛛访问

3、User-agent:Baiduspider Disallow:/

仅禁止Baiduspider访问网站

4、User-agent:Baiduspider Allow:/User-agent:*Disallow:/

仅允许Baiduspider访问网站

5、User-agent:*Disallow:/cgi-bin/Disallow:/tmp/Disallow:/~joe/

禁止蜘蛛访问特定目录

6、User-agent:*Allow:/cgi-bin/see Allow:/tmp/hi Allow:/~joe/look Disallow:/cgi-bin/Disallow:/tmp/Disallow:/~joe/

允许搜索引擎蜘蛛访问特定目录中的部分URL

7、User-agent:Baiduspider Disallow:/.jpg$Disallow:/.jpeg$Disallow:/.gif$Disallow:/.png$Disallow:/*.bmp$

禁止Baiduspider抓取网站中所有图片

robots.txt文件使用误区

1、试图保持目录的秘密

如果你想要保留对公众隐藏的文件或目录,不要将它们全部列在robots.txt中,如下所示:

User-agent:*

Disallow:/admin/

Disallow:/myphoto.jpg

Disallow:/my.csv

这种写法为敌对爬虫提供了一种快速,简便的方法来查找你不希望他们找到的文件。

2、尝试控制特定的子域

假设你有一个包含许多不同子域的站点:

http://abc.com/

http://1.abc.com/

http://2.abc.com/

http://3.abc.com/

你想要创建单个robots.txt文件,然后尝试阻止它的子域,如下所示:

http://abc.com/robots.txt

User-agent:*

Disallow:1.abc.com

Disallow:2.abc.com

对不起,这不起作用,无法在robots.txt文件中指定子域(或域)。给定的robots.txt文件仅适用于从中加载的子域。

那么有没有办法阻止某些子域?答案是肯定的,要阻止某些子域而不阻止其他子域,需要提供来自不同子域的不同robots.txt文件。

这些robots.txt文件会阻止所有内容:

http://1.abc.com/robots.txt

http://2.abc.com/robots.txt

User-agent:*

Disallow:/

3、忘记了用户代理线

用户代理线是使用robots.txt的关键。在任何允许或禁止之前,文件必须要有用户代理行。如果robots.txt文件写下面的这样:

Disallow:/abc

Disallow:/acb

Disallow:/bac

实际上什么都不会被阻止,因为顶部没有用户代理行。该文件必须写成:

User-agent:*

Disallow:/abc

Disallow:/acb

Disallow:/bac

robots.txt文件撰写注意事项

注意区分网站不想被抓取或收录目录的大小写,百度会精确匹配指令后面的对应值,以防止robots协议无法生效。

以上就是义信科技麒麟老师对robots.txt文件是什么?有什么作用?应该放在什么地方的介绍,后期会更新其他robots文件相关的干货内容,请持续关注义信科技。

如果大家看完以上robots.txt相关的内容还有什么疑惑,欢迎下面评论区进行留言,麒麟老师会第一时间回复大家。

如果你想参加SEO系统培训课程,点击QQ进行咨询>>点击这里给我发消息

更多SEO、运营、营销推广相关的内容干货,可以查看网站其他相关栏目。关注我,帮助你成为互联网运营达人!

本文为原创文章,标题:robots.txt怎么写?robots.txt写法,网址:https://www.seoshisha.com/baiduseo/robots-txt-how.html

未经允许,禁止转载,如需转载,请联系邮箱:2692003558@qq.com,否则将追究法律责任!

发表评论

登录后才能评论

18721508948

2692003558@qq.com

微信