当前位置:首页 > SEO优化 > 正文

SEO操作中如何屏蔽不想被收录的网站链接

今天聊聊一个很实际的问题,做网站的朋友可能会碰到。

SEO操作中如何屏蔽不想被收录的网站链接

有些页面你不想让搜索引擎抓取和收录。

比如后台页面、测试页面、重复内容,或者一些内部工具链接。

如果这些链接被爬虫抓了,可能会浪费抓取配额,稀释主站权重,甚至带来安全问题。

怎么有效屏蔽它们,就是我要说的。

为什么要屏蔽特定链接

先明确目的。不是所有链接都适合出现在搜索结果里。

我总结了几类需要屏蔽的典型情况。

  • 网站后台和登录入口。这个不用多说,安全第一。
  • 站内搜索的结果页。这些页面由用户关键词动态生成,内容不稳定,价值低。
  • 网站过滤、排序产生的参数链接。比如 ?sort=price&order=asc,容易产生大量内容相似的URL。
  • 临时性的测试页面或未完成的内容。
  • 一些打印页、PDF生成页等衍生页面。
  • 重复的内容,比如通过不同URL访问同一篇文章。

让搜索引擎索引这些页面,没好处,还可能有害。

SEO操作中如何屏蔽不想被收录的网站链接

核心方法:robots.txt

最常用、最直接的方法是 robots.txt 文件。

这个文件放在网站根目录,比如 https://www.example.com/robots.txt。

它用来告诉爬虫,哪些目录或文件不要抓取。

基本语法很简单。

User-agent:*

Disallow: /admin/

Disallow: /search/

Disallow: /tmp/

Disallow: /*?sort=

User-agent:*表示对所有爬虫生效。

Disallow 后面跟的是你不想被抓取的路径。

注意几个关键点。

  1. 路径区分大小写。 /Admin/ 和 /admin/ 可能被视作不同路径。
  2. 使用通配符。 星号 (*) 可以匹配任意字符序列。比如 Disallow: /*?*可以屏蔽所有带查询参数的URL。
  3. 要屏蔽整个目录,路径末尾加斜杠,如 Disallow: /private/。
  4. 单独屏蔽一个文件,直接写完整路径,如 Disallow: /config.php。

robots.txt 是请求性的,不是强制性的。

大部分正规爬虫会遵守,但恶意爬虫可能无视。

所以它不能用于屏蔽敏感信息,敏感内容应该用密码或服务器权限保护。

更精准的控制:Meta Robots 标签

如果你需要页面级别的精准控制,就用 meta robots 标签。

这个标签写在网页HTML代码的 <head> 区域。

它直接指令爬虫这个页面该怎么处理。

常用指令有这么几个。

  • noindex: 告诉爬虫不要索引这个页面。
  • nofollow: 告诉爬虫不要跟踪这个页面上的链接。
  • noarchive: 告诉搜索引擎不要显示快照。
  • nosnippet: 告诉搜索引擎不要在搜索结果中显示描述片段。
  • max-snippet: [number]: 设置描述片段的最大长度。
  • max-image-preview: [size]: 设置图片预览的大小。

你可以组合使用。

<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标签的指令。

处理已收录的链接:移除URL

如果不想收录的链接已经被搜索引擎索引了,怎么办?

你需要主动申请移除。

以Google Search Console为例,操作步骤如下。

  1. 确保你拥有该网站Search Console的验证权限。
  2. 在工具中找到“移除网址”功能。
  3. 输入你想移除的完整URL。
  4. 选择移除原因,比如“页面有noindex标签”或“页面已返回404/410状态码”。
  5. 提交请求。Google会快速处理临时移除请求,大约24小时生效,但这个移除是临时的,大约持续6个月。

永久移除,需要确保页面本身已设置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的“覆盖率”报告,百度搜索资源平台的“索引量”工具,都能帮你查看哪些页面被索引,是否存在问题。

定期查看,确保你的屏蔽策略按预期工作。

最新文章