[Pz-LkC][2.4.3.x]リンクをカード形式で表示するプラグイン更新。インポート機能追加など。

Pz-LinkCard
この記事は約12分で読めます。

リンクをカード形式で表示するWordPressプラグイン「Pz-LinkCard」。

最新版ver2.4.3を公式プラグインディレクトリで公開しました。

※不具合が報告されたため、修正版ver2.4.3.1を公開しました。(2021/03/01)

※不具合が報告されたため、修正版ver2.4.3.2を公開しました。(2021/03/01)

※不具合が報告されたため、修正版ver2.4.3.3を公開しました。(2021/03/02)

ver2.4.2→ver2.4.3修正点

2021年01月05日に公開したver2.4.2からのバージョンアップです。

動作確認を行いました

「WordPress 5.6.2」での動作確認を行いました。

「PHP7.2.34」および「PHP7.4.13」での動作確認を行いました。

不具合の修正を行いました

以下の不具合について、修正しました。

  • Ver2.4.2.1の改修内容を取り込みました。
  • Ver2.4.2.2の改修内容を取り込みました。
  • 外部リンクで指定された画像URLが存在しない場合、警告エラーが発生する不具合を修正しました。
  • 内部リンクで存在しないカテゴリページを指定した場合、警告エラーが発生する不具合を修正しました。
  • 内部リンクで存在しないタグページを指定した場合、警告エラーが発生する不具合を修正しました。
  • 内部リンクでサムネイルが無い場合、デフォルト画像が出てしまう不具合を修正しました。
  • 内部リンクで指定された記事が存在しない場合、警告エラーが発生する不具合を修正しました。
  • 外部リンクのサムネイル等が相対URLが指定されている場合、分析に失敗して警告エラーが発生する不具合を修正。
  • リンク先のドメイン(サーバー)が存在しない場合でもリンクが有効になっていた不具合を修正しました。
  • <HEAD>や<BODY>といったHTMLタグが無いサイトの場合、<TITLE>タグや<META>タグが取得できない不具合(?)を修正しました。
  • カード管理画面の一覧に全件表示されていたものを、正しく1ページに10個表示されるように修正しました。

Pzカード管理画面について追加および修正をしました

カード管理画面について、以下のとおり追加および修正をしました。

  • カード管理画面の外部リンクのURLにリンクを追加しました。
    • 一覧のURLをクリックして、そのサイトを別タブで開きます。
    • Aタグに rel=”external noopenner noreferrer” を設定しています。最近のブラウザであればリファラー(アクセス元URL)を隠匿してくれるはずですが、不安な方はURLをコピーする等して外部サイトへアクセスしてください。
  • カード管理画面にインポート・エクスポートの機能を追加しました。
    • 設定画面で設定を有効にすると一覧の一番下に「ファイルメニュー」が表示されます。ここから「インポート」と「エクスポート」が行えます。
    • 「エクスポート」を行うとタイトルや抜粋文などの記事情報をCSVファイルにして、ダウンロードできます。
    • 「インポート」を行うとエクスポートしたCSVファイルをアップロードして、取り込むことが出来ます。このとき、全件クリアした上で取り込むことができます。
    • 一般的なCSVファイルツールで編集を出来ることが出来ますが、エラーチェック等は最低限なため、編集はお勧めいたしません。
    • CSVファイルの操作が慣れている人であれば、全件ダウンロードして、不要なサイトの分を全て削除したり、http: から https: への置き換え等が一括で行えると思います。
  • カード管理画面のドメイン名の表示を国際化ドメインに対応しました。
    • 一覧のドメイン名表示や編集画面で、国際化ドメイン(いわゆる日本語ドメイン、IDNAドメインと呼ばれるもの)が表示されます。

Pzカード設定画面について追加および修正をしました

設定画面の修正を行いました。

  • 設定画面の「基本」タブに、「更新履歴(Changelog)」を追加しました。
    • 当サイトや、README.TXTを開かなくても、バージョン毎の修正内容(見出しのみ)が確認できます。
  • 設定画面から国際化ドメインに対応する設定を削除しました。
    • 設定に関わらず国際化ドメイン(いわゆる日本語ドメイン、IDNAドメインと呼ばれるもの)に対応しました。
    • ドメイン名が日本語等で表示されます。
  • 設定画面で使うカラーピッカーをWordPressの物からHTML5の物に変更しました。
    • これに伴い3桁のカラーコード( #cdf 等)が設定画面で正しく反映されませんが、記事上は正しい表示がされます。
  • 設定画面の「相対指定URL」の設定項目を「上級者向け」タブから「リンク先の検査」タブへ移動しました。また、初期設定をチェックありに変更しました。
    • 上級者向けの難しい設定では無いと判断したため。
    • 内部リンクをドメイン(サイトトップURL部分)を省いて記述できます。公開系とテスト系で記事URL等が共通している場合等に両方で表示が行える機能です。
  • 設定画面の「Web API」タブ、「画像」タブ、「CSS」タブを削除して、「その他」タブにまとめました。
    • 設定画面のタブ数をなるべく減らしたいため、あまり変更しない項目をまとめました。
  • 設定画面の「内部リンクタブと「外部リンク」タブに「サムネイルサイズ」の設定を追加しました。
    • 今まではサムネイルサイズ(150×150px)のみでしたが、「スクエア」等の書式を使用する際、画像が荒い問題を解決します。
  • 設定画面の「上級者向け」タブに「ファイルメニュー」の設定を追加しました。
    • これを有効にすると、「Pz カード管理」画面の一番下に「ファイルメニュー」が表示されます。これを使うことでカード情報をエクスポート(CSVファイルに書き出し)、インポート(CSVファイルから取り込み)が行えます。
    • サイトの移行時や、一時的にプラグインの使用を止める際にデータを取っておけます。
    • テスト環境へカード情報の取り込み等にも活用できます。
  • 設定画面から「初期化タブ」を削除して、「上級者向け」タブに「初期化タブ」を表示する設定を追加しました。
    • 頻繁に初期化を行うことは無いと判断して、「上級者向け」タブから「初期化タブ」を表示する形式としました。手間は増えますが、誤って設定初期化してしまうのを防げます。
  • 設定画面の「初期化タブ」の初期化方法を変更しました。
    • 今まで「初期化する」にチェックを入れて「変更を保存」をクリックすることで初期化を行っていましたが、「初期化を実行する」ボタンを押して初期化する方式に変更しました。
  • 設定画面の「上級者向け」タブから「実行時間の表示」の設定を削除。
    • 主に調査のために設けていた設定です。機能を調整して「調査モード」としました。
  • 設定画面の「上級者向け」タブに「調査モード」と「管理者モード」、「開発者モード」の設定を追加しました。
    • 特に「管理者モード」と「開発者モード」については動作に関わる設定が可能なため、通常は使用しないでください。
    • 不具合の調査等で個別に「調査モード」への移行をお願いする場合があります。
  • 設定画面の「上級者向け」タブの「URLによるAMP判断」を非推奨に変更しました。
    • AMP表示になっているかどうかは外部CSSが呼び出されるかどうかで判定しているため、URLから判定する必要がありません。
    • 有効にした場合、例えばAMPの記事を紹介する記事が「https://popozure.info/amp」とかの場合、AMPと判断してリンクカードが簡易表示になります。
  • 設定画面で「変更を保存」を押した際、開いているタブをそのままにするように変更しました。
    • 「変更を保存」を押すたびに「基本」タブに表示が戻ってしまっていたので、保存した瞬間のタブを開き直すように修正しました。
  • 設定画面に「マルチサイト」タブを追加しました。
    • マルチサイトの設定をしている場合のみタブが表示されます。
    • 「現在、マルチサイトが有効かどうか」、「サブドメイン型かサブディレクトリ型か」、「マルチサイトに設定されているサイト一覧と、現在開いているサイト」等が確認できます。
    • 現在サイト以外のURLから始まるリンク先URLについては外部リンクとして扱われます。(やや検証が不十分ですので不具合があればお知らせください)

その他の修正について

リンクカードの表示やショートコードの判定方法等を修正しました。

  • ドキュメント(readme.txt)を修正しました。
    • README.TXT は、公式サイトでも表示される大事なドキュメントですが、正直なところ、更新履歴以外はあまり更新していない実態があります。
    • 言い回しや表記の仕方、機能の加除について対応していなかった物等を見直し、一部修正をしました。
    • 英語はてんでダメですが、ドキュメントは極力英語で記述する必要があります。ほとんどGoogle翻訳頼みですが、なるべく同じような内容については同じような単語・文法を使うように見直して修正をしました。
  •  ショートコードのURLパラメータの解釈方法を修正しました。
    • URLを記述する際に誤った表記をしてしまった場合に読み替える機能を強化しました。
  • リンクカードの表示を一部変更しました。
    • URL表示に<CITE>タグを使用していましたが、<CITE>タグの使用をやめました。
    • <CITE>タグは「引用元の作品名」を現わすもので、本や映画のタイトル等を記述するもののため、URLの表記には正しい使用法では無いと判断しました。
    • これに伴い、URLがイタリック表示では無くなります。(今までどおりURLはイタリックにしたいという要望があるようであればイタリック表示にできる設定を追加することも検討します)
  • 外部リンクのサムネイルのキャッシュ画像のURLからスキーム(http:やhttps:)を省略するように変更。
    • スタイルシート(CSSファイル)のURLもスキームを省略していましたが、外部リンクの直接取得したときのキャッシュ画像に使用するURLについてもスキームを省略することとしました。
    • WordPressから取得するアップロードファイル用URLはSSLサイトでもhttp:でURLが返却される事が分かりました。サイトURLやSSL判定でhttps:を付与する事も出来ますが、省略としました。

ver2.4.3→ver2.4.3.1修正点

  • 【緊急】設定画面の「エディター」タブの、「外部リンクのみ」にチェックを付けた場合にPHPエラーが出てしまう不具合を修正しました。
  • 設定画面で「変更を保存」を実行した際、一部の設定値が正常に保存されていなかった不具合を修正。
  • 設定画面の「マルチサイト」タブの、表示が一部乱れていた不具合を修正。

ver2.4.3.1→ver2.4.3.2修正点

  • 大量にリンク切れが起きたという事例があったため、暫定的にURLの補正を無効にする設定を追加しました。

ver2.4.3.2→ver2.4.3.3修正点

  • ver2.4.3.2 の修正では不具合が改善しなかったため、URLの補正の設定は削除しました。
  • 全角空白が「%e3%80%80」にエンコードされている場合等で、更に「%25e3%2580%2580」とエンコードされてしまった場合に、正しいURLへリンクが出来ていなかった不具合を修正しました。

特に不具合が出ていない方にとっては連日更新となっており、申し訳ありません。

既知の不具合

設定画面のタブが選択できない

「設定」→「Pz カード設定」を開いたあと、設定のタブがありますが、これをクリックしても動作しない不具合が一部サイトで発生しています。

ver2.4.2でjQueryの見直しを行い解消されている想定ですが、製作者の環境で不具合が発現しないため確認ができていません。

現在も動作しない等の場合、ご報告・ご連絡ください。

動作しなかったが、現在も直ったという報告も参考になります。

エディタの挿入ボタンが表示されない

クラシック エディタを使用したときに、Pz-LinkCardのショートコードを埋め込むための「挿入ボタン」が表示できますが、これを設定してもボタンが表示されない不具合が一部サイトで発生しています。

ver2.4.2でjQueryの見直しを行い解消されている想定ですが、製作者の環境で不具合が発現しないため確認ができていません。

現在も動作しない等の場合、ご報告・ご連絡ください。

動作しなかったが、現在も直ったという報告も参考になります。

今後の課題など

facebookのシェア数

昨年からfacebookのGraph APIのバージョンが上がり、APIキーを取得しないとシェア数が取得できなくなりました。

通常は、必要な方が各自APIキーを取得して、設定画面に設定することでシェア数を更新できるようになる、というような修正となります。

要望が上がれば、APIキーの入力を設定画面に追加し、シェア数が取得できるように検討したいと思います。

APIキーの入力を不要にする方法が無いかも模索中です。

Twitterへのリンクができない

Twitterはスクレイピング対策を強化したため、Pz-LinkCardからは全てのアクセスが「403エラー(Not Found)」というエラーになります。

これは「ページが見つかりません」と表示される状態です。

このため、Twitterのツイート等を記事にしたい場合には、公式API等を使用する必要があります。

今後も表示できる方法を模索します。

  • スクレイピング
    プログラムからサイトのデータを吸い出すこと。
    分析等に使う事が多いが、転載等にも使われる事で、サイト運営者の利益を減らす恐れがあるため、敬遠される傾向にある。
    スクレイピングをするプログラムを「スクレイパー」と呼ぶ。ほぼ同じもので「ボット」「クローラー」がある。Googleは「クローラー」というプログラムで各サイトからデータを吸い出し、インデックス(目次のこと)を作る事で検索できるようになっている。
    Googleからのスクレイピング(クロール)はアクセスが増えるから歓迎だが、他のサイトのスクレイパーは敬遠される。
    Pz-LinkCardも、外部リンクのURLに対してアクセスを行い、タイトルや抜粋文を取得するため、Webスクレイピングと言える。
    似たサービスの「はてなブログカード」や、他のWordPressテーマに実装されいてる外部サイトのブログカードも同じような仕組み。)
  • スクレイピング対策
    Googleクローラー等の一部の有用なボットを除いて、それ以外のボットからのアクセスを弾く仕組み。
    パソコンから通常にアクセスするブラウザを使っていない場合等に、「あなたはロボットですか?」というような質問を表示することで、人間はそれを理解してチェック作業を行う事で正しいページを表示して、答えられなかった場合はボットとしてアクセスを拒否する仕組み等。

その他

お気づきの点などありましたら、コメント欄や、ツイッターアカウント「ぽぽろん@ぽぽづれ。(@popo68k)」もしくは「ぽぽづれ。(@popozure)」までご報告ください。

では、この辺で。(^-^)o

コメント

  1. ぽぽろん様
    ご対応ありがとうございます。Twitterでは別途
    スキップ設定を希望すると返信させて頂きましたが
    分析の為に記事テキスト提供した方が都合が良いでしょうか?

    その方がご協力になるのであれば、全く問題ありませんが
    お恥ずかしながら当方がサイト運営してる割に知識が大分甘い為
    ショートコードというのがどこで確認したら良いのか解りません。

    テキスト提供の仕方が良く解らない為、スキップ設定で対応する
    という意図でしたが提供した方が都合が宜しければ対応してみます。

    • コメント返信ありがとうございます。

      メールをいただけ次第、検討に入りたいと思います。

      ショートコードは記事編集中に記述する [blogcard url=““] という形式のものという認識で合っています。

  2. お世話になっております。
    今回のプラグイン更新をした所、多くのこれまで使用していたリンクカードがリンク切れの状態になってしまいました。(バージョン2.4.3更新時)
    管理画面で確認した所、これまでブログ内で2000か所近くプラグイン利用しておりましたがそのうち400か所以上一気にリンク切れになった模様です。
    解決方法をご教示頂ければ幸いです。
    (参考↓リンク切れブログ記事ページ)
    http://tannbura.com/%e3%80%90%e4%bb%81%e7%8e%8b2%e3%80%91%e8%a8%98%e4%ba%8b%e3%81%be%e3%81%a8%e3%82%81%e3%83%9a%e3%83%bc%e3%82%b8/

    • ご利用ありがとうございます。

      URLの不正な記述を省いたりするために、

      1.URLをデコード(日本語文字を英字等に変換する等)
      2.記述誤りを補正(誤ってショートコード内にリンクを設定しまったものを解除する等)
      3.サニタイズ(無害化。JavaScript等が含まれていた場合に実行されないようにする等)
      4.URLをエンコード(英字等に変換された文字を日本語文字等に変換しなおす)

      といった作業を行っています。

      前バージョンまではゆるやかなチェックしかしていなかったのを、今回強化した形です。

      この部分を前バージョンの物に戻す事で現象は直ると思われ、もしくは、設定画面にデコード・補正・サニタイズ・エンコードをスキップする設定を用意する事でも対応が可能と思われます。

      まずはスキップする設定を用意しようと考えています。

      • 可能な限り、前バージョンの物に戻してチェックを緩くする対応には持っていきたくないと考えているため、解決方法としては、

        1.スキップの設定を常用していただく
        2.たんぶらぁ様の、コメント欄に貼っていただいているURLの、記事のテキスト(編集画面で編集しているショートコードのままの状態のもの)を提供いただいて、こちらで分析して対応する

        のいずれかを提案いたします。

        記事のテキストについては、

        1.コメント登録時にメールアドレスを登録していただき、そちらのメールアドレスにこちらのメールアドレスをお送りしますので、再度そのメールアドレスにテキストを送っていただく
        2.たんぶらぁ様のサイトのどこかにテキストファイルを作成していただき、TwitterのDM等でアクセスするURLを教えていただく
        3.たんぶらぁ様のサイトに、編集者以上の権限のユーザーを一時的に作成していただき、TwitterのDM等でユーザー名・パスワードを提供していただく

        いずれかの方法によるかと思われます。

        他の渡し方の提案、記事テキストの提供は難しい、スキップ設定を希望する等、教えていただけると助かります。

        よろしくお願いします。

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