💡 核心摘要:如果不希望某个页面出现在 Google 搜索结果中,应使用
noindex。HTML 页面可以用 robots meta,PDF、图片等非 HTML 资源可以用X-Robots-Tag响应头。关键前提是:Google 必须能抓取该 URL 并看到noindex,否则指令无法可靠生效。
一、noindex 解决什么问题
noindex 用来告诉 Google:这个页面或资源不应出现在搜索结果中。它适合处理草稿页、内部搜索页、低价值重复页、临时活动页、会员页预览、测试页面和不希望公开展示的文件。
它控制的是“是否索引”,不是“是否抓取”。Google 需要先访问页面或资源,读取到 noindex 后,才会把它从索引中排除或不再展示。
💡 如果目标是阻止进入搜索结果,用
noindex;如果目标是阻止抓取请求,用 robots.txt 或访问权限控制。
二、HTML 页面使用 robots meta
对普通 HTML 页面,最常见做法是在 <head> 中加入 robots meta。Google 抓取并解析该页面后,会识别 noindex 指令,并在后续处理时不把该页面显示在搜索结果中。
robots meta 必须位于有效 HTML 的 <head> 中。不要把它放在 body、错误模板或 JavaScript 延迟插入的位置。对模板化站点来说,尤其要避免在生产模板中误加全站 noindex。
HTML 示例
<meta name="robots" content="noindex">
⚠️ 上线前一定要抽查重要模板。一次错误的
noindex可能让大量页面从搜索结果中消失。
三、非 HTML 资源使用 X-Robots-Tag
PDF、图片、视频、文档和其他非 HTML 资源没有 <head>,因此不能使用页面内 meta。对这类资源,应通过 HTTP 响应头添加 X-Robots-Tag: noindex。
这个方式也可以用于 HTML 页面,但它最适合大规模文件、特定目录或资源类型的索引控制。配置后应使用 curl -I 检查线上响应头是否真正返回。
响应头示例
X-Robots-Tag: noindex
💡 如果你发现 PDF 出现在搜索结果中,优先检查服务器是否能给该文件返回
X-Robots-Tag。
四、Google 必须能看到 noindex
noindex 生效的前提是 Google 能抓取 URL。如果页面被 robots.txt 阻止抓取,Google 可能无法读取页面里的 robots meta,也无法确认响应头里的规则。
这会造成常见误区:你同时在 robots.txt 阻止页面,又在页面里写 noindex,以为双重保险。实际上,robots.txt 可能让 Google 看不到 noindex,导致 URL 仍以不完整形式留在索引里。
⚠️ 要让已收录页面退出索引,通常应允许 Google 抓取它并看到
noindex,等待处理完成后再决定是否限制抓取。
五、不要在 robots.txt 中写 noindex
Google 官方明确说明,robots.txt 规则中不支持 noindex。因此不要写类似 Noindex: /path/ 的规则,也不要把它当作索引移除方式。
robots.txt 的职责是控制抓取路径,不是传递索引指令。需要阻止索引时,应使用 HTML robots meta、X-Robots-Tag、删除页面、访问权限或 Search Console 移除工具。
错误示例
User-agent: *
Noindex: /private/
💡 robots.txt 文件里只写抓取规则。索引控制放在页面、响应头、状态码或访问权限层处理。
六、等待 Google 重新抓取和处理
添加 noindex 后,页面不会立刻从搜索结果消失。Google 需要重新抓取 URL,读取指令,再更新索引状态。对于低频抓取页面,这个过程可能需要更长时间。
如果需要尽快隐藏已经出现在搜索结果中的页面,可以结合 Search Console 的移除工具临时隐藏,同时保留 noindex 作为长期信号。临时移除不是长期解决方案,最终仍要让页面返回正确指令或状态。
⚠️ 不要因为搜索结果没有马上消失就反复切换规则。先用网址检查工具确认 Google 能看到
noindex。
七、验证 noindex 是否生效
验证时要同时检查 HTML、响应头和 Search Console。HTML 页面看源码,非 HTML 文件看响应头;然后用网址检查工具查看 Google 是否能抓取并读取到索引控制。
如果页面仍出现在搜索中,常见原因包括:Google 还没重新抓取、页面被 robots.txt 阻止导致看不到 noindex、CDN 没有返回响应头、模板没有真正上线,或页面存在规范化和重定向干扰。
检查命令
curl -I https://example.com/private/report.pdf
curl -I https://example.com/test-page
💡 验证结果以线上响应和 Google 工具为准,不要只看本地模板。
📌 核心收获
- ✓ noindex 控制索引,不控制抓取:Google 需要先访问页面才能看到指令。
- ✓ HTML 页面用 robots meta:放在有效
<head>中。 - ✓ 非 HTML 资源用 X-Robots-Tag:PDF、图片、视频适合响应头控制。
- ✓ robots.txt 不支持 noindex:不要在 robots.txt 中写索引规则。
- ✓ 不要阻止 Google 读取 noindex:被 robots.txt 屏蔽的页面可能无法可靠移除索引。
- ✓ 移除需要等待重新处理:必要时用 Search Console 临时移除配合长期信号。
🚀 立刻行动
- 列出需要退出 Google 搜索的 URL,并区分 HTML 页面和非 HTML 资源。
- 对 HTML 页面,在有效
<head>中加入<meta name="robots" content="noindex">。 - 对 PDF、图片、视频或文档,用服务器返回
X-Robots-Tag: noindex。 - 检查 robots.txt,确认没有阻止 Google 抓取这些需要读取
noindex的 URL。 - 删除 robots.txt 中任何
Noindex:写法,因为 Google 不支持它。 - 用
curl -I和网址检查工具确认线上能返回并读取noindex。 - 对紧急隐藏需求,使用 Search Console 移除工具临时处理,同时保留长期
noindex。
来源:阻止搜索引擎将网页编入索引 | 本文为知识提炼与重新表达
RELATED / 相关推荐
接着读这些
按同一分类、系列与标签为你挑选。
从 Google 移除网页信息
从 Google 移除网页信息要区分临时隐藏和永久移除。Search Console 移除工具只能快速隐藏约 6 个月,长期处理必须删除、更新、加权限或 noindex。
控制内容是否进入 Google
控制内容进入 Google 要先区分目标:删除内容、限制访问、阻止索引、屏蔽媒体资源、退出特定 Google 产品,或临时移除已展示结果。
不改网址的网站托管迁移指南
更换托管商或接入 CDN 时,即使 URL 不变,也要提前测试新环境、确认 Googlebot 可访问、降低 DNS TTL,并监控新旧服务器流量。