rrit
(Ayke)
4
TL;DR:不要屏蔽非规范页面 - 只需通过 \u003clink rel=\"canonical\" … \u003e 指向正确的网址 - 这就是它的用途。
此功能可能会损害长期的 SEO 链接建设:
现在,所有指向主题内答案的深度链接都在 noindex 页面上!谷歌喜欢这样吗?
实际上,一个始终指向主题网址的 canonical 标签 - 即使是深度链接到答案的页面 - 也应该能完美地完成工作 - 而无需添加 X-Robots-Tag: noindex:
在首次抓取深度链接答案页面时,谷歌会识别出页面网址(主题内的答案)不符合规范网址,然后决定只抓取规范网址(主题)。
我们可以为所有执行此主题-答案深度链接的链接添加 \u003ca rel=\"nofollow\" …\u003e 吗? 编辑:不,请参阅 Search engines now blocked from indexing non-canonical pages - #9 by j127
这样,我们或许可以为搜索引擎节省更多宝贵的、有限的抓取预算:
搜索引擎首先不会提取链接,也不会调用该网址。调用该网址会返回一个带有 X-Robots-Tag: noindex http 标头的响应,导致该网址被添加到搜索引擎内部的“noindex”列表中,从而“丢弃”该响应。
通过为 RSS feed 网址添加 nofollow,可以进一步节省抓取预算:
5 个赞
arkklo
(Ark)
5
我完全同意 @rrit 的建议。
最好将主题内的子页面/帖子指向其原始规范,而不是阻止它们。
与其添加 noindex,我们能否在主题下的每个回复中添加 nofollow 标签?
1 个赞
Falco
(Falco)
6
这正是它目前的工作方式,所以我不太明白。
所以你的建议是我们需要在这里更新 URL
使用带有页码和帖子锚点的规范 URL?
这些已经通过 robots.txt 阻止了,但这是一个好主意!
听起来也是个好主意!
4 个赞
arkklo
(Ark)
7
你说得对,抱歉。我有时会陷入自己的思绪中。
快速问一下,我假设只要我们将 Discourse 更新到 v2.9,此功能就可以默认使用了?
4 个赞
j127
8
我认为该功能不应默认启用。从交通角度来看,这很危险,即使它只在很短的时间内启用,因此任何现在更新的人都可能遇到不受欢迎的意外。
canonical 标签是 Google 推荐处理该问题的方法,而且它似乎已经奏效。对 canonical 标签进行奇怪的操作可能会导致 Google 出现奇怪的问题,而 noindex 错误可能很难恢复。
2 个赞
j127
9
我同意你帖子的第一部分,但我不认为内部 nofollow 是理想的。内部链接有助于告诉搜索引擎哪些页面很重要。Google 不会跟踪它看到的每一个链接,因为它知道它已经见过它们了。如果它们看到一个像 example.com/t/1234/5 这样的网址,但已经抓取过它并且知道它的 canonical 网址是 example.com/t/1234,它们可能不会浪费计算资源多次访问非规范版本。
3 个赞
rrit
(Ayke)
10
移除外部网站链接的“noindex”
抱歉,“答案”的意思是主题中的“帖子”:
现在,从外部域到帖子的所有深度链接(例如 forum.example.com/t/example-topic/5/11)都带有 http 标头 X-Robots-Tag: noindex!我建议再次移除此 http 标头。

Falco:
使用带有页码和帖子锚点的规范 URL?
我建议对于 <link rel="canonical" … > 永远不要使用带有帖子锚点的 URL(…/t/example-topic/1234/5 中的最后一个数字)。规范 URL 应始终指向主题 URL 本身(…/t/example-topic/1234)。我认为它已经这样实现了。
如果目标 URL 被 <link rel="canonical" … > “重定向”,则为搜索引擎重写链接
非常好的观点,最好不要在这里添加 rel="nofollow"。
Discourse 有一个特殊的爬虫视图。针对爬虫视图的新建议仅:
将所有指向帖子 URL(example.com/t/1234/5)的内部链接转换为指向相应的主题 URL(example.com/t/1234)。
意图:当这些额外的 URL 无论如何都被 <link rel="canonical" … > “重定向”时,不要向搜索引擎宣布额外的 URL。
找到此类帖子链接的位置:
- 用户内容中手动添加的链接
- 自动生成的链接,位于:
- 引用
- 主题的第一个帖子:“来自其他主题的入站跟踪链接”
- 主题的第一个帖子:“精选答案”
- 主题的第一个帖子 - 主题地图打开:“主题链接”/“喜欢的链接”
题外话:Google 是如何找到所有这些 URL 的?
搜索引擎的“入站跟踪链接”

j127:
内部链接有助于告知搜索引擎哪些页面很重要。
正是出于这个原因,主题第一个帖子中自动生成的“来自其他主题的入站跟踪链接”也应该对搜索引擎可见。
现在这些“入站跟踪链接”在爬虫视图中缺失。 编辑:它们已在爬虫视图中。
但指向帖子 URL 而不是主题 URL(参见 HTML 源代码)
<div class="crawler-linkback-list" itemscope="" itemtype="http://schema.org/ItemList">
<div itemprop="itemListElement" itemscope="" itemtype="http://schema.org/ListItem">
<a href="https://meta.discourse.org/t/removing-the-2-3-4-etc-links-for-each-reply-within-a-topic-url/209648/26" itemscope="" itemtype="http://schema.org/DiscussionForumPosting" itemprop="item">
<meta itemprop="url" content="https://meta.discourse.org/t/removing-the-2-3-4-etc-links-for-each-reply-within-a-topic-url/209648/26">
<span itemprop="name">移除主题 URL 中每个帖子的 /2, /3, /4 等链接</span>
</a>
<meta itemprop="position" content="2">
</div>
</div>
3 个赞
Krischan
(Krischan)
11
这是一个关键点。让所有页面被索引是一回事,为它们获得相关的排名是另一回事。根据我的经验(在大型发布商网站上),巧妙的内部链接是实现这一目标的关键。
1 个赞
mstm
(mstm)
12
我今天早上刚更新,你推荐启用此项的非规范页面的索引吗?
我不想让我的索引变得更糟。
1 个赞
Falco
(Falco)
13
对于在 OP 发布日期之后更新其网站的任何人。
我们的数据显示,新的标头减少了这些页面的抓取时间,并且它们始终设置了规范化。
但那些页面无论如何都不应该被抓取。带有 URL 的元数据是在主题级别设置的,我们不希望 Google 抓取帖子级别的内容,因为它是重复内容。
太好了,这里没有什么需要改变的。
在运行时这样做可能 CPU 成本太高,并且为每个帖子保存两个版本会占用过多磁盘空间。
我们的默认设置始终是我们推荐的。但是,我们维护和公布站点设置,以便人们在觉得默认设置不适合他们的网站时可以选择其他设置。
5 个赞
mstm
(mstm)
15
最后一件事情,然后我不再打扰了 
那么 sitemap_recent.xml 中包含此类链接是否存在问题?
https://meta.discourse.org/t/category-moderator-improvements/158628?page=2
1 个赞
Falco
(Falco)
16
该示例是一个规范页面,因此不会受到 OP 中概述的更改的任何影响。
2 个赞
rrit
(Ayke)
17
我看到当有指向帖子 URL 的外部链接时,会产生巨大的差异。
# A:
外部域
|
|--(链接权重)---> 帖子 URL
|
|__/ 抓取: \---> 帖子 URL 未被索引,
\ header noindex / 链接权重基本丢失
# B:
外部域
|
|--(链接权重)---> 帖子 URL
|
|__/ 抓取: \__|---> 帖子 URL 未被索引
\ answer canonical / |---> 主题 URL(无论如何)被索引
并转移链接权重
我们应该在
Google SEO Office Hours is where Googlers from the Search Quality team answer questions around Google Search, websites, and the things between. Learn how to submit a question and get tips on getting your question answered.
上提出这个问题
1 个赞
Canapin
(Coin-coin le Canapin)
18
对于像我这样的搜索引擎优化新手来说,这是否意味着它是一项搜索引擎优化改进,可能会在谷歌搜索结果中带来轻微的增加/好处?
3 个赞
Falco
(Falco)
19
是的,这就是目标!
我们在一个科技新闻社区测试了这个改动几个月,发现匿名页面浏览量有了很大的峰谷增长。我们的最终目标始终是让所有的 Discourse 社区在各方面都更健康。
6 个赞
rrit
(Ayke)
20
在 Google Search Console 的“设置”->“抓取”->“抓取统计信息”报告中可以看到这种效果吗?
1 个赞
rrit
(Ayke)
21
考虑到…
A. 减少抓取
B. 内容不应有两个版本
C. 使用 canonical 标签
D. 不使用 nofollow
E. 不使用 noindex

j127:
[…] noindex 错误可能很难恢复。
…并且内部链接位于…

rrit:
发现此类帖子链接的位置:
- 用户内容中手动添加的链接
- 自动生成的链接,位于
- 引用
- 主题的第一个帖子:“入站跟踪链接”,来自其他主题
- 主题的第一个帖子:“选定答案”
- 主题的第一个帖子 - 主题地图打开:“主题链接”/“喜欢的链接”
…我建议以下实现方式以获得最佳折衷:
- 不添加 http-header
X-Robots-Tag: noindex。
– 考虑到 [E] –
- 保持
canonical 标签始终指向主题URL。
– 减少抓取 [A] 并考虑 [C] –
- 仅用于爬虫视图: 将自动生成的链接转换为始终链接到主题URL而不是帖子URL – 对于主题第一个帖子中的所有链接,“入站跟踪链接(来自其他主题)”和“主题地图打开:主题链接/喜欢的链接”。
– 减少抓取 [A] 并考虑 [D],但故意忽略 [B] –
关于 [B]:CPU消耗仅用于爬虫访问,并且包括进行正则表达式替换以截断内部URL末尾的数字(例如 …/t/example-topic/1234/5 → …/t/example-topic/1234),仅限于主题第一个帖子中的“入站跟踪链接(来自其他主题)”和“主题地图打开”的边界内。
- 用于所有视图: 向引用和用户内容中手动添加的链接添加内部
nofollow。
– 减少抓取 [A] 并考虑 [B],但略微忽略 [D] –
关于 [D]:重要链接已自动复制到“主题地图打开:主题链接/喜欢的链接”部分中的第一个主题[参见 3.],并且大多数引用仍然保留在主题本身内部。
关于内部链接的一些想法
Google 在 How to Specify a Canonical with rel="canonical" and Other Methods | Google Search Central | Documentation | Google for Developers 中说道:
对于所有规范化方法,请遵循以下一般指南:
- 在网站内部链接时,请链接到规范URL而不是重复URL。一致地链接到您认为规范的URL有助于Google理解您的偏好。
Google 在 SEO Link Best Practices for Google | Google Search Central | Documentation | Google for Developers 中说道:
因此,Discourse 可能会这样设置内部链接:
<a href="/t/example-topic/1234" routerLink="/t/example-topic/1234/5">…</a>
对于Google来说,链接直接指向规范的主题URL …/1234 – 而Google无法从这种链接语法中得知帖子URL …/1234/5。
对于用户导航,Ember应用程序中的一些附加JavaScript将起到作用:
例如,将 href 替换为 routerLink。
2 个赞
看起来是个很棒的改进!感谢 @Falco 和 Discourse 团队促成此事!
3 个赞