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

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

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

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

管理者設定

onebox の設定を管理するには、次の手順に従います。

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

onebox 関連の設定のリストが表示されます。

注目すべき設定には次のようなものがあります。

  • post onebox maxlength: onebox に含まれるテキスト量を制御します
  • enable inline onebox on all domains: インライン onebox を有効にし、プレーンな URL をリンクされたタイトルに変換します(例: https://en.wikipedia.org/wiki/Fun_(band) は「Fun (band) - Wikipedia」になります)
  • blocked onebox domains: 特定のドメインの 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 …"

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

[4] pry(main)> InlineOneboxer.onebox(url)
=> "…(省略)…<aside class=\"onebox …"

追加リソース

「いいね!」 2

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

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

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

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

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

「いいね!」 2