分页——搜索引擎索引的关键元素
已发表: 2017-11-08目录
关于分页的 SEO 指南,例如在线商店类别或博客文章,是一个反复出现的主题,并且有一些方法可以解决这个问题。 我们将讨论如何处理分页以帮助网络爬虫更轻松地处理内容。
什么是分页?
分页只是将网站上的特定资源划分为页面。 最简单的示例可以是大多数在线商店中的类别,在列出特定数量的产品后,用户可以转到产品列表的下一部分。 在一个类别中展示产品的另一种方法是无限滚动分页,当用户向下滚动时,会显示新产品和新产品。 博客也是如此。 一般来说,网站的哪个资源被分成几部分并不重要,重要的是你如何做以及你如何通知Googlebot随后的内容。
让网络爬虫做他们该做的事
分页时犯的一个基本错误是在第一个分页页面上使用规范标签。 即使在一种情况下它是合理的,它通常也是错误的。
例如,如果一个产品类别被分成几页,这意味着基页包含特定数量的产品,第二页包含另一组产品,依此类推,直到最后一个分页。
分页页面如下:
https://website.com/product-category/page-2
https://website.com/product-category/page-3
https://website.com/product-category/page-4
等等
因此,使用这样的规范链接没有多大意义:
<link rel="canonical" href="https://website.com/product-category" />
由于它是来自给定类别的产品的另一部分,因此第 2、3、4 页等不是主页的重复(除非不是这种情况,那么使用规范链接是合理的) .
当然,您可以提供规范链接,但要提供给他们自己。 在这种情况下,请在页面 https://website.com/product-category/ 上输入以下内容:
<link rel="canonical" href="https://website.com/product-category" />
以及页面 https://website.com/product-category/page-2 上的以下内容:
<link rel="canonical" href="https://website.com/product-category/page-2" />
包含所有内容的页面
有一个例外 -包含所有内容的基本页面,另外分为几个内容较少的子页面。 在这种情况下,使用规范链接是有意义的。 这是一种经常在内容很多的长篇文章中使用的做法。
因此,以下页面:
https://website.com/product-category/page-1
https://website.com/product-category/page-2
https://website.com/product-category/page-3
https://website.com/product-category/page-4
组合成一个逻辑序列实际上将包括您想要用于搜索引擎索引的基本页面 https://website.com/product-category/ 上的所有内容。
这个不幸的第一页…
另一个错误是复制类别基本页面https://website.com/product-category/ 与第一个分页页面 https://website.com/product-category/page-1
如果基本页面包含与 /page-1 相同的内容,那么复制是没有意义的——某些内容管理系统通常会生成(除了基本页面之外)以 /page-1 开头的第一个分页页面;在这种情况下,该地址应该例如使用重定向 301 重定向到基本页面,并且在代码中您应该提供一个链接,而不是 https://website.com/product-category/page-1 而是 https://website。 com/产品类别/
否则,您将遇到内部重定向问题,从而浪费 Googlebot 抓取给定网站的抓取预算。 换句话说,当您可以使用 HTTP 状态代码 200 直接链接到登录页面时,使用 Redirect 301 使用内部链接将其重定向是没有用的。
rel="next"andrel="prev" 属性
如果您决定按如下方式分页:
https://website.com/product-category/
https://website.com/product-category/page-2
https://website.com/product-category/page-3
https://website.com/product-category/page-4
然后您可以向爬虫指示各个页面之间的关系。 在 <head> 部分中提供具有 rel 属性的相关链接会突出显示序列的各个页面。
在第一个(基本)页面上,输入以下内容:
<link rel="next" href="https://website.com/product-category/page-2">
作为包含同一资源的一部分的另一个页面。
在下一页,即 https://website.com/product-category/page-2,输入以下内容:
<link rel="prev" href="https://website.com/product-category/"> <link rel="next" href="https://website.com/product-category/page-3">
继续,在第三页,即 https://website.com/product-category/page-3:
<link rel="prev" href="https://website.com/product-category/page/page-2"> <link rel="next" href="https://website.com/product-category/page-4">
假设 /page-4 是分页序列中的最后一个,请在其中放置以下内容:
<link rel="prev" href="https://website.com/product-category/page-3">
它是带有“rel next/prev”属性的标题中最常用的链接组合。 有时会在代码中的链接“<a href=”中添加属性(例如,在列表下方),但最好将它们放在<head> 部分- 爬虫越早获得剩余资源所在位置的线索, 更好。
您需要记住,具有“rel next/prev”属性的链接不是绝对指令,也就是说,在抓取网站时可以但不必考虑它们。 此外,使用绝对路径指向后续页面是值得的,尽管 Google 指南说“值可以是绝对路径和相对路径”。 但是,对于在 URL 中有参数的页面,例如排序参数,它们也应该放在“rel next/prev”链接中——例如,以下页面:
https://website.com/product-category/page-3&sort=desc
将在 <head> 部分中包含以下链接:
<link rel="prev" href="https://website.com/product-category/page-2&sort=desc"> <link rel="next" href="https://website.com/product-category/page-4&sort=desc">
但是一个仅指向自身的规范标签(没有按降序排序的参数):
<link rel="canonical" href="https://website.com/product-category/page-3"/>
索引还是不索引?
分页时面临的另一个问题是滥用机器人元标记。 谷歌声称,单个页面将被视为一个逻辑顺序,这将导致考虑到其链接的属性,并且在大多数情况下将帮助用户显示第一页。
通常情况下,单个分页页面尽管通过具有“rel next/prev”属性的链接相互连接,但仍位于搜索引擎索引中。 如果您对此有疑问,最好使用以下方法:
<meta name="robots" content="noindex, follow" />
在随后的页面上,即在 /page-2 和更高版本上。 网络爬虫将爬取链接直到最后一个分页页面,但不会将它们编入索引。
那么规范呢?
与 John Mueller (https://plus.google.com/+JohnELincoln/posts/TCJHwdZHdQc) 的讨论清楚地表明,您不应将“无索引”元标记与指向可索引 URL 的规范结合起来。 因此,在这种情况下,如果分页页面上的规范链接指向自身,则不放置“无索引”元标记,反之亦然。
我没有注意到抓取带有指向页面本身的规范链接和“无索引”元标记的分页页面的任何问题; 然而,谷歌想要自己决定什么索引和什么不索引,所以也许我们应该让谷歌来做。
分页和网站 XML 站点地图
这是一个有趣的案例:您宁愿不要在 sitemap.xml 中输入分页链接,而只输入例如类别或包含所有内容的主要文章的基地址。 原则上,在 XML 站点地图中应该输入您想要索引的那些地址,因此如果您不关心分页索引,请不要包含指向 /page-2 和更高版本的 URL。 自然,如果您使用“无索引”机器人元标记来阻止它,那就更简单了——不要提供它们。
分页页面作为参数
如果您想支持从最后一个分页页面索引产品/文章,请为网络爬虫提供对超出基本类别的其他类别页面的无限制访问。 通常情况下,单个页面具有“ ?page= ”或“ ?p= ”参数,并且可能与其余参数一起在robots.txt中被错误地阻止。
Google Search Console中的 URL 参数也是如此。 值得向 Googlebot 展示这些参数负责将资源划分为页面并让机器人做出决定。
分类的分页和描述
一种经常遵循的做法是扩展类别内容,例如在线商店。 经常会在所有分页 URL 上以未更改的形式显示添加的描述。 如果所有页面都被视为一个逻辑序列并通过“rel next/prev”属性组合成一个整体,那么在/page-2、/page-3等上似乎没有必要复制相同的文本。
就列出的产品而言,它是相似的:每个后续页面都显示一组新产品,用户既不想在每个页面上一直阅读相同的类别描述,也不想在类别中进一步查看相同的产品. 但是有一个问题——谁会阅读类别描述? Googlebot 可能会这样做,所以不要给它重复输入。
如果使用无限滚动,是否需要分页?
事实证明,在“无限滚动”解决方案中,分页也是一个可行的选项,通过向下滚动一个类别中的产品/文章列表,可以显示新资源。 John Mueller (http://scrollsample.appspot.com/items) 提供了一个合理的示例:在滚动列表时,指向后续页面的新参数被添加到 URL。
http://scrollsample.appspot.com/items?page=2
http://scrollsample.appspot.com/items?page=3
等等等等。
显然,这里使用了带有“rel next/prev”属性的链接,并提供了指向自身的规范链接; 例如在http://scrollsample.appspot.com/items?page=5,如下:
<link rel="canonical" href="/items?page=5" /> <link rel="next" href="/items?page=6"/> <link rel="prev" href="/items?page=4"/>
分页作为索引策略的一个元素
应用特定分页解决方案的决定自然是您的决定。 上述示例并非在所有情况下都是完美的选择,因为您可能会遇到技术困难、CMS 问题,或者只是与所采用的索引策略相反。 但是,值得将分页优化到至少不会阻止 Googlebot 抓取网站的程度,以及促进对在单次访问期间不易访问的隐藏产品/文章页面的索引。