og:imageよりもthumbnailが優先して表示される(Open Graph Tags Lite)

2020年4月24日 at 13:12

以前Concrete5の構築を依頼させていただいた者です。

■ 発生している現象
タイトルの通り、Open Graph Tags Liteで「og:image」を設定したところ、
「thumbnail」に設定している別の画像が読み込まれます。
- インスペクタを確認すると、og:imageとして「thumbnail」が読み込まれている
- このため当然ながらFacebookシェアデバッガー等でも「thumbnail」の画像が表示される

本来は「og:image」の方が優先的に表示されるものと思いますが、
何か考えられる原因等、お分かりの方はいらっしゃいますでしょうか。

検証として「画像を他のものに変更して再度読み込み」や、
「サムネイルキャッシュのクリア」を試しましたが変わりませんでした。

その他考えられる事項がありましたら、ご教示いただけますでしょうか。
どうぞよろしくお願いいたします。

---

■ 利用環境
- concrete5のバージョン:Core Version - 8.5.2 / Database Version - 20190925072210
- ブラウザ:Google Chrome 最新版
- Open Graph Tags Liteのバージョン: 2.1.3

※ 2020年4月24日現在、Open Graph Tags Liteは最新版が「2.1.4」とのことですが、
「アドオンのアップデート」画面では「お使いの拡張パッケージはすべて最新です。」と表示されます。
 ここに何か原因があるのでしょうか。

タグ:

Re: og:imageよりもthumbnailが優先して表示される(Open Graph Tags Lite)

2020年4月26日 at 8:15
多分バージョンが原因だと思います。
Open Graph Tags LiteのVersion Historyには
そのものズバリ
2.1.4 - Fixed a bug of og:image, minor updates
との記載がありますので。
手動で入れ直してみるのがよろしいかと。
 

Re: og:imageよりもthumbnailが優先して表示される(Open Graph Tags Lite)

2020年4月28日 at 10:24
> aniyaさま
ご返信、ありがとうございます。

一度アンインストールして入れ直し、無事「2.1.4」にアップデートはできたのですが、
残念ながらog:imageよりもサムネイルが優先して表示されてしまう状況は変わらず…。
(htmlを確認しても、og:imageのパスがサムネイルの画像に紐づいていました。)

力不足で恐縮ですが、他に何か考えられる原因がありましたら
ご教示いただけますと幸いです、どうぞよろしくお願いいたします。
 

Re: og:imageよりもthumbnailが優先して表示される(Open Graph Tags Lite)

2020年4月28日 at 18:51
すみません、なんとなく不具合があるのかなぁ…レベルで質問内容を勘違いしておりました。

改めて質問内容を読み直しました。
要望は
「thumbnailが設定されているページでもOpen Graph Tags Liteの設定を優先して反映させたい」
ということですよね。

多分Open Graph Tags Lite設定ページにある
ページ属性リファレンス>og_imageの説明
エンティティを表現する画像。この値が空のとき、「thumbnail」属性が代わりに使われます。

を読んで
本来は「og:image」の方が優先的に表示されるもの

と解釈されたのだと思いますが、実際の動きは下記のとおりになるようです。
・og_image設定無し + ページthumbnail設定無し = og:image自体の記載無し
・og_image設定無し + ページthumbnail設定有り = og:imageはthumbnailを反映
・og_image設定有り + ページthumbnail設定無し = og:imageはog_imageを反映
・og_image設定有り + ページthumbnail設定有り = og:imageはthumbnailを反映


この振り分けにより
「全投稿のog:imageが同じになる」
ことを避けているのだと思います。
これはこれで正しいかと。

しかしながら、もし
「(ElementalのPortfolioみたいに)thumbnailはページ一覧などで必要だから設定したいが、
facebookなどの投稿ではOpen Graph Tags Liteの画像設定を優先したい」
ということであれば、
packages/open_graph_tags_lite/src/Html/OpenGraphTags.php
の55〜61行目を編集すればよろしいかと。
$og_image = $page->getAttribute('thumbnail');
if (!is_object($og_image)) {
$og_image = $page->getAttribute('og_image');
if (!is_object($og_image) && !empty($thumbnailID)) {
$og_image = File::getByID($thumbnailID);
}
}

上記を次のように置き換えれば多分大丈夫だと思います。
$og_image = File::getByID($thumbnailID);


参考になれば幸いです。
 

Re: og:imageよりもthumbnailが優先して表示される(Open Graph Tags Lite)

2020年5月12日 at 15:00
aniyaさま

詳細まで確認いただき、また対応方法についても
たいへん丁寧にご説明くださり、ありがとうございます。

私の方でも仕様を把握できていなかったようで、失礼しました…。
また、当方でなかなか挙動の確認ができず、
ご連絡がたいへん遅くなってしまい、申し訳ありません。

取り急ぎ「2.1.5」バージョンへ変更してみたところ無事に解消されておりました。
重ねがさね、ありがとうございました…!
 

Re: og:imageよりもthumbnailが優先して表示される(Open Graph Tags Lite)

2020年5月12日 at 14:21
こちら、確認したところ2.1.5で問題が解消されていました。

2.1.4 までは、 aniya さんがコメントされた通りの状態でしたが、2.1.5 よりサムネイル設定とog:image設定が両方行われていた場合、og:image設定が優先されるようになっています。

ぜひ、最新版をダウンロードしていただき、適用してみてくださいませ。
 

Re: Re: og:imageよりもthumbnailが優先して表示される(Open Graph Tags Lite)

2020年5月12日 at 15:01
Moriaiさま

コメントありがとうございます。
最新版の「2.1.5」バージョンへ変更してみたところ、無事に解消されました。
たいへん助かりました…!
お知らせのほど、重ねがさね、ありがとうございました!!