robots.txt 是一个纯文本文件,位于网站根目录下,它告诉搜索引擎的爬虫(如百度蜘蛛、谷歌蜘蛛等)网站的哪些内容可以抓取,哪些内容不可以抓取,它是一个行业性的协议,并非强制标准,但遵守它是一个良好的SEO实践。

(图片来源网络,侵删)
robots.txt 的基本语法
前,我们先了解两个核心指令:
-
User-agent:
- 作用:指定下面的规则是针对哪个爬虫的。
- 值:
- 代表所有爬虫(通用型规则)。
Baiduspider:代表百度爬虫。Googlebot:代表谷歌爬虫。Mediapartners-Google:代表谷歌广告爬虫(用于展示广告)。YoudaoBot:代表有道爬虫。Sogou web spider:代表搜狗爬虫。
- 注意:
User-agent后面要加冒号 ,并且冒号后面通常需要一个空格。
-
Disallow:
- 作用:指定不允许爬虫访问的目录或文件。
- 值:要禁止抓取的路径,路径以 开头表示根目录。
- 示例:
Disallow: /:禁止访问整个网站。Disallow: /admin/:禁止访问admin目录。Disallow: /data/:禁止访问data目录(通常存放敏感数据)。Disallow: /dede/:禁止访问织梦后台目录。Disallow: /templets/:禁止访问模板目录(通常没必要,但可以防止模板代码被收录)。Disallow: /*.php:禁止访问所有.php文件(不推荐,会禁止掉所有动态页面)。Disallow: /?:禁止访问所有带 的动态URL(不推荐,会禁止掉所有列表页、搜索页等)。
-
Allow:
(图片来源网络,侵删)- 作用:与
Disallow相反,指定允许爬虫访问的目录或文件,通常在Disallow一个大范围后,使用Allow来放行某个特定文件。 - 示例:
Disallow: /:禁止访问整个网站。Allow: /sitemap.xml:但允许访问sitemap.xml文件。
- 作用:与
-
Sitemap:
- 作用:告诉搜索引擎网站地图(sitemap)的位置,这是一个非常友好的指令,能帮助搜索引擎更高效地发现和收录你的网站页面。
- 值:必须是网站地图文件的完整URL(绝对路径)。
- 示例:
Sitemap: https://www.yourdomain.com/sitemap.xml
织梦(DedeCMS)网站 robots.txt 的写法建议
织梦(DedeCMS)是一个PHP开发的CMS系统,其目录结构决定了我们需要禁止一些非内容性的目录,并引导蜘蛛去抓取我们的文章、栏目等页面。
通用型(推荐给大多数用户)
这个版本适用于绝大多数织梦网站,它禁止了后台、数据、缓存、会员和模板目录,同时提供了网站地图。
User-agent: * Allow: / # 禁止访问的目录 Disallow: /dede/ # 后台管理目录 Disallow: /data/ # 数据文件目录 Disallow: /include/ # 核心函数目录 Disallow: /uploads/ # 上传目录(可选,防止图片被盗链或收录非本站图片) Disallow: /templets/ # 模板文件目录 Disallow: /plus/ # 功能模块目录(可能包含一些非内容页面) Disallow: /member/ # 会员中心 Disallow: /special/ # 专题目录(如果专题页不重要) Disallow: /app/ # 移动端目录(如果使用独立域名或不想被收录) Disallow: /static/ # 静态资源目录(JS, CSS等) Disallow: /html/ # 默认生成的静态HTML文件目录(可选,如果网站是全静态生成,可以禁止,让蜘蛛抓取动态链接以保持最新) # 禁止访问特定文件 Disallow: /search.php # 搜索页面 Disallow: /tags.php # 标签页面(如果不想被收录) Disallow: /list.php # 列表页(不推荐,因为栏目列表是重要内容) Disallow: /feedback.php # 评论/反馈页面 Disallow: /digg.php #顶一下页面 Disallow: /plus/*.php # 禁止plus目录下的所有php文件 # 禁止访问URL参数(防止重复页面问题) Disallow: /*?* Disallow: /*&* Disallow: /*?* # 提交网站地图(非常重要!) Sitemap: https://www.yourdomain.com/sitemap.xml
代码解析:
User-agent: *和Allow: /:首先声明规则对所有爬虫生效,并允许访问所有页面。Disallow: /...:我们逐一排除掉那些不应该被收录的目录和文件,这是最核心的部分。Disallow: /*?*:这条规则非常重要,它能有效防止搜索引擎抓取带 的动态URL,从而避免动态页面与静态页面(或不同参数的页面)造成内容重复,导致权重分散。Sitemap: ...:我们提供一个清晰的网站地图,方便搜索引擎抓取。
针对特定搜索引擎的定制化规则
如果你的网站主要面向百度或谷歌,可以分别为它们写规则,这样更精确。
# 针对所有搜索引擎的通用规则 User-agent: * Disallow: /dede/ Disallow: /data/ Disallow: /include/ Disallow: /uploads/ Disallow: /templets/ Disallow: /plus/ Disallow: /member/ Disallow: /special/ Disallow: /app/ Disallow: /static/ Disallow: /html/ Disallow: /search.php Disallow: /tags.php Disallow: /feedback.php Disallow: /plus/*.php Disallow: /*?* Sitemap: https://www.yourdomain.com/sitemap.xml # 针对百度蜘蛛的特殊规则(可以更宽松一些) User-agent: Baiduspider Allow: /html/ # 针对谷歌蜘蛛的特殊规则 User-agent: Googlebot # 如果谷歌能很好地处理你的动态URL,可以不禁止list.php # Disallow: /list.php
如何创建和上传 robots.txt 文件?
-
创建文件:
- 使用记事本(Windows)、TextEdit(Mac)或任何代码编辑器(如 VS Code, Sublime Text)。
- 将上面推荐的内容复制粘贴进去。
- 务必将
https://www.yourdomain.com替换成你自己的网站域名。
-
保存文件:
- 点击“文件” -> “另存为”。
- 文件名:必须是
robots.txt,注意是小写,并且没有后缀名。 - 编码:选择 UTF-8 编码,避免中文乱码问题。
- 保存到你的电脑桌面。
-
上传文件:
- 通过FTP工具(如 FileZilla)连接到你的网站服务器。
- 进入网站根目录(通常是
/public_html/,/www/或/httpdocs/)。 - 将刚刚创建的
robots.txt文件从桌面拖拽到FTP软件的远程服务器目录中。
上传成功后,你就可以通过浏览器访问 https://www.yourdomain.com/robots.txt 来查看文件是否生效。
重要注意事项
robots.txt不是密码:它只是君子协议,恶意用户或竞争对手仍然可以访问到被禁止的目录,真正的敏感数据(如数据库配置文件)应该放在网站根目录之外,或通过服务器权限(如.htaccess)进行保护。- 不要禁止重要内容:确保你没有误禁止了栏目页、文章页、列表页等重要的内容页面,新手最常犯的错误就是禁止了
list.php或plus/目录,导致整个网站无法被收录。 - 检查语法:一个错误的
robots.txt可能会导致整个网站被禁止,上传后,务必使用官方工具进行检查。 - 验证工具:
- Google Search Console:在“robots.txt 测试器”中可以实时测试和验证你的
robots.txt文件。 - 百度搜索资源平台:提供了“Robots.txt 文件检测”工具。
- Google Search Console:在“robots.txt 测试器”中可以实时测试和验证你的
- 动态URL与静态URL:如果你的织梦网站开启了伪静态(将
a.php?id=1变成a/1.html),Disallow: /*.php规则就不再需要了,因为URL已经不再是.php结尾了,此时应关注Disallow: /*?*来避免动态参数带来的重复页面问题。
希望这份详细的指南能帮助你写出完美的织梦 robots.txt 文件!
