特定のサイトでのリンクプレビューが機能しない

こんにちは

最近移行した Discourse フォーラムを運営しています。見た目が素敵な「リンクプレビュー」は、試したすべてのサイトで正常に生成されていますが、このサイト(私たちにとって重要なサイト)のみ例外です:

Meta でも同様に機能していないようなので、Discourse のバグなのか、それともサイト自体の何か特殊な事情が原因なのでしょうか?何か心当たりはありますか?

そのサイトは非公開ではなく、ログインも不要です。私もそのサイトを運営しているため、こちらで何か対応が必要な場合は、私が試すこともできます。

よろしくお願いいたします。

Discourse の onebox gem は、サイトが Open Graph タグ を正しく定義していることを要求します。投稿内のサイトには Open Graph タグが一切含まれていません

そのため、これについては私たちにできることはほとんどありません。Discourse で onebox 表示されるためには、サイト側が必要な OG タグを追加する必要があります。

完璧、知りたいことは分かりました。そのタグを追加できるか確認します。ありがとう。

:thinking: タグを追加しました:iframeley でサイトを確認

WhatsApp では Onebox が表示されます:

しかし、Discourse では表示されません:

キャッシュの問題かもしれないと思い、試してみましたが、異なる Discourse サイトや URL のバリエーションでも同じ結果でした。

Discourse が必要とする他のタグで、私が抜かしているものはありますか?別の投稿で titledescription のみが必須だと読みましたが、それらは既に設定しています…

ご支援ありがとうございます。

onebox は、対象ページを訪問し、Open Graph または oEmbed タグを確認します。これには以下が含まれます:

  • サイトアドレス
  • タイトル
  • 代表画像
  • 説明文(必須)
  • 商品価格

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

詳しい説明は、Creating rich link previews with Onebox をご覧ください。

高度な iframe

デフォルトでは、セキュリティ上の理由から <iframe> はブロックされています。ただし、非常に信頼性の高いソースからの場合、Discourse の管理者は、サイト設定でそのドメインを <iframe> ターゲットとして明示的にホワイトリストに登録できます。

了解しました、ありがとうございます。タイトルと説明は揃っています。もしかすると、og:image 属性の欠如が Discourse からサイトが嫌がられる原因なのかもしれません。ただ、この属性が必須だとどこにも書いていなかったのですが。

その属性を付けて試してみようと思いますが、Hugo でそれを行う際に技術的な問題にぶつかりました。それが解決し次第、ここで報告します。ありがとうございました。

これは難しいですね。これで私のメタタグに og:image が含まれるようになり、iframeley で確認するとすべて問題なさそうです。

それでも Discourse がワンボックスを生成してくれません…:frowning:

何が足りないのでしょうか?

画像だけでは不十分です。テキストによる説明も必須です。

何か見落としているのかもしれませんが、私の og:description メタタグに何が間違っているか、あるいは何が不足しているのでしょうか?

何もないですが、Discourse の観点からは、説明が存在し、かつ最低文字数以上である必要があります。

以下の 2 つのリンクをご覧ください。最初のリンクの 1 つ目の投稿の終わり近くに「Advanced iFrames」に関する短い記事があり、投稿された画像のすぐ下にも「Advanced iFrames」について書かれています。
2 つ目のトピック(Onebox の課題)の終わり近くには、試してみたい面白いことが載っています。それは「curl」のコマンドで、投稿には使用するコードが記載されています(表示されている URL を自分の URL に置き換えるだけです)。