我注意到了一些奇怪的现象。您可能知道,有时使用 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 - 一切都变成中文

- 导航到某个主题
- 发现只有类别是中文

- 导航“返回”
- 发现欢迎横幅和类别仍然是中文,但主题是英文

- 设置


