如何为 2 部分博客条目设置规范 URL?

How to set canonical URL for 2 part blog entry?

我有一个包含 Photoshop 教程的博客,由于我的一些教程很长,所以我决定将内容分成几个部分

http://www.psd-dude.com/tutorials/how-to-make-a-coffee-stain-text-in-photoshop.aspx

http://www.psd-dude.com/tutorials/how-to-make-a-coffee-stain-text-in-photoshop.aspx?part=2

并将两个页面的 canonical rel 设置为

http://www.psd-dude.com/tutorials/how-to-make-a-coffee-stain-text-in-photoshop.aspx

这比拥有 2 个规范链接的选项更好吗?请注意,我希望将两部分的图片和文字编入索引。

在这种情况下不允许使用 canonical link 类型。

RFC 6596 defines:

The target (canonical) IRI MUST identify content that is either duplicative or a superset of the content at the context (referring) IRI.

但是您的第二页不包含在第一页中(或与第一页相同)。

所以你有这些选择:

  • 引入一个包含全部内容的页面,并使该页面成为所有分页页面的 canonical 目标(但如果这样做,您可能要考虑停止在第一个页面中提供分页版本地方)。请注意,仅当分页页面 don’t have separate user comments(或任何其他独特内容)时才允许这样做。
  • 使用 self-referential canonical 个目标。
  • 省略canonical.

您可以使用 canonical 进行分页来解决:

  1. 在第一页的<head>部分(www.psd-dude.com/tutorials/how-to-make-a-coffee-stain-text-in-photoshop.aspx), 添加指向序列中下一页的 link 标记,如下所示:

    <link rel="canonical" href="http://www.psd-dude.com/tutorials/how-to-make-a-coffee-stain-text-in-photoshop.aspx">
    <link rel="next" href="http://www.psd-dude.com/tutorials/how-to-make-a-coffee-stain-text-in-photoshop.aspx?part=2">
    

    因为这是序列中的第一个 URL,所以不需要为 rel="prev" 添加标记。

  2. 在第二页和第三页,添加links指向序列中的上一个和下一个URLs。例如,您可以将以下内容添加到序列的第二页:

    <link rel="prev" href="http://www.psd-dude.com/tutorials/how-to-make-a-coffee-stain-text-in-photoshop.aspx">
    <link rel="canonical" href="http://www.psd-dude.com/tutorials/how-to-make-a-coffee-stain-text-in-photoshop.aspx?part=2">
    <link rel="next" href="http://www.psd-dude.com/tutorials/how-to-make-a-coffee-stain-text-in-photoshop.aspx?part=3">
    
  1. 在序列的最后一页 (www.psd-dude.com/tutorials/how-to-make-a-coffee-stain-text-in-photoshop.aspx?part=4>),添加一个 link 指向以前的 URL,像这样:

    <link rel="prev" href="http://www.psd-dude.com/tutorials/how-to-make-a-coffee-stain-text-in-photoshop.aspx?part=3">
    <link rel="canonical" href="http://www.psd-dude.com/tutorials/how-to-make-a-coffee-stain-text-in-photoshop.aspx?part=4">
    

    因为这是序列中的最后一个URL,所以不需要添加rel="next" link.