抓取 12 月:分面导航
2024 年 12 月 17 日,星期二
我们刚刚发布了关于分面导航最佳实践的新文档,该文档最初发布为一篇博文。
以下是新文档页面中的一些重要内容的摘要。
分面导航是一种非常棒的方式,可帮助用户在您的网站上找到所需内容,但如果不谨慎实施,可能会演变为一场 SEO 噩梦。为什么?因为它可以生成近乎无限数量的网址,从而导致:
-
过度抓取:搜索引擎浪费时间抓取对搜索用户毫无价值的无数网址。
-
发现速度变慢:过度抓取会减慢系统发现重要新内容的速度。
事实上,迄今为止,网站所有者向我们反馈的过度抓取问题中,最常见的来源便是分面导航。而在绝大多数情况下,只要遵循一些最佳实践,就可以避免出现此类问题。但我们先来梳理一下一些信息。
网址问题
分面导航中的每个过滤条件组合通常会创建一个唯一的网址。例如:
https://example.com/items.shtm?products=fish&color=radioactive_green&size=tiny
更改任何参数(product
、color
或 size
)都会创建一个新网址,从而导致网址数量激增。这就是问题所在:几乎无限数量的新网址等待被发现。我们来解决这个问题。
两种方法
-
屏蔽分面导航网址:
-
如果您不需要将这些网址编入索引,请使用
robots.txt
禁止抓取。
-
或者,使用网址片段 (
#
) 作为过滤条件,因为搜索引擎通常会忽略它们。
-
优化分面导航网址(如果您需要 Google 抓取这些网址,无论成本如何):
-
为网址参数使用标准
&
分隔符。💩 不是合适的参数分隔符字符。
- 在网址路径中保持顺序一致的过滤条件。
- 对于没有结果的过滤条件组合,返回
404
状态代码。
-
除非您别无选择(例如,您有一个单页面应用),否则请避免将空白结果重定向到通用的“找不到”页面。
重要注意事项
-
您还可以使用
rel="canonical"
将变体内容指向主页面,以帮助整合信号。系统需要一段时间才能发现这一机制。
-
过滤条件链接上的
rel="nofollow"
可能会阻止抓取,但必须一致地应用。也就是说,指向这些页面的所有链接(内部和外部)都必须具有 rel="nofollow"
属性。
-
抓取分面导航网址始终会消耗服务器资源,并且可能会影响新内容的发现。
如果您对关于分面导航最佳实践的新文档有任何建议或需要解释说明,请使用该文档中的反馈工具告诉我们。如果您对分面导航非常感兴趣,并想与他人讨论相关问题,请访问搜索中心社区,您也可在 LinkedIn 上找到我们。
发布者:Gary Illyes
想详细了解抓取?请查看整个“抓取 12 月”系列:
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
[null,null,[],[[["Faceted navigation can cause overcrawling and slow down the discovery of new content due to the creation of a near-infinite number of URLs."],["If faceted navigation URLs don't need to be indexed, you can block them using `robots.txt` or URL fragments (`#`)."],["If faceted navigation URLs must be crawled, use standard `&` separators, maintain a consistent filter order, and return a `404` status for empty result combinations."],["Consolidate signals by using `rel=\"canonical\"` to point to a main page, or use `rel=\"nofollow\"` consistently to discourage crawling of filter links."],["Crawling faceted navigation URLs consumes server resources and impacts new content discovery."]]],["Faceted navigation can create excessive URLs, leading to overcrawling and slower discovery of important content. To mitigate this, block unnecessary URLs via `robots.txt` or URL fragments. If indexing is needed, use standard URL parameter separators, maintain consistent filter order, and return 404 errors for empty results. Employ `rel=\"canonical\"` to consolidate signals and `rel=\"nofollow\"` consistently to limit crawling. Remember that crawling these URLs consumes resources, regardless of best practices.\n"]]