「親の顔より見たエラー」でお馴染み、Amazon PA-APIの「Request Throttled リクエスト回数が多すぎます」で絶賛発狂中のみなさん、こんばんは。
同士がここにいます。
PA-APIのことでブログ界が騒がしくなって結局よくわからないまま放置していたんですが、ある日Amazonの商品リンクを貼るとこんな感じで表示されていました。
もうお馴染みのエラーですね。
でもよく見てみると、「このエラーメッセージはサイト管理者のみに表示されています」と書いてあります。
ん?ということは、ユーザー側から見たら普通に商品が表示されてるってこと?
なーんだ(笑)じゃあ試しにスマホの別アカウントから見てみよっと( ^ω^)
は?
幸い発狂する程度で済みましたが、どうやらユーザーから見ても商品が正しく表示されていない模様。これは知らなかった。
ずっとこのままというわけにもいかないが、調べても全然解決策がわからない…
というわけで右往左往した挙句、最終的に根本原因と解決策がわかったので超解説します。精神崩壊とは今日でおさらばです!
このブログの状態
2018年12月開設(AmazonのPA-API仕様変更は2019年1月)。当然売り上げ0。
PA-API仕様変更までに売り上げ実績がない人は、総じて「リクエスト回数が多すぎます」エラーで発狂しているらしい。
前からブログをやっていて売り上げ実績が結構ある人は普段通り商品リンクを作っていますが、新しくブログを始めた人や仕様変更に乗り遅れた人がエラーで悩んでいるとか。
とまあこんな感じです。
同じような目に遭っている人はたくさんいるはずなのに、調べてもなんだかよくわからない…
というわけで、「リクエスト回数が多すぎます」エラーを解決していきましょう。
リクエスト回数が多すぎますエラーは回避できない
まず結論から言うと、プラグインやショートコードを使ったAmazonの商品リンクでは、必ず「リクエスト回数が多すぎます」エラーが出ます。
具体的には以下の通り。
- Cocoonショートコード
- Rinker
- Amazon Associates Link Builder
- Amazon JS
この辺り含め、おそらく全てのプラグインやショートコードでエラーが出ます。
もちろん本当にリクエスト回数が多すぎるのが原因ではなく、PA-APIによる制限が原因です。
詳しく解説します。
Cocoonショートコード
Cocoonの機能でAmazonの商品リンクを作成できるショートコードがありますが、PA-APIの制限を受けるので使用できません。
なお、CocoonのショートコードにはPA-API経由の売り上げがなくても商品リンクが貼れるように別の方法が用意されていました(記事は↓)
本家Amazonアソシエイトのコードを使っているので、PA-APIの制限を受けることなくそれっぽいものが作れます。
しかしこれを使ってみた結果、表示される画像が全く別のものになってしまう現象が発生。
実際に表示されたのがこちら↓(画像です)
ちなみにリンク先の画像はこれです↓
…なぜ?
本当になぜなのかわかりませんが、画像がおかしくなる場合と正しく表示される場合があり、どちらにしろこれをメインで使っていくのは不安定な気がします。
結局、Cocoonのショートコードを使った方法は2つとも使えないということです(PA-API経由の売り上げがなくても使える方法は、画像が正しく表示される時のみ使うならアリかもしれません)
Rinker
Rinkerの「Amazonから商品検索」で作った商品リンクはPA-API経由の売り上げになりますが、売り上げがないので「リクエスト回数が多すぎます」エラーが出ます。
ただ、「楽天市場から商品検索」することもでき、こちらは普通に商品リンクを作成することができます。
ということは、「『楽天から商品検索』で作った商品リンクからAmazonの売り上げが出れば、PA-API経由の売り上げになるのでは…?」と思った人もいるはず。
しかし、残念ながら「楽天から商品検索」で作った商品リンクからAmazonの売り上げが出てもPA-API経由にならないどころか、紹介料すらもらえなかったという人がいました。理由は全く不明。
「楽天から商品検索」で商品リンクは貼ることができますが、PA-API経由にならないと意味がないのでこれも使えません。
【追記】PA-APIの制限を受けずにRinkerが使えます!
PA-APIの制限を受けずにRinkerで商品リンクを作る方法が見つかりました!
具体的なやり方は以下の記事で解説しています。売り上げ0でもRinkerでAmazon商品リンクが作成できるので、試してみてください!
Amazon Associates Link Builder / Amazon JS
Amazon Associates Link BuilderはAmazon公式が提供しているプラグインです。
「公式ならなんとかしてくれるんじゃ…」という願いも虚しく、「リクエスト回数が多すぎます」エラーで一蹴されます。
Amazon JSも同じくエラーで使い物になりません。
こんな感じで、ほぼ全てのプラグインやショートコードでエラーが出てしまいます。
原因はPA-API経由の売り上げ実績が少ないから
「リクエスト回数が多すぎます」エラーが出てしまう原因は、PA-API経由の売り上げ実績が少ないからです。
PA-APIを使用できるようにするにはまず売り上げ実績を作る必要があります。売り上げを上げれば上げるほどPA-APIのリクエスト上限を増やすことができます。
でもこれってちょっとおかしな話で、
- PA-APIを使いたいならPA-API経由の売り上げ実績を作る
- PA-API経由の売り上げ実績がないならPA-APIを使用できない
PA-APIを使うためにはPA-API経由で売り上げ実績を作らないといけないのに、PA-API経由の売り上げがないのでPA-APIを使ったリンクは作成できないという状況です。
要するに、PA-APIのリンクを使わずにPA-API経由で売り上げてねということです。
…そうです。お察しの通り無理です。
じゃあどうすればいいの?
選択肢としては3つあります。
- RinkerをPA-API制限を受けない方法で使う
- プラグイン「kattene」を使う
- 本家Amazonアソシエイトの商品リンクを使う
選択肢1:RinkerをPA-API制限を受けない方法で使う
おそらく現状一番いい方法がこれです。
Rinkerで作成される商品リンクのAmazonのリンクを本家Amazonアソシエイトのリンクに置き換えることで、Rinkerの見た目のままPA-API制限を受けずに使うことができます。
以下の記事で詳しくやり方を解説しているので、気になる人は読んでみてください。
選択肢2:プラグイン「kattene」を使う
WordPressを使っている人は商品リンク作成プラグイン「kattene」を使用することで、「リクエスト回数が多すぎます」エラーを回避しつつ商品リンクを作成することができます。(WordPress以外の人はHTML、CSSをコピペして使用することができます)
katteneは本家Amazonアソシエイトのコードを自分でコピペして使うので、PA-APIの制限を受けることはありません。
katteneで作った商品リンクはこんな感じになります。
PC表示↓
スマホ表示↓
画像引用:http://webfood.info/make-kattene/
いい。すごくいい。
レスポンシブにも対応しているし、見た目もかなりいい感じです。
katteneは自分で表示するボタンを選べるので、例えば「楽天のボタンいらないな」と思ったら簡単に非表示にすることができます。
しかし、katteneはやや使い方が難しい部分もあり、初心者の人はコードを見ただけでアレルギー反応を起こしかねません。(自分でコードにリンク先のURLを貼り付ける必要があります)
さらに、リンクを作成する度に毎回Amazonや楽天から商品のURLをコピーしてくる必要があるため、純粋に面倒という部分もあります。
また、katteneはYahooショッピングには対応していません。でもYahooショッピングの売り上げ自体Amazonと比べたら大したことはないので、いっそのこと切り捨てても大丈夫じゃないかなとも思ったり。
- 使い方が難しい
- リンクを毎回コピペするのが面倒
- Yahooショッピングに対応していない
まあPA-APIの制限を受けずに商品リンクが作成できるだけでハイパーありがたいことに変わりないですが、使いこなすのが難しい一面もあるということですね。
katteneの使い方は開発者のwebfoodさんが自身のブログで解説しています↓
コードはメモ帳かどこかに貼り付けていつでもコピペできるようにしておくか、shortcorderで一元管理がいいと思います。
選択肢3:本家Amazonアソシエイトの商品リンクを使う
「小難しいことは無理!」という人は、いよいよ本家Amazonアソシエイトの商品リンクを使うしか方法がなくなります。
「本当にkatteneか本家商品リンクしか方法はないの?」と思うかもしれませんが、散々調べ尽くした挙句これくらいしか方法が出てこなかったので、本当にkatteneか本家商品リンクのどちらかしかないと思われます。
できれば避けたかったことですが…他に方法がないのでもうしょうがないと妥協するしかなさそうです。
なのでまずは本家商品リンクで売り上げ実績を作り、売り上げが安定してきてPA-APIが使えるようになったらショートコードやプラグインに乗り換えるというのが今のところ最善策だと思います。
売り上げ実績ができるまでの我慢ですね…
リンクがクリックされたのにPA-API経由にならない
調べていると、本家Amazonの商品リンクから売り上げが出たのにPA-API経由になっていないという人がいました。
(ちなみにPA-API経由で売り上げが出たかを確認するには、レポート→画面下の方にある「リンクタイプレポート」から確認できます)
画像引用:https://suteasi.red/amazon-pa-api/
画像を見てもわかる通り、商品リンクがクリックされ、売り上げも出ているのにPA-API経由になっていません。
この理由は、作った商品リンクは必ずPA-API経由になるわけではなく、何かしらの条件を満たした商品リンクから売り上げが上がるとPA-API経由の売り上げになるからだと思います。
「何かしらの条件ってなんだよ…」と思うかもしれませんが、ごめんだけどわかりません。
PA-APIを使わない通常の商品リンクをたくさんクリックしてもらえば、そのうちのいくつかからPA-API経由の売り上げが出てくる…はず(本家Amazonアソシエイトの商品リンクはPA-APIを使わないリンクです)
リンクタイプには色々ありますが、以下のようなものを含め、おそらくどれでも大丈夫なはずです。
- 商品リンク(テキスト/画像)
- Basic Product
- バナー
- その他
調べた限りPA-APIの項目が出た人は、ある程度売り上げ実績をあげると突然PA-APIの項目が出てきたみたいです。
というわけで、とにかく売り上げ実績を上げて、PA-API経由のものが出てくれるのを待つしかなさそうです。
ちなみにどれくらい売り上げればPA-APIが使えるようになるかは非公開らしい(キレそう)
まとめ:エラーを解決するには
1:まずは「Rinker」か「kattene」か本家Amazon商品リンクで売り上げ実績を作り、ある程度売り上げると突然出てくるPA-API経由の売り上げを増やしていく。
2:PA-APIが少しずつ使えるようになってきたら、PA-APIを使ったリンク(CocoonショートコードやRinkerのAmazonから商品検索など)を使ってさらに売り上げを上げていく。
という流れになります。
一定の売り上げがあればPA-API経由の売り上げは定期的に出てくるはずなので、そうなれば続けてPA-APIを使ったリンクを使い続けることができます。
ただし、ある程度安定してPA-API経由の売り上げを上げないと、また制限がかかって「リクエスト回数が多すぎます」エラーとこんにちはすることになります。次に待っているのはリンク全部張り替え作業ですね。発狂待ったなし!
というわけで非常に面倒ですが、まずやるべきことはRinkerかkatteneか本家Amazon商品リンクを使って売り上げ実績を作っていくことです。お互い頑張りましょう…
いやー疲れましたね。休憩がてらお茶でもどうでしょうか?( ^ω^)
参考記事
死ぬほど参考になりました。ありがとうございました!