onebox の設定とトラブルシューティング

:bookmark: このガイドでは、Discourse での onebox の設定とトラブルシューティングの方法について説明します。管理者設定、onebox の仕組み、一般的な問題の解決手順を網羅しています。

:person_raising_hand: 必要なユーザーレベル:管理者

Onebox は、ユーザーが投稿内で作成できるリッチなリンクプレビューです。ユーザーはこれらのプレビューを簡単に生成できますが、サイト管理者には追加の制御機能があり、リンクが期待通りにプレビューされない場合にトラブルシューティングを行う必要がある場合があります。

管理者設定

Onebox 設定を管理するには:

  1. 管理パネルに移動します
  2. サイト設定セクションに移動します
  3. 「onebox」を検索します

以下に、onebox 関連の設定一覧が表示されます:

注目すべき設定には以下が含まれます:

  • post onebox maxlength: onebox に含めるテキストの量を制御します
  • max oneboxes per post: 1 つの投稿に表示可能な onebox の数を制限します(デフォルト:50)
  • enable inline onebox on all domains: すべてのドメインでインライン onebox を有効にし、プレーンな URL をリンク付きタイトルに変換します(例:https://en.wikipedia.org/wiki/Fun_(band) が「Fun (band) - Wikipedia」となる)。これはデフォルトで有効です。
  • blocked onebox domains: 特定のドメインの onebox を無効にできます
  • block onebox on redirect: 有効にすると、異なる宛先にリダイレクトする URL の onebox を防止します

onebox の仕組み

投稿にリンクが含まれると、Discourse は宛先ページにアクセスし、Open Graph または oEmbed タグを検索します。これには以下が含まれます:

  • サイトアドレス
  • タイトル
  • 代表画像
  • サイトアイコン(またはファビコン)
  • 説明(必須)
  • 製品価格(該当する場合)

:warning: Discourse は、説明タグが存在し、ページを要約するのに十分なテキストを含んでいることを要求します。これが不足している場合、対象リンクは onebox されません。

以下は、サイトタイトル、代表画像、アイコン、説明を示す https://discourse.org の onebox の例です:

トラブルシューティング

onebox が期待通りに機能しない場合は、以下の手順を試してください:

  1. iFramely を使用してサイトをテストします:

    • リンクを貼り付け、正しい OpenGraph または oEmbed メタタグを使用しているか確認します
    • 説明テキストが存在し、適切であることを確認します
  2. onebox リクエストがブロックされていないか確認します:

    • 一部のホストは「不明な」ユーザーエージェントをブロックする場合があります
    • 対象ウェブサイトが Discourse のユーザーエージェントをブロックしていないか確認します
  3. 内部リンクが onebox として表示されない場合:

    • リンクがセキュアなカテゴリにないことを確認します
    • セキュリティ上の理由から、内部リンクは公開カテゴリ内または同じカテゴリ内でのみ onebox されます

Rails コンソールから、テスト中に メソッド を呼び出すことで、onebox を明示的に無効化または取得できます:

[1] pry(main)> Oneboxer.invalidate(url)
=> 0

[2] pry(main)> Oneboxer.onebox(url)
=> "<aside class=\"onebox …(elided)\"

[3] pry(main)> InlineOneboxer.invalidate(url)
=> 0

[4] pry(main)> InlineOneboxer.lookup(url)
=> {url: "https://example.com", title: "Example Page Title"}

追加リソース

「いいね!」 2

これは良いリソースですが、不足しているようです。

これを実行したところ、1つのボックスが返されました。内容は少なかったですが、単純なURLリンクよりも見栄えが良かったです。

コンテンツが少ないことが、私のサイトでワンボックス表示されない原因だと仮定した場合、どのような対策が考えられますか?

コンテンツが十分でないサイトをワンボックス表示するための設定が見当たらないのですが、サイト管理者に連絡して変更してもらうことは可能でしょうか?もし可能であれば、何を依頼すればよいでしょうか?

ワンボックス表示されない問題の解決に、どのように役立ちますか?

「いいね!」 2