?tl パラメータの奇妙な動作

奇妙なことに気づきました。ご存知かもしれませんが、Google で Meta を検索すると、より良い検索結果が得られることがあります。そこで Google にアクセスし、クエリを入力してトピックを見つけたところ、ブラウザのタブのトピックタイトル(トピック自体ではなく!)と、そのカテゴリの名前だけがオランダ語に翻訳されていることに気づきました。

奇妙なことに、Meta の別のページをクリックすると、これは消えました。

混乱の後、URL に ?tl=nl が付加されており、これが Google によって追加されたことが原因であることがわかりました。

そこで、ログインした状態で、tl パラメータは匿名ユーザーのみを対象としているはずでした。しかし、ログインしている場合でも、一部の要素に影響を与えるようです。

では、ログアウトした状態でこれを試してみましょう。これでうまくいくはずですよね?

まあ、実際にはそうではありませんでした。

それで、なぜこのパラメータが検索エンジンに表示されたのかに戻りましょう。

実際、そのトピックは Google に 2 回表示されます。1 回は ?tl=nl 付きで、もう 1 回は付きません。面白いことに、パラメータ付きのもののタイトルとスニペットはオランダ語ではなく、もう一方と同じように英語です。

さらに興味深いことに、ソースの正規 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 設定の説明によると)が、ログインユーザーに対しては <title> とカテゴリに影響を与えます。

  • 何らかの方法で Google に表示されます(Google は canonical を無視するようですので、これを防ぐ方法はないと思いますが)。

  • 匿名ユーザーの場合、tl パラメータは部分的にしか機能せず、永続しません。リクエスト間で渡されず、Cookie も設定されないようです(少なくとも Meta では)。

    • ?tl を設定
    • すべてが中国語になります :tada:
    • トピックに移動
    • カテゴリのみが中国語になっていることを確認 :sob:
    • 「戻る」に移動
    • ウェルカムバナーとカテゴリは中国語のままですが、トピックは英語になっていることを確認 :thinking:

「いいね!」 5

こんにちは、翻訳された検索結果(偶然ですが)を試していただき、調査結果を報告していただきありがとうございます。大変感謝しております。

いくつか項目についてお答えできますが、いくつか質問させてください。

  • Googleで検索した際、ブラウザの設定言語は何になっていますか?
  • 使用している検索語は何ですか?

どうやらブラウザの設定がオランダ語(「Meer om te vragen」の説明になります)になっているようですが、検索語は英語のようです。


参照されているトピック(https://meta.discourse.org/t/how-to-have-multiple-copies-of-default-theme/359789)は、残念ながら以下の理由でこのようになっています。

  • トピックのタイトルは翻訳されています :check_mark:
  • 投稿は一つも翻訳されていません :cross_mark:

そのため、現時点ではすべての投稿が英語で表示されていますが、タイトルはオランダ語です。


tl パラメータの設定は、翻訳のためのクロールインデックスを導入するずっと前に追加されました…

技術的には、ロケールパラメータは匿名ユーザーに対してのみ考慮されるべきです。ユーザープロフィールの言語を確認していただけますか?


これが一般的に想定されている典型的なユーザーフローは以下のようになります。

  • ディエゴはブラウザの言語設定をスペイン語にしています。
  • 彼はスペイン語で問題を検索します。
  • 彼はメタへのリンクを見つけます(末尾はtl=esになっています)。
  • 彼はメタに入り、スペイン語で結果を読みます。
  • 彼はサイトをスペイン語で閲覧し続けます(ブラウザの言語がスペイン語に設定されているため)。

ここで、物事がうまくいかなくなる可能性のあることがいくつかあります。例えば、トピックの投稿がまだ翻訳されていない場合などです。これは、Googleで2つの結果が表示された理由である可能性が高いです(確実ではありませんが)。英語をオランダ語として提示しているためです。内部的に決定したことの一つは、最終的な整合性を信じることでしたが、4月以降これらの比較的新しい投稿がまだ翻訳されていない理由を確認する必要があります。

「いいね!」 2

TL;DR Discourse に関しては、すべて英語のみを使用しています。

ブラウザの設定はすべて英語 (US) になっています。
Meta のユーザープロフィールの言語も英語です。

ブラウザは Accept-Language: en-Us,en;q=0.5 のみを送信します。

このトピックで提供した Google のスクリーンショットの検索語は、「How to have multiple copies of default theme」でした。これは、スクリーンショットを作成するために、そのトピックを具体的に対象としていたためです。元の検索語は「discourse duplicate theme」で、それが最初のスクリーンショットにつながった検索結果でした(そこでは、右上隅に検索語が表示されています)。

Google の検索結果ページのスクリーンショットでわかるように、Google は英語とオランダ語の混合も提供しています。これは、私がオランダに物理的にいるためだと思われます。ドイツに旅行すると、英語とドイツ語の混合が表示されます。私の理論では、?tl=nl の検索結果は、私の場所のために Google によって紛れ込んだ可能性があります(それは愚かですが)。それでも、ログインしているときに Meta でオランダ語が表示されることは期待していません。

ええ、これは私たちがこれまで知らなかったケースだと思います。Googleがオランダ語を設定していないのにオランダ語を挿入するとは、まったく予想していませんでした。

@RGJ ここでも同様の報告がありました - "Set locale from param" and content localisation issue - そして、言語パラメータの実装は改善されました。

サイトの設定は、匿名ユーザーにのみ適用されるという説明に忠実であるべきです。パラメータによって、ログイン済みユーザーのプロフィールで定義された設定が更新されることは望ましくないためです。

「いいね!」 2

このトピックは3日後に自動的に閉じられました。新しい返信はもう許可されていません。