我一直在和朋友们一起建立一个论坛,只是为了好玩,我们开始看到机器人和刮刀经过了。我们遇到的问题是你可以加载一个带有四个回复的页面/帖子/ 1,每个回复包含一个自己/ reply / 1#reply-1的永久链接。如果我在/ post / 1并导航到/ reply / 1,我将最后回到我开始的地方,只需要锚点回复。但! Scrapers不知道是这种情况,所以他们打开每个/ post链接然后跟随每个/回复链接,这导致性能问题,所以我一直在寻找SEO网站试图解决它。
我已经开始在/ reply页面上使用rel = canonical,告诉机器人它们都是一样的,但据我所知,这对我来说无法帮助直到机器人已经加载页面,因此我结束了大量的流量。改变我的
是否正确<a href="/reply/1#reply-1">Permalink</a>
标记为
<a href="/reply/1#reply-1" rel="self">Permalink</a>
因为它们应该是相同的内容?或者这会误用rel =“self”而且我应该使用另一个更好的rel标签?
答案 0 :(得分:0)
self
链接类型未针对HTML定义(但for Atom),因此can’t be used in HTML5文档。
canonical
链接类型适用于您的情况(如果确保它始终指向正确的页面,以防线程被分页),但它不适用防止僵尸程序抓取网址。
如果您想阻止抓取,则无法使用任何链接类型(甚至 nofollow
链接类型,但无论如何都是not appropriate for your case)。您必须使用 robots.txt ,例如:
User-agent: *
Disallow: /reply/
也就是说,您可能需要考虑更改永久链接设计。我认为拥有这样的架构对于用户和机器人都没有用。每个文档只有一个URL是一个好习惯,如果用户想要链接到某个帖子,没有理由要求新页面加载,如果它实际上是同一个文档。
所以我要么使用&#34; canonical&#34; URL并添加一个片段组件(/post/1#reply-1
,或者更有意义的内容:/threads/1#post-1
),或者(如果您认为它对您的用户有用)我会创建一个仅的页面包含回复(带有返回完整主题的链接)。