他のブログのリンクを張り付けた際にテキストリンクではなくFBやXを貼ったときのようにサマリーが表示されるようにするためにはどうしたらよいのかGemniに聞いてみた。
まず、あのサマリーや画像付きのリンクはブログカードというそうだ。
仕組みとしてはOGPを読み込んでサマリーや画像を表示しているのだそう。
OGP自体は使っているからわかるが、ニュースサイトならそれくらい設定されていそうなのにそれらのURLを貼っても表示されないのでさらに聞いてみた。
するとまず最初にEmbedPressというプラグインを勧められた。
インストールして有効化し、WordPressのエディタでURLを貼り付けたけど「このコンテンツを埋め込めませんでした」と今までと同じ。
どうしたらいいか聞いてみると、
このコンテンツを埋め込めませんでした」というエラーが表示される主な原因は、EmbedPressが対応していないURLを貼り付けたためです。
とのこと。
どうもYoutubeやFacebook、Xなどリストに載っている特定のサービス以外の一般的なブログには対応していないらしい。
これはそれらのサービスが埋め込み可能なコード(oEmbed)に対応しているのに対して一般的なブログはそうでない(なら参照先はどう作りこんだらいい?)のでOGP情報を元にブログカードを生成できるプラグインが必要だそう。
次に紹介されたのがRich Link PostとBlog Cardというプラグイン。
ところがRich Link Postというプラグインは、指定された方法に従ったのにプラグインの検索結果に出てこない。
それをGeminiに投げてみると、長いことバージョンアップされていなかったため(!)にWordPress.orgの公式プラグインリポジトリから削除されたので検索結果に出てこなかったとのこと。
もういっぽうのBlog Cardはプラグイン検索で見つかったが、ブログカードのエリアのブロック設定でURLを入力して保存しプレビューすると外部リンクを表示すべきところに白いブロックが表示された。
それを告げるとFacebookのSharing DebuggerでURLを入力してみてくれということでやってみるとそちらではちゃんと内容が表示された。
すると、
問題はあなたのWordPressサイト側にあると見て間違いありません。
主な原因は、WordPressが外部サイトのOGP情報を取得する通信が何らかの理由でブロックされていることです。
以下のステップを順に試してみてください。
- キャッシュをクリアする(プラグインでキャッシュ機能を入れている場合)
- サーバー側の設定を確認する
- Pz-LinkCardを試してみる
とのこと。
キャッシュのためのプラグインは使っておらず、サーバーはいじれないのでGeminiが「強くお勧め」していたこのPz-LinkCardに期待をかける。
しかし、、やはり「このコンテンツを埋め込めませんでした」が表示される、ブロック間の+をクリックしてもこのプラグインは出てこない。
もうこれでお手上げか、とプラグインの検索を見ていたらWordPressにsimple blog cardというプラグインがリコメンドされていたのでそれをインストールし有効化して使ってみたら、プラグイン5つ目にしてやっとブログカードが表示されるようになった。
最終的にGeminiにそれを報告したら
Pz-LinkCardが機能しなかった理由
- Gutenbergエディタ(ブロックエディタ)との相性
- 特定のサーバー環境との相性
プラグインがOGP情報を取得する方法はそれぞれ異なります。Pz-LinkCardが使用する通信方法が、サーバー環境のセキュリティ設定(WAFなど)にブロックされていた可能性があります。
解決できた理由
Simple Blog Cardは、Pz-LinkCardとは異なる方法でOGP情報を取得していると考えられます。その通信方法があなたのサーバー環境に適合していたため、無事に機能したのでしょう。
今回の件で、問題の原因は外部サイトのOGP情報でも、あなたのWordPressサイトの環境でもなく、プラグインとWordPress環境の相性であったことが明確になりました。
だそうだ。
こういうロジカルなところがGeminiの好きなところ。
最後までよく付き合ってくれた。
↑こういうやつ