SEO 避坑指南:如何让 Google 只收录 Hugo 文章页,拒绝列表与标签页。
想要让 Google 只收录具体的文章详情页Post/Article,而彻底拒绝收录文章列表页Index/Archive和标签页Tag/Category,可以通过结合robots.txt、HTML Meta标签以及 Google Search Console 来实现精准控制。以下是针对你独立博客的具体优化方案:
方法一:通过 robots.txt 规则彻底禁止抓取
这是最直接、最推荐的做法,在源头上阻止 Google 蜘蛛去爬行这些页面。在你的网站根目录robots.txt文件中,根据你的 URL 结构加入以下规则:
User-agent: *
- 禁止抓取标签页(假设你的标签路径是 /tags/)
Disallow: /tags/
- 禁止抓取分类页(假设你的分类路径是 /categories/)
Disallow: /categories/
- 禁止抓取分页(比如文章列表的第2页、第3页 /page/2/)
Disallow: /page/
💡 注意: 如果你的网站首页本身就是一个纯文章列表,千万不要对首页使用Disallow: /,否则整个网站都会被拒之门外。首页的过滤需要用到方法二。
方法二:在模板中精准投放 noindex 标签
如果你使用的是 Hugo 等静态网站生成器,可以通过修改主页、列表页和标签页的模板Layouts,让它们动态输出noindex。找到控制列表页List和标签页Terms的头部模板(通常在 layouts/partials/head.html或相关文件中),加入条件判断:
{{ if or .IsHome .Data.Terms }}
<meta name="robots" content="noindex, follow">
{{ else }}
<meta name="robots" content="index, follow">
{{ end }}
为什么这里要用noindex, follow?
noindex:告诉 Google 不要把这个列表或标签页放进搜索结果。follow:非常关键!告诉 Google 蜘蛛虽然不用收录这个列表,但要顺着这个列表里的文章链接爬进去。这样可以确保隐藏在列表后面的具体文章依然能被正常发现和收录。
方法三:在 Google Search Console 中进行清理
如果你发现有些标签页或列表页已经被 Google 收录了,修改完上述代码后,可以进入后台主动加速删除:
打开 Google Search Console 移除工具。
↓
点击 “新请求” (New Request)。
↓
选择 “清除包含此前缀的所有网址” (Clear all URLs with this prefix)。
↓
输入你的标签路径前缀,例如:https://www.domainname.com/tags/。
提交后,Google 会在几小时内把所有该路径下的标签页从搜索结果中隐去。
📝 检查你的配置效果,当你修改完毕并部署后,可以通过以下方式验证:
- 打开你的任意一个标签页(如
/tags/linux/),右键查看网页源代码。 - 确认
<head>区域内包含<meta name="robots" content="noindex, follow">。 - 打开任意一篇具体文章,确认其
<head>区域没有被误加上noindex,或者显示为index, follow。
通过这种“列表页只引路不收录,文章页既引路又收录”的策略,Google 的权重就会完全集中在你精心编写的高质量文章上。