今天聊聊一个很实际的问题,做网站的朋友可能会碰到。
有些页面你不想让搜索引擎抓取和收录。
比如后台页面、测试页面、重复内容,或者一些内部工具链接。
如果这些链接被爬虫抓了,可能会浪费抓取配额,稀释主站权重,甚至带来安全问题。
怎么有效屏蔽它们,就是我要说的。
先明确目的。不是所有链接都适合出现在搜索结果里。
我总结了几类需要屏蔽的典型情况。
让搜索引擎索引这些页面,没好处,还可能有害。
最常用、最直接的方法是 robots.txt 文件。
这个文件放在网站根目录,比如 https://www.example.com/robots.txt。
它用来告诉爬虫,哪些目录或文件不要抓取。
基本语法很简单。
User-agent:*
Disallow: /admin/
Disallow: /search/
Disallow: /tmp/
Disallow: /*?sort=
User-agent:*表示对所有爬虫生效。
Disallow 后面跟的是你不想被抓取的路径。
注意几个关键点。
robots.txt 是请求性的,不是强制性的。
大部分正规爬虫会遵守,但恶意爬虫可能无视。
所以它不能用于屏蔽敏感信息,敏感内容应该用密码或服务器权限保护。
如果你需要页面级别的精准控制,就用 meta robots 标签。
这个标签写在网页HTML代码的 <head> 区域。
它直接指令爬虫这个页面该怎么处理。
常用指令有这么几个。
你可以组合使用。
<meta name="robots"="index, nofollow"gt;
这行代码的意思是,既不索引这个页面,也不跟踪页面上的链接。
如果你想对特定搜索引擎生效,可以指定名字。
<meta name="ebot" content=
oindex"gt;
<meta name="bot" content=
oindex"gt;
meta标签的优先级,通常被认为高于robots.txt中的指令。
如果一个页面通过robots.txt禁止抓取,爬虫根本访问不了,也就读不到meta标签。
但如果爬虫能访问页面,它会遵从meta标签的指令。
如果不想收录的链接已经被搜索引擎索引了,怎么办?
你需要主动申请移除。
以Google Search Console为例,操作步骤如下。
永久移除,需要确保页面本身已设置noindex或返回404/410错误。
然后通过“移除网址”工具提交,谷歌重新抓取确认后,会将其从索引中永久删除。
百度搜索资源平台也有类似功能,叫“死链提交”。
将需要删除的URL列表制成txt文件,通过“死链提交”工具上传。
百度处理周期相对长一些,需要耐心等待。
到底该用哪种方法?我做个简单对比。
| 场景 | 推荐方法 | 理由 | 注意事项 |
|---|---|---|---|
| 整个目录不需要抓取(如/admin/) | robots.txt Disallow | 管理方便,一劳永逸 | 确保目录下无需要收录的个别页面 |
| 单个页面不索引,但可被抓取 | Meta robots noindex | 精准控制,允许爬虫发现页面上的链接 | 页面需能被爬虫访问 |
| 带特定参数的动态URL(如?sessionid=) | robots.txt 通配符屏蔽 | 能批量屏蔽模式相同的URL | 通配符使用需准确,避免误伤 |
| 已收录的敏感页面急需下线 | 搜索平台移除工具 + noindex/404 | 最快让页面从搜索结果消失 | 移除后需保持页面状态,否则可能恢复收录 |
| 不想传递权重的站内链接 | 链接添加 rel="ofollow"属性 | 仅针对单个链接,不影响页面其他部分 | 适用于用户生成内容、广告链接等 |
说几个实际操作中容易碰到的问题。
关于robots.txt,路径规则要写对。
想屏蔽 /private 目录下所有内容,应该写 Disallow: /private/。
如果只写 Disallow: /private,那么像 /private.html 这样的文件不会被屏蔽。
想屏蔽所有带问号的动态URL,可以写 Disallow: /*?*。
但要注意,这可能会屏蔽掉一些对SEO有益的动态参数,比如分页参数。
所以最好精确指定,比如 Disallow: /*?sessionid=。
关于meta robots标签,要放在HTML的<head>部分,确保爬虫能尽早读到。
如果页面内容是通过JavaScript大量渲染的,爬虫可能在执行JS前就读取了meta标签并做出决定。
关于nofollow链接属性,用法是这样。
<a href="https://example.com/page.html"="ofollow"gt;这是一个链接</a>
这告诉爬虫不要通过这个链接传递权重,也不要将其作为发现新URL的入口。
但爬虫可能还是会访问这个链接,只是不传递权重。
如果想让爬虫完全不访问,需要用其他方法,比如robots.txt屏蔽,或者用JavaScript生成链接。
最后,任何屏蔽操作之后,建议在相应的搜索引擎站长工具里检查效果。
Google Search Console的“覆盖率”报告,百度搜索资源平台的“索引量”工具,都能帮你查看哪些页面被索引,是否存在问题。
定期查看,确保你的屏蔽策略按预期工作。
本文由小艾于2026-04-28发表在爱普号,如有疑问,请联系我们。
本文链接:https://www.ipbcms.com/28557.html