pgr
1
こんにちは
最近移行した Discourse フォーラムを運営しています。見た目が素敵な「リンクプレビュー」は、試したすべてのサイトで正常に生成されていますが、このサイト(私たちにとって重要なサイト)のみ例外です:
Meta でも同様に機能していないようなので、Discourse のバグなのか、それともサイト自体の何か特殊な事情が原因なのでしょうか?何か心当たりはありますか?
そのサイトは非公開ではなく、ログインも不要です。私もそのサイトを運営しているため、こちらで何か対応が必要な場合は、私が試すこともできます。
よろしくお願いいたします。
Johani
(Joe)
2
Discourse の onebox gem は、サイトが Open Graph タグ を正しく定義していることを要求します。投稿内のサイトには Open Graph タグが一切含まれていません。
そのため、これについては私たちにできることはほとんどありません。Discourse で onebox 表示されるためには、サイト側が必要な OG タグを追加する必要があります。
pgr
3
完璧、知りたいことは分かりました。そのタグを追加できるか確認します。ありがとう。
pgr
4
タグを追加しました:iframeley でサイトを確認
WhatsApp では Onebox が表示されます:
しかし、Discourse では表示されません:
キャッシュの問題かもしれないと思い、試してみましたが、異なる Discourse サイトや URL のバリエーションでも同じ結果でした。
Discourse が必要とする他のタグで、私が抜かしているものはありますか?別の投稿で title と description のみが必須だと読みましたが、それらは既に設定しています…
ご支援ありがとうございます。
JimPas
5
onebox は、対象ページを訪問し、Open Graph または oEmbed タグを確認します。これには以下が含まれます:
- サイトアドレス
- タイトル
- 代表画像
- 説明文(必須)
- 商品価格
ご注意ください。Discourse では、説明文タグが存在し、ページを要約するのに十分なテキストが含まれていることが必要です。これがない場合、対象リンクは onebox されません。
詳しい説明は、Creating rich link previews with Onebox をご覧ください。
高度な iframe
デフォルトでは、セキュリティ上の理由から <iframe> はブロックされています。ただし、非常に信頼性の高いソースからの場合、Discourse の管理者は、サイト設定でそのドメインを <iframe> ターゲットとして明示的にホワイトリストに登録できます。
pgr
6
了解しました、ありがとうございます。タイトルと説明は揃っています。もしかすると、og:image 属性の欠如が Discourse からサイトが嫌がられる原因なのかもしれません。ただ、この属性が必須だとどこにも書いていなかったのですが。
その属性を付けて試してみようと思いますが、Hugo でそれを行う際に技術的な問題にぶつかりました。それが解決し次第、ここで報告します。ありがとうございました。
pgr
7
これは難しいですね。これで私のメタタグに og:image が含まれるようになり、iframeley で確認するとすべて問題なさそうです。
それでも Discourse がワンボックスを生成してくれません…:frowning:
何が足りないのでしょうか?
画像だけでは不十分です。テキストによる説明も必須です。
pgr
9
何か見落としているのかもしれませんが、私の og:description メタタグに何が間違っているか、あるいは何が不足しているのでしょうか?
何もないですが、Discourse の観点からは、説明が存在し、かつ最低文字数以上である必要があります。
JimPas
11
以下の 2 つのリンクをご覧ください。最初のリンクの 1 つ目の投稿の終わり近くに「Advanced iFrames」に関する短い記事があり、投稿された画像のすぐ下にも「Advanced iFrames」について書かれています。
2 つ目のトピック(Onebox の課題)の終わり近くには、試してみたい面白いことが載っています。それは「curl」のコマンドで、投稿には使用するコードが記載されています(表示されている URL を自分の URL に置き換えるだけです)。