RGJ
(Richard - Communiteq)
2025 年10 月 6 日 15:55
1
我注意到了一些奇怪的现象。您可能知道,有时使用 Google 搜索 Meta 会产生更好的搜索结果。所以我去了 Google,输入了我的查询,找到了我的主题,突然注意到浏览器标签中的主题标题(而不是主题本身!)、类别名称以及仅该类别被翻译成了荷兰语。
奇怪的是,当我点击到 Meta 的另一个页面时,这个现象消失了。
经过一番困惑,我发现这是因为该主题的 URL 末尾附加了 ?tl=nl,而这个参数是由 Google 添加的。
所以,我已登录,而 tl 参数本应只对匿名用户生效。但显然,如果您已登录,它确实会影响某些元素。
现在让我们在未登录的情况下尝试一下,看看会发生什么。应该可以吧?
嗯,事实并非如此。
所以,回到为什么这个参数会出现在搜索引擎上的问题。
事实上,该主题在 Google 上出现了两次,一次带有 ?tl=nl,一次不带。有趣的是,带有该参数的那个的标题和摘要不是 荷兰语,而是像另一个一样是英语。
为了让事情更有趣,源代码中的规范 URL 没有 该参数,所以 Google 为什么会将其索引为带有该参数,我还不清楚。
<link rel="canonical" href="https://meta.discourse.org/t/how-to-have-multiple-copies-of-default-theme/359789">
所以我们有:
tl 参数本应只对匿名用户生效(根据 Set locale from param 设置的描述),但对于已登录用户,它确实会影响 <html> 标题和类别。
它不知何故出现在 Google 上(尽管我不知道如何阻止它,因为 Google 似乎会忽略 canonical?)
对于匿名用户,tl 参数仅部分生效,并且不会持久化。它不会在请求之间传递,似乎也不会设置 cookie(至少在 Meta 上不会)。
设置 ?tl
一切都变成中文
导航到某个主题
发现只有类别是中文
导航“返回”
发现欢迎横幅和类别仍然是中文,但主题是英文
5 个赞
nat
(Natalie T)
2025 年10 月 7 日 03:37
4
嘿,感谢您帮助我们试用翻译搜索结果(尽管是偶然的)并报告您的发现。非常感谢。
我可以解决其中的一些问题,但还需要您回答一些问题:
您在 Google 上搜索时,浏览器 设置为哪种语言?
您使用的搜索词是什么?
不知何故,您的浏览器设置似乎是荷兰语(这解释了“Meer om te vragen”),但您的搜索词是英语。
RGJ:
您提到的主题 (How to have multiple copies of Default theme? ) 不幸显示为这样,因为
主题标题已翻译
没有帖子被翻译
这就是为什么我们目前看到所有帖子都是英语(此时),但标题是荷兰语。
tl 参数设置是在我们引入翻译的爬虫索引之前很久就添加的……
从技术上讲,区域设置参数应仅考虑匿名用户 。您能确认您的用户个人资料语言是什么吗?
这通常为此设计的典型用户流程是这样的:
-迭戈的浏览器语言设置为西班牙语
-他用西班牙语搜索问题
-他看到一个指向 meta 的结果(以 tl=es 结尾)
-他进入 meta,用西班牙语阅读结果
-他继续在 meta 中浏览网站(因为 他的浏览器语言设置为西班牙语)
这里有几件事可能会导致出现问题,例如,如果主题的帖子尚未翻译(如上所述),这很可能是(不能确定)您在 Google 中看到两个结果的原因,因为我们将英语显示为荷兰语。我们内部决定要做的一件事是相信最终一致性,尽管我需要检查为什么那些相当新的帖子自四月以来还没有被翻译。
2 个赞
RGJ
(Richard - Communiteq)
2025 年10 月 7 日 07:12
5
nat:
您的浏览器 在 Google 搜索时设置为哪种语言?
您使用的是什么搜索词?
nat:
您能确认一下您的用户个人资料语言设置吗?
TL;DR 我在 Discourse 上的一切都只使用英语。
我的浏览器所有设置都是英语(美国)。
我在 Meta 上的用户个人资料语言也是英语。
我的浏览器发送 Accept-Language: en-Us,en;q=0.5,没有其他内容。
我在本主题中提供的 Google 屏幕截图中使用的搜索词是“How to have multiple copies of default theme”,因为我明确地针对该主题以截取屏幕截图。我的原始搜索词是“discourse duplicate theme”,这是导致我获得第一个屏幕截图的搜索结果(您仍然可以在右上角看到搜索词)。
正如您在 Google 搜索结果页面的屏幕截图中看到的,Google 也为我提供了英语和荷兰语的混合。这可能是因为我目前身处荷兰。当我前往德国时,它会为我提供英语和德语的混合。我的理论是,由于我的地理位置,Google 可能会意外地提供 ?tl=nl 搜索结果(这很愚蠢,但确实如此)。尽管如此,当我登录时,我并不期望在 Meta 上看到任何荷兰语。
nat
(Natalie T)
2025 年10 月 7 日 07:57
6
RGJ:
是的,我认为你提出的情况是我们以前从未遇到过的。如果你没有在任何地方设置过荷兰语,我绝对不认为Google会插入荷兰语。
nat
(Natalie T)
2025 年11 月 11 日 06:15
7
@RGJ 这里也有一个报告 - "Set locale from param" and content localisation issue - 并且语言参数的实现已经得到了改进。
我们应该看到站点设置应该与其描述一致,即它仅适用于匿名用户,因为我们不希望参数更新用户配置文件中定义的已登录用户的偏好设置。
2 个赞