想要让 Google 只收录具体的文章详情页Post/Article,而彻底拒绝收录文章列表页Index/Archive和标签页Tag/Category,可以通过结合robots.txtHTML 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 的权重就会完全集中在你精心编写的高质量文章上。