robots.txt文件必须存放在网站根目录下,文件名全小写,用于指导搜索引擎爬虫访问权限;若放错路径、命名错误或返回非200状态码则失效。
它不是 HTML 文件,也不能通过 <head> 插入;你没法在页面里“写”它,只能用 FTP 或部署脚本把它放到 /robots.txt 这个确切路径。常见错误包括:上传到子目录(如 /assets/robots.txt)、文件名写成 Robots.txt 或 robots.TXT、服务器返回 404 或 403。确认方式很简单:直接访问 https://yourdomain.com/robots.txt,必须能返回纯文本且 HTTP 状态码是 200。
这个标签对搜索引擎有效,但前提是页面被成功抓取——如果 robots.txt 已经禁止了该 URL,爬虫根本不会去请求 HTML,<meta name="robots" content="noindex"> 就完全没机会生效。所以它的适用场景很明确:允许抓取但禁止索引,比如登录页、测试页、A/B 分支页。注意几个细节:
content 值不区分大小写,但推荐全小写(noindex,nofollow)noindex, nofollow 是错的)X-Robots-Tag HTTP 响应头,它优先级高于 <meta>
robots.txt 的 Disallow 是“门禁”,管的是“能不能进门”;meta robots 的 noindex 是“室内标牌”,管的是“进门后能不能上架”。这意味着:
Disallow: /admin/ 无法阻止已存在的 /admin/login.html 出现在搜索结果中(它可能已被缓存或被外链引用)noindex 让它逐步退出索引,再配合 Disallow 阻止后续抓取Disallow 不等于删除:被屏蔽的页面仍可能被其他网站链接,从而出现在“已知但未抓取”的状态里noindex 页面从搜索结果移除,但保留对其外链的识别(影响站内权重传递)外贸站常见问题:产品页带 UTM 参数(/product?id=123&utm_source=email)或分页参数(/category?page=2),这类 URL 很可能被重复抓取甚至索引。解决方法不是逐条写 Disallow,而是用通配符或参数规则:
立即学习“前端免费学习笔记(深入)”;
mod_rewrite 或重写规则,统一 301 到规范 URLrobots.txt 中支持 $(行尾锚定)和 *(任意字符),例如:Disallow: /*?* 屏蔽所有带查询参数的 URL(慎用,可能误伤)<meta name="robots" content="noindex,follow">,比如 CMS 模板里加判断逻辑noindex 或受 robots.txt 阻止curl -A "Googlebot/2.1" https://yoursite.com/test-page")验证响应头和 HTML 内容。