• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > robots.txt 语法详解:*、$、?等字符的含义及用法

robots.txt 语法详解:*、$、?等字符的含义及用法

作者:站长图库 字体:[增加 减小] 来源:互联网 时间:2022-04-29

站长图库向大家介绍了robots.txt语法,robots详解,robots含义,robots用法等相关知识,希望对您有所帮助

创建 robots.txt 文件很简单,您可以在任何文本编辑器中创建一个 robots.txt 文件,它是ASCII编码的文本文件,而不是HTML文件。本文将详细介绍 robots.txt 的语法及用法,以及各种注意问题。


5fd107d2a24fc.jpg

robots.txt 语法

User-Agent: 以下规则适用的机器人(例如“Baiduspider”等)

Disallow: 您希望阻止机器人访问的页面(根据需要,禁止多行)

Allow: 不需要阻止机器人访问的页面

Noindex: 您希望搜索引擎阻止和不要索引的页面(或者如果先前已建立索引,则将其解除索引)。支持Google,其他搜索未知。

每个 User-Agent / Disallow 组应该用空行分隔; 然而,组内不应存在空行(在User-agent行和最后一个Disallow之间)。

井号(#)可用于 robots.txt 文件中的注释,其中该行上#后的所有内容都将被忽略。可能用于整行或末行。

目录和文件名区分大小写:“my”,“My”和“MY”对于搜索引擎来说都是不同的。

我们来看一个例子的robots.txt文件。下面的例子包括:

对“Baiduspider”机器人没有任何不允许

对“msnbot”机器人整站关闭

所有机器人(Baiduspider除外)不应访问 /tmp/ 目录或名为 /logs 的目录或文件,如注释所述,例如tmp.htm,/logs或logs.php

User-agent: BaiduspiderDisallow:User-agent: GooglebotDisallow: /# /tmp/ 目录或名为 /logs 的目录或文件阻止所有机器人User-agent: *Disallow: /tmp/Disallow: /logs # 称为 logs 的目录或文件

应该在User-Agent行上列出什么?User-agent 是特定搜索引擎机器人的名称。您可以设置一个条目以应用于特定的机器人(通过列出名称),或者您可以将其设置为适用于所有机器人(通过列出作为通配符的星号)。适用于所有机器人的条目如下所示:

User-Agent: *

主要机器人包括:Baiduspider(baidu),360spider(360搜索),Sogou web spider(搜狗),Googlebot(Google),Bytespider(字节跳动-头条搜索)等。各大搜索引擎机器人可自行搜索查看。

请注意,Googlebot的 User-agent 指定的一组指令将被Googlebot遵守; 但Googlebot不会遵守*(所有机器人)的 User-agent 的指令。

在Disallow行应该列出什么?列出您要阻止的页面。您可以列出特定的URL或模式。该条目应以正斜杠(/)开始。

例子:

阻止整个网站: Disallow: /

阻止一个目录及其中的一切: Disallow: /private_directory/

阻止页面: Disallow: /private_file.html

要阻止一个页面和(或)一个名为private的目录: Disallow: /private

如果您通过http和https提供内容,则需要为每个协议单独使用一个robots.txt文件。例如,为了允许机器人对所有http页面进行索引,但没有https页面,您可以按照http协议使用robots.txt文件:

User-agent: *Disallow:

而对于https协议:

User-agent: *Disallow: /

每当他们访问网站时,都会检查robots.txt文件。一旦将robots.txt文件的规则上传到站点的根目录并且机器人进入站点,则robots.txt文件中的规则将会生效。访问的频率根据流行度,权限以及内容更新频率的不同,机器人蜘蛛网的频率有所不同。有些网站每天可能会被抓取多次,而其他网站可能每周只能爬行几次。

一些先进的技术

主要的搜索引擎已经开始合作来推进robots.txt文件的功能。如上所述,主要搜索引擎已经采用了一些功能,而不一定是所有主要的引擎,可以更好地控制爬行。由于这些可能会受到限制,请务必谨慎使用。


抓取延迟:

某些网站可能会遇到大量流量,并希望将搜索引擎蜘蛛减慢,以允许更多的服务器资源来满足常规流量的需求。抓取延迟是特殊指令,(有可能搜索引擎并不认可)指示抓取工具在抓取页面之间等待的秒数:

User-agent: msnbotCrawl-delay: 5


模式匹配

模式匹配现在似乎可用于:Google等搜索引擎。模式匹配的价值相当可观。让我们先看一下最基本的模式匹配,使用星号通配符。阻止访问以“private”开头的所有子目录:

User-agent: GooglebotDisallow: /private*/

您可以使用美元符号($)匹配字符串的末尾。例如,阻止以.asp结尾的URL:

User-agent: BaiduspiderDisallow: /*.asp$

与在Perl和其他地方的正则表达式中发现的更先进的模式匹配不同,问号没有特殊的权力。所以,阻止对包含问号(?)的所有URL的访问,只需使用问号(不需要“转义”或者使用反斜杠):

User-agent: *Disallow: /*?*

阻止机器人抓取特定文件类型的所有文件(例如.zip):

User-agent: *Disallow: /*.zip$

这是一个比较复杂的例子。假设您的站点仅使用查询字符串部分的URL(“?”),仅用于会话ID,并且您要排除包含动态参数的所有URL,以确保机器人不会抓取重复的页面。但是您可能希望包含以“?”结尾的任何URL。以下是如何实现的:

User-agent: SlurpDisallow: /*? # 阻止包含 ? 的URLAllow: /*?$ # 允许所有以 ? 结尾的URL


允许指令:

就像听起来一样,它与Disallow指令相反,它提供了专门调用可能被抓取的目录或页面的能力。这在大部分或整个场地被禁止之后可能是有益的。

要允许Baiduspider只进入“uploads”目录:

User-agent: BaiduspiderDisallow: /Allow: /uploads/


Noindex指令:

该指令提供了从搜索结果中消除无代号无标题列表的优点,但仅限于Google。它的语法恰好反映了Disallow。用Matt Cutts的话说:

Google允许在robots.txt中使用NOINDEX指令,它将完全从Google删除所有匹配的站点URL。(这种行为可能会根据这个政策讨论而改变,当然这也是为什么我们还没有谈论过这个问题。)


网站地图:

XML网站地图文件可以告诉搜索引擎您网站上的所有页面,并且可选地提供有关这些页面的信息,例如哪些是最重要的以及更改频率。它充当一个自动发现机制,让蜘蛛找到XML站点地图文件。您可以通过在robots.txt文件中添加以下行来告诉Google和其他搜索引擎您的Sitemap:

Sitemap: https://www.zztuku.com/sitemap.xml

上面你的路径是Sitemap的完整网址。此指令与 User-agent 行无关,因此放在任何地方并不重要,不过一般是放在最后。所有主要的搜索引擎都支持Auto-Discovery Sitemap协议,包括Google,Baiduspider,360spider等。

虽然 Auto-Discovery 提供了一种通知搜索引擎关于sitemap.xml文件的方法,但也值得通过其每个网站管理员控制台直接验证和提交站点地图到搜索引擎 。



分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • robots.txt 语法详解:*、$、?等字符的含义及用法

相关文章

  • 2022-04-29网站链接健康检查需要做的十件事情
  • 2022-04-2910分钟一步步带你看完最常用的git命令
  • 2022-04-293大技巧秒杀百度的首页排名
  • 2022-04-29JavaScript和CSS交互的5种方法的学习
  • 2022-04-29分享推荐一款好用的TP富文本编辑器-CKEditor
  • 2022-04-29PHP怎么指定跳出几层循环
  • 2022-04-29AI和PS快速制作漂亮复古海报
  • 2022-04-29提高网站排名的三个方法
  • 2022-04-29Laravel 图片上传失败怎么办
  • 2022-04-29CSS3怎么实现动画结束不消失效果

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • 面试官:列举几种PHP拓展的实现手段及其性能比较?
    • phpMyadmin该怎么实现root账户外部访问
    • Photoshop打造超酷的光影舞者海报
    • 帝国cms二次开发搜索页支持php和动态标签代码
    • Photoshop设计移动APP应用类型网站
    • 详细介绍mysql忘记密码的解决方案及修改密码的三种方式
    • PHP解密支付宝小程序的加密数据、手机号的示例代码
    • phpsotrm设置内存限制后打不开了怎么办?
    • Photoshop结合AI制作动感的立体字
    • 使用CorelDRAW绘制椭圆和圆形

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有