rel=self 是用于论坛永久链接的正确 rel 标签吗?

Is rel=self the correct rel tag to use for forum permalinks?

我一直在和我的朋友们一起从头开始建立一个论坛只是为了好玩,我们开始看到机器人和抓取工具过去了。我们遇到的问题是您可以加载一个包含四个回复的页面 /post/1,并且每个回复都包含一个小的 permalink 本身 /reply/1#reply-1。如果我在 /post/1 并导航到 /reply/1,我将直接回到我开始的地方,只是回复的锚点。但! Scrapers 不知道是这种情况,所以他们打开每个 /post link 然后跟随每个 /reply link,这会导致性能问题,所以我一直在寻找围绕 SEO 网站尝试修复它。

我已经开始在 /reply 页面上使用 rel=canonical 来告诉机器人它们都是一样的,但据我所知这对我没有帮助 直到机器人已经加载了页面,因此我得到了大量的流量。更改 my

是否正确
<a href="/reply/1#reply-1">Permalink</a>

标签到

<a href="/reply/1#reply-1" rel="self">Permalink</a>

因为它们应该是相同的内容?还是这会误用 rel="self" 而我应该使用另一个更好的 rel 标签?

selflink类型没有为HTML定义(但是for Atom), so it can’t be used in HTML5文档。

canonicallink类型适合你的情况(如果你确保它总是指向正确的页面,以防线程已分页),但它不会阻止机器人抓取 URLs.

如果你想防止抓取,没有 link 类型会有所帮助(甚至 nofollow link 类型,但它是 无论如何)。您必须使用 robots.txt,例如:

User-agent: *
Disallow: /reply/

也就是说,您可能要考虑更改 permalink 设计。我认为拥有这样的架构是没有用的(无论是对你的用户还是机器人)。每个文档只有一个 URL 是一个很好的做法,如果用户想要 link 到某个 post,如果实际上相同,则没有理由要求加载新页面文件.

所以我会使用“规范的”URL 并添加一个片段组件(/post/1#reply-1,或者更有意义的:/threads/1#post-1),或者(如果您认为它可能对您的用户有用)我会创建一个 包含回复的页面(带有 link 返回完整线程)。