Amazon APIのレスポンス制限は非常に厳しいので、Cocoonはキャッシュを用いることで制限を回避しています。
Cocoonテーマデフォルトだと、24時間でキャッシュが入れ替わります(v2.5.7.14から最大キャッシュ保存時間が24時間になりました)。
ただ、キャッシュは古い情報をストックしておくものなので、即座に最新情報に書き換えたい場合もあるかと思います。
そういった場合、Cocoonでは以下の2つのキャッシュクリア方法があります。
- 個別の商品リンク毎にキャッシュを削除する
- 全ての商品リンクのキャッシュを削除する
以下では、それぞれの利用方法や、機能の特徴について説明します。
個別の商品リンク毎にキャッシュを削除する
個別の商品リンクのキャッシュを削除して、Amazon APIから取得した最新情報に入れ替えるには、まず管理者権限でWordPressにログインしてださい。
そしてキャッシュを更新したい商品リンクページを開いてください。
すると以下のように、商品リンクの下部に「キャッシュ削除」という項目が表示されるのでクリックしてください。
すると、新しく管理画面が開いて以下のようなメッセージが表示されます。
これが表示されればキャッシュが削除されています。
あとは、商品リンクが貼られたページを更新することで、キャッシュも更新されます。
全ての商品リンクのキャッシュを削除する
全ての商品リンクキャッシュを削除するには、WordPressにログインし「Cocoon設定 → キャッシュ削除」を選択してださい。
「Amazon APIキャシュの削除」ボタンを押すと全てのAmazon商品リンクキャッシュが削除されます。
注意点
「キャッシュの全削除」を行ってしまうと商品リンクが同時に読み込まれる可能性が高くなります。すると、多くのAmazon APIのリクエストが発生してしまうため、リクエスト制限にかかる可能性が高くなります。
なので、あまり推奨はしません。
けれど、一時的に正常な商品リンクが表示されないことはあっても、時間がたてばキャッシュが順次生成され、いずれ正常表示されるようになります。
なので、気長にお待ちいただければと思います。
Amazon商品リンク機能のキャッシュ体制
商品リンク機能では、例えAPIのリクエスト制限にかかったとしても、訪問者にはバックアップ用のキャッシュが表示されるので、訪問者への表示に問題が起きにくい作りになっています。
加えてもし、リクエスト制限にかかって管理者に警告表示が出ていたとしても、訪問者には最低限「Amazon商品ページへのアソシエイトリンク」は表示されます。
簡単に書くとこんな感じ。
- キャッシュがあればキャッシュから商品リンク表示
- キャッシュを削除した場合はAPIから商品情報を取得して表示
- APIから商品情報取得で制限にかかった場合、バックアップしてある以前の商品リンク表示
- バックアップキャッシュがない場合は商品ページへのアソシエイトリンク表示
このような4段構えの体制になっており、最低でも「商品ページへのアソシエイトリンク表示」は担保される作りになっています。
例えば全キャッシュを削除したとしても、以下のようになる工夫は施されています。
- 出来る限りAmazon APIへのリクエストを減らし制限を受けないようにする
- 訪問者にもできる限りキャッシュから商品リンクを表示する
- 最低限商品ページへのアソシエイトリンクは表示される
Amazon APIに関する機能を作ってみて、思いのほかリクエスト制限が厳しかったです。
ですので、そういったことも考慮して「出来る限り訪問者には適切な商品リンクが表示される仕様」になるようにしました(Amazon APIへの負担軽減と、訪問者への表示優先仕様)。
Amazonのリクエスト制限については、以下を参照してください。
参考 Product Advertising API (PA-API) の利用ガイドライン