【问题标题】:Is rel=self the correct rel tag to use for forum permalinks?rel=self 是用于论坛永久链接的正确 rel 标签吗?
【发布时间】:2016-10-01 20:19:36
【问题描述】:

我一直在和我的朋友们从零开始建立一个论坛,只是为了好玩,我们开始看到机器人和爬虫消失了。我们遇到的问题是您可以加载一个页面/post/1 有四个回复,每个回复都包含一个指向自身/reply/1#reply-1 的小永久链接。如果我在 /post/1 并导航到 /reply/1,我将回到我开始的地方,只是回复的锚点。但! Scrapers 不知道是这种情况,所以他们打开每个 /post 链接,然后跟踪每个 /reply 链接,这会导致性能问题,所以我一直在寻找 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 标签?

【问题讨论】:

  • 我投票结束这个问题,因为它是关于 SEO 的

标签: seo permalinks rel


【解决方案1】:

self 链接类型不是为 HTML 定义的(而是for Atom),所以它是can’t be used in HTML5 文档。

canonical 链接类型适合您的情况(如果您确保它始终指向正确的页面,以防线程被分页),但它不会阻止机器人从抓取网址。

如果您想阻止抓取,任何链接类型都无济于事(即使是 nofollow 链接类型,但无论如何都是 not appropriate for your case)。您必须使用 robots.txt,例如:

User-agent: *
Disallow: /reply/

也就是说,您可能需要考虑更改永久链接设计。我认为拥有这样的架构没有用(对您的用户和机器人都没有)。每个文档只有一个 URL 是一种很好的做法,如果用户想要链接到某个帖子,那么如果它实际上是同一个文档,就没有理由要求加载新页面。

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

【讨论】:

  • 我的用户的用例是登录的用户可以自定义他们的默认 per_page 设置;因此,任何关注/reply/1 链接而不是/post/1 的人都将自动被带到该回复的正确页面;在/post/1 上获得相同的行为需要链接到/post/1?reply_id=1 或以某种方式解析锚参数,这两种方法似乎都不理想。
  • @Marri:我想我不明白这一点,但如果您的目标是阻止来自机器人的流量,我认为您唯一的选择是使用 robots.txt(因此符合要求的机器人永远不会访问路径以/reply 开头的任何 URL)。
猜你喜欢
  • 2015-08-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-23
相关资源
最近更新 更多