ブログカード関係でコンテンツが真っ白に!!プラグインに気をつけよう

Wordpress

他のサイトへのリンクを貼るとき、少しでも見栄えがよくなる「ブログカード」というものがあります。はてなブログのものが有名です。

ブログカードは、サムネイルとコンテンツの抜粋を加えたものをリンクとして提示するものですが、TwitterやFacebookを代表とするSNSでも使われています。

リッチなリンク

OGP、TwitterCard

Facebookが作ったものがOpen Graph Protocol(OGP)、ツイッター用のものはTwitterCardです。どちらも、リンクされる側のサイトが提示したサムネイルや概要をシェアされた時に表示できるようになります。

はてなブログカード

一方のはてなブログカードは、OGPが設定してあれば優先してくれるようですが、ない場合は画像をサムネイルとして勝手に取ってきます。

All right reserved.なサイトから勝手に画像を取ってきて他に表示するのは、色々な意味で危険があるように思うので、できれば避けたいと個人的には思っています。

どちらの場合も起こりうること

ブログカードを使うと、ネズミの夢の国に入り込んでしまったり、有名人の顔写真やその他センシティブな写真を取得して、自分のサイト上に載せてしまう危険を常にはらんでいます。

そういう場合はあくまでもサイト運営者である自分に降り掛かってくる問題になります。

はてなブログカードでもOGPでも起こりうることですが、元サイトでは掲載画像や内容を後で変えることが出来ますので、OGPなどを使っている場合はいつの間にか、意図しない表示内容になっていることが否定出来ません。

余程恨まれていなければ大丈夫だと思いますが、かつて、(確か)ツイートを貼り付けていたら、ツイート主が悪意を持ったアカウント名に変更して貼り付け先のサイトのアドセンスがアカウント停止になった、という事件もありました。(どこかに紹介されていたのですが、忘れてしまいました)

WordPress 4.4.0

2015年末に公開されたWordPress 4.4以降のバージョンでは、ブログカード的な機能が標準搭載されました。

情報が少ないのでまだなんとも言えないのですが、私のところでは不具合が幾つか起こっています。ひとつ目は、

WordPressを4.4.0にアップデートしたら画像が表示されなくなった
クラウドフレアがHTTP/2に対応を始めて、その後Wordpressのコアやテーマをアップデートしたら、画像の表示がおかしくなりました。 具体的には、ほとんど全ての画像が表示されなくなるという状態でした。 最初は、使用さ...

で書いたように画像表示がおかしくなったことでした。(根本的な原因は4.4.0ではなくWordPressのHTTPSプロトコール対応です)

もう一件、最近気づいた(もしくは最近発症した)不具合がありました。

コンテンツが真っ白!!!

contents-gone-due-to-links

一部のコンテンツが真っ白になってしまいました。エラーが出ているわけでもないし、コメント欄なども全部消えてしまっているので、かなり痛いエラーです。

原因1:Content Cardsプラグイン

原因の一つ目は、OneBoxに変えて最近導入したContent Cardsプラグインでした。結構気に入っていたのですが、全部削除しました。

原因2:URL・・・

もう一つ、明らかな原因になっていたのが、コンテンツ上のURLです。

そんなバカなと思ったのですが、

https://tek2tech.com/ogp-twitter-cards-as-link-text-in-wordpress-posts/

では真っ白になりますが、

https://tek2tech.com/ogp-twitter-cards-as-link-text-in-wordpress-posts/

だと大丈夫です。(改行の後に単独でURLを書いています)

使っているテーマのSimplicityとの相性なのかもしれませんが、この症状はSimplicityの設定でブログカード機能をOFFにしても消えませんでした。

対処法

問題を起こしていたプラグインのContent Cardsを使っていた場所を通常のリンクに全部変えました。今のところ、外部リンクに対してはブログカード風のコンテンツ埋め込みは起こらないのですが、とりあえずサイトが表示される状態にしなくてはいけません。

URLについては、上でやっているように<pre></pre>で囲めば大丈夫でしたが、URLを単独で書くことは時々あるので、どのページでURLを書いているか検索しなくてはいけません。

私は、プラグイン「Search Regex」を使って検索し、置換しました。

一応(見つけるために)使った検索式を書いておきます。

/\nhttp/
/\n<a /

上が単純なURLを記載したものです。複雑にすれば、自動で置換できるはずですが、私のサーバーは複雑な検索式にした途端、CPUがオーバーロードしてタイムアウトしたので、上記の式にしておいて手動で置換しました。

今回のトラブルは、(他に報告も見つからないので)テーマとプラグイン、WordPress本体の相性がからみ合って起こったのではないかという気もしますが、Simplicityは良く出来たテーマで、使っている方も多いと思います。

同じプラグインの組み合わせを使っている方は一度チェックして見ると良いと思います。いつの間にか、サイトのコンテンツが見えなくなっているかもしれません。

コメント

タイトルとURLをコピーしました