サイト内検索
Cocoonフォーラム
書き込みの前に以下の3点をご確認ください。
何を書き込んだら良いか分からない場合は、以下のテンプレートをコピペしてご利用ください。
不具合・カスタマイズ対象ページのURL:
相談内容:
不具合の発生手順:
解決のために試したこと:
※文字だけでは正しく伝わらない可能性があるため、スクショ画像の添付もお願いします。
※高速化設定をしている場合は無効にしてください。
環境情報:※↑こちらに「Cocoon設定 → テーマ情報」にある「環境情報」を貼り付けてください。
環境情報の取得方法はこちら。
→ https://wp-cocoon.com/theme-report/
高速化設定を無効にするにはこちら。
→ https://wp-cocoon.com/theme-trouble/
フォーラム利用ガイドリンク
- フォーラムガイドライン
- よくある質問と答え(FAQ)
- サポート対象外のケース
- 原因不明の不具合用トラブルシューティング
- トピックにHTMLを貼り付ける方法(推奨ツール:notepad.pw)
- 真っ白画面でのエラーメッセージの確認方法
- ブラウザ環境チェックツール
- Cocoonカスタマイズ依頼
フォーラム質問後、問題等が解決した場合は結果を書き込んでいただけると幸いです。同様の問題で調べている方には、結果が一番気になる部分となります。
Topic starter
2019年9月30日 19:45
いつもCOCOONにはお世話になっています
さて表題の件ですが先日より添付ファイルのようなエラーが発生しております
いろいろ調べてみたのですが、参考になるものがなかったので解決策を求めて投稿させていただきました。
不具合ではないとは思うのでここのテーマにそぐわなかったら申し訳ありません
テーマ COCOON 1.9.9.1
子テーマ COCOON 0.0.2
2019年9月30日 21:54
APIのキャッシュ間隔はどのくらいに設定されていますか?
あと、お手数ですがエラーメッセージをそのままで良いので、コピペで貼り付けていただければと思います。
2019年9月30日 22:55
それに加えて、以下方法でAmazonアソシエイトのアカウント・アクセスキーなど取得されてますか?
https://wp-cocoon.com/product-advertising-api/
ひと昔まえのキーが入ってるなどないですか??
Topic starter
2019年10月1日 06:56
キャッシュの保存期間は120日となっています
エラーの内容は
TooManyRequests
The request was denied due to request throttling. Please verify the number of requests made per second to the Amazon Product Advertising API.
となっています
Topic starter
2019年10月1日 06:59
>かうたっくさん
Amazonアソシエイトのアカウント・アクセスキーはPA-APIページで確認したアクセスキーIDに表示されているものと同じものが入っていたので間違いないと思います。
サーバーの「php.ini設定」の「allow_url_fopen」項目についても「ON」になっていました。
2019年10月1日 19:53
TooManyRequestsエラーは、APIがあまりにも呼び出されすぎると表示されるエラーです。
ただ、キャッシュの保存期間が120日ということであれば、呼ばれすぎるということはないと思います。
APIキーを利用しているサイトはその一つだけでしょうか?
あまりにも多くのサイトで使われていると、そういう可能性もなくはないかもしれません。
まあ、でも2、3サイトとも同様のCocoon設定であればであれば、問題ないはず。
その他に、何かPA-APIを使用するプラグインは使用していないですか。
2019年10月1日 19:55
あと、Cocoonを1.9.6.3以前に戻したとしても、表示されますか?
1.9.6.3以前はPA-APIv4、1.9.6.4以降はPA-APIv5となるので、APIの仕様による違いの可能性もあります。
https://github.com/yhira/cocoon/releases/tag/1.9.6.3
Topic starter
2019年10月1日 23:05
自分が運営しているサイトは1つなので他にAPIキーを使っているものはありません
入れているプラグインですが
・Broken Link Checker
・Google XML Sitemaps
・Redirection
・SiteGuard WP Plugin
以上です。
わいひらさんのアドバイスによりCocoonのバージョンを1.9.6.3に戻すと通常通り表示されました。
ありがとうございます。
ところで今回の件については今後のアップデートで解消できるものなのでしょうか?
2019年10月1日 23:48
v4のキャッシュの影響でV4のリクエストを繰り返して、v5に適応された状況でリクエストが失敗してそうなってるのか??????
下
初期状態にて1日のリクエスト上限を8,640リクエスト
https://wp-cocoon.com/pa-api-2019-01-16/
上記引用を超えるような色んな人からの???ページへのアクセスがあってAmazonの規約であるリクエストをこえたのか??
色んな人からのアクセスで、沢山のAmazon商品リンクを置いていたそれぞれのページでリクエストを試みた結果そうなったのか???
- PA-APIv4とv5のキャッシュは別になる感じか???
- AmazonAPIへの不正なんちゃらでアクセスが増えているのか???
- 何かの原因で、読み込むにも読み込まれない状況でリクエストをこえたのか???
原因の特定を使用と考えた場合。
APIのキャッシュ削除を行う。とかリスクがあるけど試さないと分からない気もしたり。※分からないから、実はコレを書きたくないんですけど
- 机上の空論だけです!
その他、テーマ作成者さん的に心当たりがあるかも知れないですね???
2019年10月2日 03:09
PA-API v4とPA-API v5のキャッシュは別になるため、120日間のキャッシュを設けていても一時的に起こってしまっているエラーかと思われます。
(同じ商品でも値段の取得日時が異なって見えるので、違うものだと判断できます)
Cocoonのバージョン 1.9.6.4以降(PA-API v5対応版)に初めてすると、Amazonのキャッシュを保有していない状態になりますので、商品リンクが多いページでしたり、アクセスが集中してしまうと、エラーにはなりやすいです。
APIを使う以上、Amazonの仕様であるので、1日に読み込むことのできる商品リンクには限界があります。
初期状態にて1日のリクエスト上限を8,640リクエスト
というのはAPI利用開始から60日間だけで、その後は過去30日間の売上に応じて決まるため、API利用開始60日を過ぎた場合の上限は、多くのブログでもっと少ないです。
このあたりの簡単な解説
https://nvl-game.tokyo/business/2221
API呼び出しによるエラーということは、PA-API経由での実績を上げるか、少し長い目で様子を見て、徐々に解消へ導くしかないでしょう。PA-API v4は使えなくなってしまいますので、PA-API v5で早めにエラー解消したキャッシュを作っておけるといいと思いますよ。
(どうするかは自由ですけれども)
わいひら reacted
Topic starter
2019年10月2日 07:46
>かうたっくさん
当ブログは1日500PV以下、記事数でも120程度となっております
過去30日のPA-API経由の売上も、漱石さん6人程度では上限回数に引っかかってしまうということなのでしょうか
あと、キャッシュの削除はv5で一度キャッシュを削除してみるということでしょうか?
>ジャム君さん
v5では以前のキャッシュが無効になるので、しばらく放置していれば戻る可能性があって、もっと早くエラーを回避させるにはPA-API経由での売上が必要だということですね。
ブログの規模や商品リンク数によるとは思いますが、どのぐらいの売上が必要になるものなのでしょうか?
2019年10月2日 15:39
仮に「1日のリクエスト上限を8,640リクエスト」というものを維持したいのであれば、過去30日間の売上が4万5千円ほどを維持する必要になります。
またリクエスト上限が大きな数字になっていても、短時間でキャッシュ保有せず(Cocoon保有のAmazonのキャッシュを消した、v5に移行した含め)アクセスがあった場合やキャッシュ期間切れの場合には、同様のエラーが出てしまう可能性が高まります。
早めにエラーを解消させるのであれば、エラーが出ているページを自動で読み込ませることで早めの解消に向かうでしょうが、サーバーにムダな負荷もかかりやすいため推奨はできません。一度に(短時間に)Amazonの商品リンクを呼び出そうとするから起こるエラーであり、こればかりは【起こってしまったら時間を空ける】のが最短ルートでしょう。
「時間を空けようが何をしようが更新できない…」となったときに、CocoonのAmazon APIのキャッシュ削除を試されるのがいい気がします。
(Cocoonのキャッシュ削除からAmazon APIを消すと、PA-API v4もv5も消えるかと思いますので悪化の可能性も…)
https://wp-cocoon.com/amazon-api-cache/
あとは、サーバー側やプラグイン側のキャッシュ問題とか?
通常ならば更新されて表示されるはずなのに、キャッシュが効きすぎて上手く動作してない、なんてこともあるかもしれませんので、サーバーのキャッシュ設定(いわゆる表示スピードアップ系設定)をいったんオフにして反映させた後に、確認してもいいかもしれませんね。
This post was modified 5年前 by ジャム君
わいひら reacted
2019年10月2日 19:38
APIキャッシュの削除はしない方が良いと思います。
余計リクエストが増えてしまうかもしれません。
当ブログは1日500PV以下、記事数でも120程度となっております
過去30日のPA-API経由の売上も、漱石さん6人程度では上限回数に引っかかってしまうということなのでしょうか
この条件であれば、リクエストが多すぎることにはなりにくいような気もします。
だとしたら何故…となるのですが、手元に不具合環境がないので、今のところわからないとしか言えないかもしれません。
わいひらさんのアドバイスによりCocoonのバージョンを1.9.6.3に戻すと通常通り表示されました。
このバージョンでPA-APIを使えるのは、11月30日までとなります。
それまでに、テスト環境などを作成して、同一のAPIキーなどを設定し、1つだけAmazon商品リンクを作成し、それでもTooManyRequestsが出るか確認しておく必要はあるかもしれません。
もしその環境でエラーがでないようなら、何かしら多くリクエストが発生する要因があるのかもしれません。
2019年10月2日 20:52
あと別に考えられることとしたら、以前の回答で私のブログ記事紹介したものの中にも書いてあるのですが、以下の部分でしょうか。
- プラグインを使った商品検索
PA-APIを使ったプラグインでAmazonの商品を検索してしまうと、PA-APIコール回数の制限に引っかかりやすくなります。
(検索しただけで1日のAPIコール数制限に達する恐れがある)
ブックマークレットで簡単に貼り付けることもできなくなってしまいますので、Cocoonの機能を使うのであればなおさら、Amazon公式サイトから検索されたほうがPA-API制限も「商品検索」部分では関係なくなりますし、利便性は増す気がします。
https://wp-cocoon.com/amazon-link-bookmarklet/
私の運営しているサイトいくつかも、PA-API v4からv5に対応させましたが、報告いただいているような不具合は再現していません。「新規にPA-API v5へ切り替えたときに一時的に」でしたり「キャッシュが切れた際に一時的に」といった、あくまで「一時的」エラーでしたらメールも届いておりましたが、しばらくすれば正常にリンクを取得できておりました。
差し支えないようなら、現在利用中のプラグインまで環境情報として添えていただけますと、同じような環境下で問題が発生している方が検索で探しやすく、また助言が得られやすくなるかもしれません。
わいひら reacted
Topic starter
2019年10月2日 22:56
>わいひらさん
キャッシュ削除やっちゃいました。
結果は
Cocoonアップデート → キャッシュ削除 → 「TooManyRequests」表示される
→ Cocoonダウングレード → 表示が戻る
といった流れです。
キャッシュを削除したあとに、元通りに表示されたということは上限には達していないということなんですかね?
>ジャム君さん
現在のプラグインは
・Broken Link Checker 1.11.8
・Google XML Sitemaps 4.1.0
・Redirection 4.4.2
・SiteGuard WP Plugin 1.4.3
といった感じです
2019年10月2日 23:26
Cocoonアップデート → キャッシュ削除 → 「TooManyRequests」表示される
→ Cocoonダウングレード → 表示が戻る
このような作業されたということですが、Cocoon 1.9.6.4以降のPA-API v5対応したものへ1.9.6.3以前から初めてアップデートさせると、必ずPA-API v5対応のAmazonリンクを最初にページを開いた段階で行います。
(キャッシュ削除の有無は関係ない)
ですが、今回の場合はキャッシュを削除し、PA-API v5で「TooManyRequests」が表示されているときにCocoonをダウングレードしたため、PA-API v4でも商品リンクが再取得されているはずです。
簡単に確認したければ、一時的にでもCocoonの設定からAPIタブを開き「価格を表示する」にチェックを入れて商品リンクの取得日時を確認するといいでしょう。
PA-API v4とv5で、どこまで短時間でのAPIリクエストの制限に違いがあるのかはわかりませんが、PA-API経由での売上が十分にありキャッシュも120日で設定していらっしゃるのでしたら、PA-API v5にしても「時間が経てば勝手に表示は正常化する」と思われる事象です。
現在はPA-API v4をご利用のようですので、気になるようでしたらもう一度PA-API v5で表示が可能か(表示できなかったときの損失を考えるのであれば、ユーザーができる限りいない時間帯の作業で)、またページをすぐ更新するのではなく数分後や1時間後など時間を空けてアクセスしてみたらどうかなど、挙動を再確認してみてはいかがでしょう。
全ページ手動で確認するのは面倒かと思われますので、CocoonのAPI設定一番下にある「商品リンク切れ情報をメールで送信する」にチェックを入れて、エラー情報取得できるようしておくと、120日後にキャッシュが切れた際にも安心して作業できますよ。
わいひら reacted
2019年10月2日 23:35
商品検索系のプラグインは今も入れていらっしゃらないようですが、Amazonのキャッシュ生成時ちゃんと表示できているか確認する際にも注意は必要です。
- 短時間でのアクセス(訪問してくれているユーザー含む)
- 単一ページに別の商品リンクが多数
こういった多数の商品リンク利用ページがあったり、短時間アクセスをして確認してしまうと、API制限に引っかかりやすくなってしまい、問題となっているエラー表示になりやすくなります。
わいひら reacted
2019年10月3日 09:37
・Broken Link Checker 1.11.8
・Google XML Sitemaps 4.1.0
・Redirection 4.4.2
・SiteGuard WP Plugin 1.4.3
あと、使用されているプラグインのうち、「Broken Link Checker」が気になります。
Broken Link Checkerは使用したことはないのですが、確かCronを用いて各記事本文の出力を自動的に実行し、リンク切れかどうかをチェックする機能だったはずです。
その際にショートコードも合わせて実行されていると思います。
つまり、サイトへのアクセスとは別にこの処理でAPIリクエストが発生している可能性があります。
キャッシュがない段階の自動処理で急激にリクエストが増え、v5の上限に引っかかるのかもしれません。
Topic starter
2019年10月3日 12:17
>ジャム君さん
夜中にCocoonをバージョンアップしてキャッシュを削除した後に、ダウングレードしたら価格の取得は10月2日と表示されていました。
>ロコさん
Broken Link Checkerを一度外してみたのですがやはりだめでした。
2019年10月3日 13:07
Broken Link Checkerを一度外してみたのですがやはりだめでした。
考えられる問題点をすべて取り除いてから、APIリクエストの制限が解除されるまで待たなくてはいけません。
If you are trying to submit requests that exceed your account’s usage limit, or if your access has been revoked you will receive a 429 TooManyRequests error message from Product Advertising API 5.0.
If you lose access to Product Advertising API 5.0, you can continue to use other product linking tools, such as Site Stripe and generate revenue. You will regain access to Product Advertising API 5.0 within 2 days after your referred sales are shipped.
https://webservices.amazon.com/paapi5/documentation/troubleshooting/api-rates.html
この説明をそのまま受け取ると、リクエスト過多で制限がかかる前にPA-API v5経由で発生した売上が確定(商品発送)してから、制限解除までに2日程度要するということになります。
PA-API v5経由で売上は発生していますか?
また、もしBroken Link Checkerなどのツールによる機械的なリクエストで制限がかかってしまった場合、リクエスト当たりの売上に絡むアクセスがないため、制限期間がより長くなってしまうのかもしれません。
どちらにしても、しばらくはv4や通常のアソシエイトリンクなどを使用し、売上を発生させつつ制限解除を待つ必要があるかと。
Topic starter
2019年10月3日 19:08
>ロコさん
とりあえず2〜3日は放置して制限の解除を待つ必要があるんですね。
ちなみに今現在まで、PA-API V5経由での売上は立っていない状況です
PA-API V5での売上が必要なら、V5に対応しているCocoonにしておいたほうがいいのでしょうか?
2019年10月3日 19:54
現在は、PA-API v4でもPA-API v5でも、「PA-API経由」での売上があれば、APIのリクエストは可能な状態です。
Yes, you can use the new credentials to access PA API 4. You may do so until PA API 4 access is shutdown on October 31, 2019. You can also continue to use the old credentials with PA API 4 until it is available. But rather than managing two sets of credentials – old and new, you can use the new credentials with all PA API versions.
https://webservices.amazon.com/paapi5/documentation/faq.html
とあるとおり、英語表記だと2019年10月31日、日本語表記だと2019年11月30日(誤表記なのか日本特例なのかは不明)まではPA-API v4も使えますが、それ以降はPA-API v4が使えなくなってしまうため、PA-API v5に切り替えて問題解決の糸口を見つけることも重要でしょう。
仮に「Broken Link Checker」が原因だったとするならば、今度の土日や週明けには日数的にもロコさん提示の制限も解除が見込めるでしょうから、「Broken Link Checker」はオフにしたままで2~3日以上放置してからPA-API v5へ切り替えてみてどうか、あたりも見るといいかもしれません。
夜中にCocoonをバージョンアップしてキャッシュを削除した後に、ダウングレードしたら価格の取得は10月2日と表示されていました。
キャッシュを削除したあとダウングレードした際、最初にアクセスがあった(自分含め)のが10月2日という状態なのかと。
ザックリでもPA-API v4の状態で商品リンクを使っているページを見てみて、明らかに「キャッシュを削除する前」(9月1日とか)のようなデータが残っていなければ、Cocoon機能としてAmazonのキャッシュは正常に削除されているとお見受けします。
わいひら reacted
Topic starter
2019年10月4日 08:51
今朝気づいたのですが、9/20~9/25日にかけて「Amazon 商品取得エラー」が280件届いていました。あまりの多さにびっくりしました。
通知メールのアドレスを今使用していないものを指定していたから気付かなかったのですが…
どれも同じ内容(1件のリンク)のもので、これが原因でV5の方で使用制限を受けた可能性はあるのでしょうか?
また1つのエラーでこんなにたくさんの商品取得エラーが届くものなのでしょうか?
今は、エラーの出たリンクは訂正して通知用のメールアドレスも現在使用中のものに変更しました
2019年10月4日 20:47
先ほど、ザッとサイトを拝見した限りではありますが、PA-API v5の表示もできていたかと。
途中裏で作業されていたのか、PA-API v4に戻ってしまいましたが。
PA-API v5にて一時的に取得エラーを起こしていたものも、再読み込みすれば表示は問題なく見えておりました。今後キャッシュを削除しなければ、問題はなく動作していくと思われます。
どう見えているのかは、PA-API v5対応のバージョンにしてご自身で確認いただくと、間違いはないと思いますよ。
ただし問題点として、Amazonのキャッシュが切れる120日後に、似たような現象が起こる危険性はあります。
商品リンクを個別にキャッシュ削除してからご自身でリロードさせ、キャッシュが切れる日時をバラけさせると、一度にアクセスが集中することは避けやすくなると思いますよ。
(ただ、絶対にすぐ再取得できるとは断言できませんので、自己責任で)
わいひら reacted
2019年10月4日 22:12
メールについては、ロコさんの書かれた通りだと思います。
ただし問題点として、Amazonのキャッシュが切れる120日後に、似たような現象が起こる危険性はあります。
商品リンクを個別にキャッシュ削除してからご自身でリロードさせ、キャッシュが切れる日時をバラけさせると、一度にアクセスが集中することは避けやすくなると思いますよ。
一応補足しておくと、キャッシュ作成時に、ランダム関数を用いてキャッシュ期限に一定のばらつきが出るようにはしています(0~60分のバラつき)。
https://github.com/yhira/cocoon/blob/080b421f2692cfb694b507b207a1dbb93ec6366a/lib/shortcodes-amazon.php#L330
なので、設定していたキャッシュが切れたからといって、一斉に読み込まれるということはないようになっているかと思います。
TooManyRequestsエラーが最も出やすいのは、やはり切替時とか、プラグインで何度も読み込まれる時かもしれません。
ただいずれにせよ、何も影響を及ぼすようなプラグインをインストールしないテストサイトで動作確認をしやすい環境整えておくのはお勧めします。
PA-APIv4が使えなくなってから、何か問題点が出てきても、日々売り上げがあるのであればそれだけ損失になるので。
2019年10月4日 22:31
Topic starter
2019年10月5日 07:14
Cocoon最新版のPA-API V5でちゃんと表示されていることが確認できました。
みなさんいろいろとありがとうございました。
2019年10月5日 11:20
こうなってしまった場合、治るまで
直接的な原因は結局なにだったのかな?と思うところなのかな????
とユーザーさんは大混乱かもですね^^;
- vr4・vr5関係なく売り上げがあれば問題ない。
でも
何かvr5でリクエストを繰り返したんだろなぁ。って思いますけど、結果。時間的に待っていれば良いって話ですか?
またはリンク切れを教えてくれるプラグイン『Broken Link Checker』が繰り返しアクセスした結果そうなった感じですか???
これらの可能性を削除すればOK!って事なのかな???と、検索された人的には、よく分からないかも知れないです。
私(つかってないからか??)、ザっとどの可能性を削除すれば良いか。など分からないので^^;
This post was modified 5年前 by かうたっく
わいひら reacted
2019年10月5日 23:00
よろしければ、改善までにやったことをリスト形式の簡単なもので良いので、書いておいていただけると助かります。
思いつくものだけで良いので。
必ず、同じPA-APIエラーに行き当たって検索から訪れた方の方の解決の助けになると思うので。
というか、Broken Link Checkerプラグインを無効化して、しばらく待っただけとかでしょうか。
Topic starter
2019年10月5日 23:23
>かうたっくさん
たしかに原因がわからないので、もやもやは残ります。
昨日PA-APIでの売上が発生したあとに、表示が回復したのですが、何が原因でV5で制限がかかるぐらいアクセスが発生したのかはなぞです。
Amazon商品取得エラーが大量に届いていたということは、その間頻繁にアクセスが発生したのではないかと思いますが…。
その原因が、『Broken Link Checker』なのかはわからないですね。
いまわかることは、『Broken Link Checker』を外し売上が発生するのを待つということです
Topic starter
2019年10月9日 16:36
>わいひらさん
コメントいただいていたのですが気づかずすみません
今回のことを時系列で書いておくと
・「TooManyRequests」エラーに気づく
・Cocoonのバージョンを下げる
・キャッシュのクリア
・「Broken Link Checker」を外す
・商品コードエラーの修正
・Cocoonのバージョンアップ
・2日間放置すると回復
と行った流れです
ずっと気になっていたのですが、あれだけたくさんの「商品取得エラー」のメールが来ていたということは、その間になんどもPA-APIに商品情報取得のリクエストがでていて、上限に達して制限がかかったというようなことはないのでしょうか?
わいひら reacted
2019年10月9日 20:42
試してみたことを書いていただきありがとうございます。
一応、エラーが出たとき何度もPA-APIv5にアクセスしないように、エラー状態のキャッシュは、一日持ち越すことにしました。
これで、エラーが出るページに何度もアクセスされても、1日間はキャッシュが利用されるので、不要なリクエストが減ります。
------------------------------------------------
https://github.com/yhira/cocoon
最新ファイルをダウンロードする場合は、上記ページのダウンロードボタンからzipファイルをダウンロードしてください。
FTPでのアップデート方法はこちら。
https://wp-cocoon.com/ftp-update/
------------------------------------------------
メール的にも、1日ごとに一通くらい届くくらいで十分かなと。
そのうち余裕があれば、1日~30日くらいに設定できるような設定項目を設けようと思います。
2019年10月9日 20:43
ちなみに「Broken Link Checker」は、僕の別のサイトのPA-APIに対しても、おかしな挙動をして、メールを乱発してきたので、無効にしました。
やっぱ、「Broken Link Checker」は自サイト内(本文)をクロールするので、あんまり良くないのかも。
問題の解決に至った場合には、トピック冒頭の「解決済み」をクリックしていただけますと幸いです。
また、有用な回答があった場合は返信右下にある「いいね!」もご活用ください。回答者の励みになります。
(CC BY-ND 2.1)準じていれば(リンクを貼っていただければ)転載も自由です。カスタマイズ記事を書く際にコード等をコピペ利用していただいて構いません。
フォーラムの使い方がよくわからない場合は、テストトピックで自由にテストしていただいて構いません。
最近の書き込みはこちら。
詳細なカスタマイズ依頼をするならこちら。