ブログカードの仕様をちょっと変更 Luxeritas 1.42

ブログカードの仕様をちょろっとだけ変更しました。

一応、仕様変更に関する注意点として、

バージョンアップして、ブログカードの貼ってある記事にアクセスすると、既存のブログカードのキャッシュが削除され、キャッシュの再構築が始まります。

ということだけ、認識しておいてください。

仕様変更の内容

以下のように仕様を変え申した。

パフォーマンス向上

これまでの仕様だと、ブログ全体で約 5000 枚くらいブログカードを使うと、パフォーマンスが低下する可能性があったので、キャッシュを分散保存するようにした。
理論上、約 18 万枚くらいまでならパフォーマンスは変わらないと思う。多分。(て言うか 5000 もカード使わん気もすっけど・・・)

HTTP ステータスコードが「200:OK」以外だった場合の動作

リンク先からの応答が 200:OK 以外(404:Not Found とか 403:Forbidden とか 500:Internal Server Error などなど )だった場合は、次のアクセスからキャッシュ再構築を試みるようにした。

逆に、元のキャッシュが正常で、キャッシュ期限切れの再構築時に 200 以外が返ってきたら、元の古いキャッシュをそのまま表示する。

2段階取得

基本的には wp_remote_get() を使って相手先の情報を取得してるけど、マレに、「wp_remote_get() だと 403:Forbidden を返すけど、cURL なら 200:OK を返す」とか、逆に、「cURL だと OK で、wp_remote_get() だとダメ」とかいうサイトもあるので、

※ ちなみに、Google 関連の動的ページは後者のパターン。ALC 関連の動的ページだと前者のパターンだった。

wp_remote_get() でダメだったら、cURL で再チャレンジするようにした。

内部リンクの場合の画像表示

リンク先が内部リンクだった場合は、OGP 等が設定されてなくても、アイキャッチ画像が設定されてたら、それを優先して表示するようにした。

改訂履歴

仕様変更

  1. ブログカードのパフォーマンス向上させた
  2. その他ブログカードの取得方法に関する仕様をちょっと変更

バグ修正

  1. ブログカードと SNS カウントキャッシュの trasients の削除処理が微妙に不完全だったので修正

Luxeritas

Posted by るな