Rinker から自作のアフィリエイト管理プラグインに移行した:既存記事のショートコードを壊さずに切り替えるまで

Rinker から自作のアフィリエイト管理プラグインに移行した:既存記事のショートコードを壊さずに切り替えるまで

このブログでは、記事で紹介した商品に Amazon や楽天市場へのリンクを付けています。これまでは、WordPress の定番のプラグイン Rinker(無料版)を使っていました。

ただ、使っているうちに気になることが3つ出てきたので、Claude Code と一緒に自分用のアフィリエイト管理プラグインを作って、Rinker から移りました。この記事では、移るときに気をつけたことと、ハマったところを書きます。

この記事でわかること

  • Rinker のデータが WordPress のどこに入っているか
  • 既存の記事を1本も書き換えずに、Rinker から切り替える手順
  • Rinker が記事に入れている本当のショートコードと、移行で見落としやすい点
目次

Rinker をやめた理由

1. 商品カードに「created by Rinker」と入るのが気になった。 無料版なので、商品カードにクレジットの表記が入ります。Rinker の作者の方に支援すると消せるそうですが、自分の記事の見た目は、自分で決めたいと思っていました。

2. いろいろなブログのアフィリエイトリンクを1か所で管理したかった。 このブログのほかに note でも記事を書いていて、WordPress は Rinker、note は Amazon のリンクを直接貼る、とばらばらに管理していました。どの商品をどこに載せたかも分からなくなっていました。

3. Claude Code から商品のデータを探したり、記事に入れたりしたかった。 記事を書くときに、Claude Code に「この商品のリンクを入れて」と頼めるようにしたかったので、商品のデータをプログラムから読み書きできる形にしておきたいと思っていました。

作ったのは、商品と、Amazon・楽天のリンクと、どの記事に載せたかを1か所で管理するプラグインです。見た目は、まずは Rinker の商品カードと同じような形にしました。

Rinker のデータはどこにあるか

移行の前に、Rinker のデータの持ち方を確かめました。

もの 入っている場所
商品 投稿タイプ yyi_rinker の投稿(管理画面の edit.php?post_type=yyi_rinker)
商品の項目(Amazon・楽天の URL など) 投稿のメタデータ。名前は yyi_rinker_ で始まる
記事の中の商品カード ショートコード [itemlink post_id="…"](post_id は上の商品の投稿の ID)

ショートコードの名前は、最初は思い込みで違うものを前提にしていて、移行の当日にハマりました。あとで書きます。

既存の記事を書き換えずに切り替える

いちばん気をつけたのは、既存の記事を1本も書き換えずに切り替えられることです。記事の本文に入っている Rinker のショートコードは、そのまま残します。そのうえで、Rinker を止めたときだけ、新しいプラグインが同じ名前のショートコードを引き受けて、商品カードを出す作りにしました。

手順は次のとおりです。

  1. 新しいプラグインを入れる。Rinker はまだ止めない
  2. Rinker の商品を取り込む。取り込む前に、何がどう移るかを画面で確かめる
  3. 既存の記事を一通り調べて、どの記事にどの商品が載っているかを記録する
  4. テスト用の記事で、商品カードの見た目を確かめる
  5. 問題がなければ Rinker を停止する。削除はしない
  6. しばらく様子を見てから、削除するか決める

Rinker のデータは読むだけで、書き換えません。何かあっても、Rinker を有効に戻せば元どおりです。取り込めなかった項目は、黙って捨てずに、値の例と一緒に画面に出すようにしました。

互換のショートコードは、Rinker が止まっているときだけ登録します。 両方のプラグインが同じ名前のショートコードを登録すると、どちらが表示されるかが分かりにくくなるからです。

ハマったところ:Rinker の本当のショートコードが違った

移行の当日、手順 3 の「既存の記事を一通り調べる」を実行しても、何も起きませんでした。画面には「完了」とだけ出て、記録は1件もできていません。

調べてみると、前提がまちがっていました。Rinker が記事に入れているのは [yyi_rinker id="…"] だと思い込んで作っていたのですが、実際の記事に入っていたのは、こちらでした。

[itemlink post_id="979"]

このまま Rinker を止めていたら、記事の中に [itemlink post_id="979"] という文字がそのまま出てしまうところでした。

直したのは次の3つです。

  • 記事を調べるときに、[itemlink post_id="…"] も拾う。uid="…" のように、名前の終わりが id のほかの属性を取り違えないようにする
  • 互換のショートコードに itemlink も登録する(これも Rinker が止まっているときだけ)
  • 調べ終わったときに、「何本の記事を調べて、何件見つけたか」を画面に出す

最後の点も大事でした。もともと件数は数えていたのに、画面には「完了」としか出していなかったので、うまくいって0件だったのか、空振りだったのかが区別できませんでした。件数が出ていれば、その場で「おかしい」と気づけたと思います。

移行の前提は、思い込みではなく、実際の記事のデータで確かめるのが安全です。 Rinker から移る人は、まず自分の記事の本文で、どの形のショートコードが入っているかを検索してみるとよいと思います。

検討したけれど使わなかったもの

Amazon の商品情報の API は、直近の売上などの条件を満たさないと使えません。私も、資格の条件を満たしていないというエラーが返ってきました。

そこで、Amazon の API がなくても商品を検索できる、という WordPress のプラグインも見つけました。無料だと1日5回、月額180円で1日50回まで検索できる、というものです。

ただ、Amazon の商品データをどうやって取っているかは、公開されていません。回数を数えて料金を取っている以上、検索は運営のサーバーを経由しているのだと思います(ここは推測なので、事実と違うかもしれません)。WordPress のプラグインはサイトと同じ権限で動くので、作った側がその気になれば、ほかのプラグインの API キーなども読めてしまいます。仕組みの分からないものを自分のサイトに入れるのは避けたかったので、使うのはやめました。

移ってみて

移ってからは、かなり楽になりました。

  • リンクを自分で作らなくてよくなった:楽天は API で商品を探してリンクを作り、Amazon は Claude Code が Chrome の拡張機能を使ってリンクを作ってくれます。前は、商品ごとに各サイトでリンクを作って、Rinker に登録していました
  • 設定で迷わなくなった:Rinker は設定の項目が多くて、毎回どこを触ればよいか迷っていました。自分用なので、必要な項目だけにしています
  • 記事に入れるのも Claude Code に頼める:商品のデータを探して、記事にカードを入れるところまで頼めるようになりました

Rinker はまだ削除していませんが、止めたままで、困っていることは特にありません。

自分で作るのは手間がかかるので、Rinker で困っていない人は、そのまま使うのがよいと思います。クレジットの表記や、複数のブログでの管理、AI からの操作が気になっている人は、自分用に作ってみるのも一つの手かなと思います。そのときは、この記事の移行の手順と、ショートコードの落とし穴が参考になればうれしいです。

あわせて読みたい

Rinker から自作のアフィリエイト管理プラグインに移行した:既存記事のショートコードを壊さずに切り替えるまで

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

エンジニア。Claude Code / Codex / MCP / BigQuery / 自動化 / ガジェット / 3Dプリンター / スマートホーム。楽して生きたい。ゲーム / イヤホン / キーボード / プログラミング / AI

目次