本日からTooManyRequestsで悩まされていて、これが解決できるかはちょっと様子見をする必要があるのだけれど、解決に至る経緯は書き留めておきたい。
このブログはWordPressを利用し、デザインにCocoonを採用している。
CocoonにはショートコードでAmazonのリンクを貼ることができるのだけれど、今回はこれ関連のトラブルだ。

割とありがちなトラブルみたいだね。

管理している人に対してこんな風な表示が出る。最初出た時には「何がおきたんだ」と驚いたのだけれど、安心して欲しい。
解決策はある。
Too Many Requestsとは何か
Amazonさんは売り上げを稼がないサイトには厳しい
どういうことかというと、詳しくはこちらのサイトが説明しているので参照して欲しい。

簡単に説明すると、Amazonさんに問い合わせするのに「PA-API」という仕組みを使うんだけど、ここがエラーを吐いたということなのだ。
この仕組みを使って多数のサイトから問い合わせがあると、Amazonのサーバーがパンクしてしまう。なので、Amazonさんは仕様を改めた。
・初期リクエスト可能数 : 1日あたり 8,640リクエスト(API利用開始より60日間)
Amzon.co.jp
・PA-APIより取得した商品リンクより発生した、過去30日間の発送済み商品売上$0.05(日本円で約5円)ごとに1リクエスト追加
・1日の最大リクエスト可能数は、1日あたり864,000リクエスト
とまあこんな仕様になったらしい。
「売り上げがなければアクセスしてくんな!」という仕様なのだが、そもそもブログを始めるときは売り上げがないところからスタートなのだから、愛が無いというか……。
どうしたら解除になるのか?
簡単に言うと、「売り上げが上がれば良い」と言うことになるのだが、商品リンクが表示されていないと売り上げが上がる可能性は限りなく下がってしまう。
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.
Amazon.com
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.
売り上げ発生後、2日程度で解消と書かれている。
Broken Link Checker が怪しい
今回この事態を引き起こした犯人の第一候補は、リンクチェッカーである。
・Broken Link Checker
というプラグインは、リンク切れを報告してくれる優秀なチェッカーなのだが、リンクの確認をするためにリクエストを行う。
定期的にリクエストをするので、エラーがある奴はリクエストを繰り返すという結果になる様だ。
取りあえず楽天のリンクにしておく
さて、他の記事は影響されないのだが、本日の記事はどうしてもリンクエラーが解除できない模様。
可能性としては、数日おいておけば回復するなんてこともあるだろう。
しかし、リンクエラーをそのまま放置するのももやもやするので、楽天リンクに変えておいた。もちろん、楽天のリンクだって問題は無い。好みの問題なんだと思うが。
他の記事が問題ない理由は、多分、キャッシュの期間を長めに設定しているからだと思う。
Amazonの売り上げが発生していないのが問題
PA-APIを使わないリンクを貼る
Amazonの提供しているテキストリンクを使う場合には、PA-APIを使わないようだ。

ともあれ、こうしたスタイルでも、クリックされて購入に至れば「売り上げ発生」にカウントされ、問題は解消するはず。
ただ、購入が発生しないといつまでも解消できないという問題はあるのだ。
しばらくは様子見
そんなわけで、問題発生から二日経過した現在も問題解消には至らずどうしたものかと悩んでしまうが、何か分かったらここに追記していきたい。
解消すると良いんだけど。
追記
さて、TooManyRequestsがでると言うことで苦悩していたのだけれど、これ、どうなったのか?というと、解消できたようだ。
楽天やA8のコードを貼って対応していた。ところが先日、Amazonコードはどうなったと思って、この記事に追記を書くために試したらOKであった。
……誰かアナウンスしてよorz。
さて、では何が良かったのか?というと、これがよく分からないのである。記事に書いたように、Broken Link Checkerを外すことはやっているので、それの影響の可能性は高い。
でも、通常は2日程度で回復するらしいと思っていたので、1週間頑張って待っていたがダメだった。となると「それだけ」では解消できない問題のようだ。
後、1つ可能性があるのは、Amazonでの売り上げがあったことである。
ブログを作り直してから、このサイトの売り上げはほぼ0になってしまった。それが先日、このサイトからのお買い上げがあって(ありがとうございます)、意外なモノが売れていた。
多くのサイトでTooManyRequestsがでた場合に「売り上げがあってから2日くらいで解消」という情報があった。そんなわけで、どうにもこれが原因くさい。
でも、売り上げはコントロールできないんだよね。だから結局待つしか無かったわけで。
誰かの参考になれば幸いである。

コメント