リンクをカード形式で表示するWordPressプラグイン「Pz-LinkCard」。
最新版ver2.0.3を公式プラグインディレクトリで公開しました。
ver2.0.2→ver2.0.3修正点
2017年8月8日に公開したver2.0.2からのバージョンアップです。
404エラーのときでもリンクを有効にする設定を追加しました
Ver2.0.0で、リンク先が「403」「404」「410」のときにリンクを無効にする機能を追加していました。
サイトによってはPz-LinkCardからは「404 Not Found」で返ってきても、PCで見るとちゃんと見られるサイトがあるようです。
そのため、「設定」→「Pz カード設定」の「リンク先のチェック」の項目に「エラーのときにリンクしない」という項目を追加しました。
内部リンクの抜粋が取得できていなかったのを修正しました
WordPressの投稿には記事とは別に「抜粋」というのを設定できます。
通常のテーマでは表示されませんが、テーマによっては抜粋表示に使用されたりします。
「内部リンク」の設定に「抜粋文が設定されている投稿はそちらを優先する」という設定がありますが、正しく動作していなかったため修正しました。
外部リンクのサムネイル取得が出来なくなる不具合を修正しました
外部リンクのサムネイルを「直接取得」とした場合には、OGPやTwitterカードで設定されている画像をキャッシュしています。
設定画面で「変更を保存」ボタンを押すと、キャッシュのディレクトリが上手く設定されず、リンク先のアイキャッチ画像が表示されなくなる不具合を修正しました。
その他
お気づきの点などありましたら、コメント欄や、ツイッターアカウント「ぽぽろん@ぽぽづれ。(@popo68k)」もしくは「ぽぽづれ。(@popozure)」までご報告ください。
では、この辺で。(^-^)o
コメント
更新履歴でModifiedがModefiedになってますよ
AndroPlusさん、コメントありがとうございます。
本日公開のVer2.0.4.1でReadme.txtを修正しました。
お世話になっております。
以前のコメント以来色々ありまして、サーバー移転をしつつテーマの変更などをいた結果、500エラーになる症状が再現できなくなりました。
情報提供できず申し訳ありません…。
とりあえず現環境では、
外部リンク>サムネイル>直接取得できない場合、WebAPIを利用する
と設定した状態で500エラーは出ていません。
以前のテーマなどとの干渉だったかと思います。
しかし相変わらずアメブロのサムネイルは404と書いた画像が表示されるだけです。これはアメブロ側の仕様によるものなんでしょうか?
もう一点、AMPについてです。
Google Search Consoleに「重大な問題のある AMP ページ」としてメッセージが届いていて、内容を確認したところ、エラーの出ているページ全てに以下の警告が出ていました。
「AMP タグに無効なレイアウト プロパティがある(重大な問題)」
「レイアウト「FIXED_HEIGHT」で、タグ「amp-img」の属性「width」の値「16」が無効です。属性「width」に値「auto」を設定してください。」
ページをテストしたところ、Pz-LinkCardのファビコン取得について、
$favicon = ”;
となっているのが、グーグル様はお気に召さないようでした。
現在はプラグインの編集で width=auto と書き換えてエラー回避しています。
こちらは他の対策などあるんでしょうか…?
よろしくお願いします。
該当箇所
img class=”lkc-favicon” src=”‘.$favicon_url.'” alt=”” width=16 height=16 /
です。
ESDさん、ご利用&コメントありがとうございます。
サーバーエラーは解消されたとのことで良かったです。
アメブロのサムネに関しては詳しくは分かりませんが、ブラウザ以外のアクセスには404を返すのかも知れません。URLを教えていただけると調査できるかも知れません。
AMPに関してですが、「設定」→「Pz カード設定」→「詳しい人用」のところにある「Google AMP」にチェックが入っていると、URLが /AMP で終わる場合に簡易表示に切り替えます。簡易表示の場合にはファビコンは表示させないようにしていますが、こちらにチェックは入っておりますでしょうか。
お世話になっております。
サムネが表示されないアメブロは、例えば次のサイトなどです。
h ttp://ameblo.jp/kyohro/
h ttp://ameblo.jp/yodo-dashigumi/
(最初のhのあとにスペース入れてあります)
AMPについては、
「設定」→「Pz カード設定」→「詳しい人用」→「Google AMP」
にチェックを入れている状態です。
AMPページを表示すると、リンク先のファビコンとサムネが画面幅いっぱいに表示されます。
アメブロはSSL化されているため、「http」では無く、「https」でURLを指定することでエラーは回避できると思います。
なお、アイキャッチ(サムネイル)はOGPやTwitterカードの形式で指定されていないため取得できません。
AMPについて原因がわかったかもしれません。
使っているテーマでは、AMPページを表示する際のURL末尾が「?amp=1」でした。
pz-linkcard.phpの687行目で
preg_match(‘{/amp/?$}i’,
を
preg_match(‘{?amp=1/?$}i’,
と書き換えたら簡易版のリンクカードが表示されるようになりました。
URLの末尾がAMP以外のパターンも有り得るのですね。少し確認したみたところ、で指定したURLがAMPのページっぽいので今の判断では対応できない場合も多そうです。
「今自分がAMPで表示されているかどうか」をWordPress関数とかで判断できるのなら幅広く対応できると思うのですが、とりあえずその対応でお願いします。
ありがとうございます。
やっぱり現状では「URLの末尾にAMPっぽいものがついているかどうか」でしか分岐条件作れないのですね。
とりあえずしばらくは現在のテーマを使い続けるので、この対応で過ごしたいと思います。
もし気が向いたら、「詳しい人用」→「Google AMP」の項目でAMP対応するかどうかのチェックの他に、AMPページのURL末尾が「/amp」なのか「?amp=1」なのかというラジオボタンを付けて対応してくれたら素敵だなーなんて思います。
これからも応援してます!
本日公開のVer2.0.4.1にて対応しました。
ちなみに何のテーマを使っているか参考までに教えていただけると助かります。
対応ありがとうございます!
使わせてもらっているテーマはこちらです。
Celtis_s テーマ
https://celtislab.net/wordpress-theme-celtis_s/
?amp=1にしている理由がこちらにあります。
https://celtislab.net/archives/20170414/celtis_s-amp/
あとGoogle AMPの項目の説明が「アクセスされたURLの末尾が「/amp」の場合、簡易表示に切り替える。」のままなので「/amp/」と「/?amp=1」もいつか仲間に入れてやってください^^
テーマ、教えていただいてありがとうございます。
一応、設定画面の表記上は「末尾が『/amp』」のみなのですが、「末尾が『/amp/』」も定義してあります。あと、昨日公開したVer2.0.4.1では「末尾が『/?amp=1』」も定義しました。(たぶんちゃんと反応してくれると思いますが、ダメだったら教えてください!)
[追記]
よくよく読んでみたら説明文を実装に合わせようという提案でしたね。文字数と相談しながら変更したいと思います。
お世話になります。
ワードプレスで最新バージョン2.0.3を利用しているのですが、記事のタイトルや抜粋がすべてブログトップページとなってしまいます。
設定も初期設定のままです。当サイトはssl化はしておりません。
以上宜しくお願い致します。
田中さん、ご利用&コメントありがとうございます。
内部リンクについては、WordPressの機能を使用してURLから記事IDを取得して、それをもとに記事内容を取得しています。
URLを変更するプラグイン等(例えばURLの最後に .html を付ける等)を使用している場合、うまく取得できない場合があります。
サイトURLを教えていただけると調査したりお手伝いできるかと思います。
いつもありがたく使わせていただいてます。
アメブロへのリンクは以前からサムネイル取得ができなかったのですが、最新のバージョンでは
「設定>外部リンク>サムネイル」で「直接取得できない場合、webAPIを取得する」にしている状態でアメブロへのリンクカードを埋め込んでいると、その記事のページ自体が500エラーになって表示されなくなっていました。
使い方が間違っているのかもしれませんが、何か解決法などありますでしょうか?
ESDさん、ご利用&コメントありがとうございます。
こちらでは起きていない現象なので、出来たらエラーになってしまうアメブロのURLなどを教えていただけると対応できるかも知れませんのでよろしくお願いします。
おそらくはアイキャッチ画像を取得しに行っているときに何かかしら不具合があるのだと思います。