WordPressのアフィリエイトプラグイン「Rinker」で楽天市場の商品を検索しても、商品が一件も出てこない――。
私も同じ症状で数時間ハマりました。「APIキーは間違ってないはず」「楽天のAPIテストフォームでは同じキーワードでちゃんと検索できるのに」と、原因が分からず途方に暮れていました。
私の場合、原因はRinkerのバグではありませんでした。楽天ウェブサービスのアプリ設定にある「許可されたWebサイト」の登録ミスでした。
まずこれを試してください
- 楽天ウェブサービスにログインし、使っているアプリの編集画面を開く
- サイト右上の「アプリ情報の確認」を押す
- 「詳細を見る」から「許可されたWebサイト」という項目を確認する
- ここの登録と実際のサイトURLで、wwwの有無が一致しているか確認する(例:
example.com/www.example.com) - もしサイトのURLが
https://www.example.com/のように www あり なら、許可されたWebサイトもwww.example.comに書き換えて保存する - Rinkerで商品検索をやり直す
私の場合、これで検索結果がすぐに表示されるようになりました。
逆のパターンもあります。サイトがwwwなしなのに楽天側がwwwありで登録されている場合も、実際のURLに合わせてください。
なぜこれで直るのか
楽天APIは、アクセス元サイトの情報(Referer)が「許可されたWebサイト」に登録した内容と一致しているかをチェックしています。
wwwのあり・なしは人間から見ると「同じサイト」に見えても、システム的には別物として扱われることがあります。Rinkerは自分のサイトのURLを送信するため、ここがズレると楽天側で拒否されると考えられます(私の推測です)。
私の場合、楽天のAPIテストフォームでは同じキーワードで検索できました。テストフォームはこの判定を受けないためと考えられます(私の推測です)。
これが「テストは成功するのに、自分のサイトだけ検索できない」理由だと考えられます。
それでも直らない場合
- アプリケーションURLと実際のサイトのURLが一致しているか見直す(http/httpsの違いも含む。私は未検証です)
- しばらく時間をおいてから再度試す(私の場合はすぐ反映されたため、タイムラグは未確認です)
よくある質問
Q. APIキーやシークレットを間違えているわけではないのに検索できないのはなぜですか?
A. APIキー自体が正しくても、Referer(アクセス元サイトの情報)が楽天側の登録内容と一致していないと検索結果は返ってきません。キーの再発行や再入力を試す前に、まず「許可されたWebサイト」の表記を確認してください。
まとめ
| 症状 | 原因 | 対処 |
|---|---|---|
| Rinkerで商品検索しても何も出ない/楽天APIテストフォームは成功するのにRinkerからは失敗する/APIキーは合っているはずなのに検索できない | 「許可されたWebサイト」とサイトURLで、wwwの有無がズレている(Referer不一致) | 楽天のアプリ設定を実際のURLに合わせる |
私の場合、原因はRinkerのプラグインではなく、楽天のアプリ設定のミスでした。再インストールやコード修正を試す前に、まず楽天の管理画面を確認してみてください。

