この記事はカエレバ難民になっていた筆者がカエレバっぽいツールを自作したお話です。 前半は自作に至ったエピソードなどが書いてありますので、ツールにジャンプしたい方は下記目次から「ツールの詳細」にジャンプしてください。
なお当ツールはあくまでも検証用のベータ版となっておりますので、自己責任でのご使用をお願いいたします。バグ報告、ご要望などはコメント欄にて♪
昔は「カエレバ」ってツールがあったのだが
WordPressであれば「Rinker」なんてツールがあったりするので、よく見るAmazon、楽天、Yahooのボタンが並んでいるこんな感じのヤツは簡単に作れたりするんですけれど。

プラグインが使えない、はてなブログや販売数が少なくてRInkerとかでAPI使えないとかだったりした場合は、はてな純正のAmazonリンクを使うか、またはHTMLで組んだボタン群を貼り付けるかの二択になってしまいます。
そんな中、数年前までは「カエレバ」ってツールがあったので、そこで簡易的にHTMLを生成してはてなブログに貼ればよかったのですが、Amazonの規約的なのが改訂されちゃって、カエレバが楽天メインの取り扱いに変わってしまったんですよね。
うちみたいにAmzonにしか売ってない様な怪しいガジェットを扱ってたりすると「楽天メイン」なのは非常に使い勝手が悪いと。
って事でここしばらくは「はてな純正のAmazonリンク」を使用していたのですが…
AI使えば自作できるんじゃねぇ?
とは言えAmazonしか貼らないのも機会損失ですし、どうせなら楽天もYahooも貼りたいよなぁと。
でもそんなツールどこにもないしなぁ…
じゃぁ自分で作るかって事になりまして(またかw
まぁ自分で作ると言ったところで、私のプログラミングの知識なんてPC88のBASICあたりで止まってるんで(化石か
Geminiさんと相談しながら色々作り始めたわけでございます。
最初はこじんまりと 「Amazonページでブックマークレットを発動させたら自分専用のHTMLが吐かれる」 くらいのこじんまりとしたツールを作ってたんですよね。 (はてなの方で公開してます)
[https://toma-g.net/amazon-link-gemini:embed:cite]

んでこれを色々手直ししてたら欲が出ちゃいまして(笑
結局誰でも使える様にサーバーにアップして色々できる様な感じのツールが出来ちゃった…というお話です
ツールの詳細
根本的にはブックマークレット発動タイプのツールです。
上記のリンクをChromeなりSafariなりのブックマークにドラッグ&ドロップして登録してください。(中身のURLは仮です)
次にブックマークを編集してアドレス(URL)を以下の様に書き換えてください
javascript:(function(){var a=document.getElementById("ASIN")||document.getElementsByName("asin")[0],asin=a?a.value:"",t=document.getElementById("productTitle").innerText.trim();t=t.replace(/[%/&?=#+]/g," ");var i=document.getElementById("landingImage").src,p="",pe=document.querySelector(".a-price .a-offscreen");if(pe)p=pe.innerText;window.open("https://tool.toma-g.net/linkmaker/index.html?asin="+asin+"&title="+encodeURIComponent(t)+"&img="+encodeURIComponent(i)+"&price="+encodeURIComponent(p),"_blank")})();あとはAmazonのお好きな商品ページに行ってもらって、そのページでさっき登録したブックマークをクリックしてください。
そうすると画面が遷移して以下の様な画面になります (借りてる無料サーバーで動いてます)

【LinkMakerの使い方・ポイント】
- ID設定は初回だけ:各アフィリエイトIDを入力すれば、ブラウザが記憶します。2回目からは入力不要です。
- 検索ワードの調整も自由:Amazonのタイトルが自動入力されますが、手動で書き換えOK。「楽天やYahooでヒットしない」という時は短く調整してください。
- ショップの出し分けに対応:楽天やYahooのボタンはチェックボックスでON/OFFが可能。IDが未入力のボタンは自動で非表示になります。
- ボタンの文言カスタマイズ:「Amazonで見る」「楽天で探す」など、ブログのトーンに合わせて自由に変更できます。
- 参考価格と日付の表示:生成時の価格と日付を表示できます。※価格はリアルタイム更新ではないため、あくまで参考情報としてお使いください。
- リアルタイムプレビュー:設定を変えると下部のプレビューとHTMLコードも即座に更新されます。納得がいったら「青いコピーボタン」をポチるだけ!
⚠️なお、このHTMLを貼っただけではデザインが適用されないので、ブログのCSSに以下を追加してください
/* --- LinkMaker:商品リンク基本デザイン --- */
.tmj-card {
border: 1px solid #e2e8f0; /* 枠線 */
border-radius: 12px; /* 角の丸み */
padding: 24px;
margin: 24px 0;
background: #fff;
box-shadow: 0 2px 6px rgba(0,0,0,0.04);
box-sizing: border-box;
}
/* 横並びレイアウト(PC用) */
.tmj-main {
display: flex;
justify-content: space-between;
align-items: center;
}
/* テキストエリア(タイトル・価格) */
.tmj-info {
flex: 1;
padding-right: 20px;
min-width: 0;
}
/* 商品タイトル */
.tmj-title {
font-size: 17px !important;
font-weight: bold !important;
margin: 0 0 10px 0 !important;
line-height: 1.5 !important;
color: #333 !important;
}
/* 価格表示 */
.tmj-price {
font-size: 18px;
font-weight: bold;
color: #111827;
margin-bottom: 15px;
}
/* 価格の横の日付 */
.tmj-date {
font-size: 11px;
color: #9ca3af;
font-weight: normal;
margin-left: 5px;
}
/* ボタンの並び */
.tmj-btns {
display: flex;
gap: 10px;
flex-wrap: wrap;
margin-top: 15px;
}
/* ボタン共通設定 */
.btn-link {
padding: 10px 16px;
border-radius: 6px;
font-size: 13px;
font-weight: bold;
text-decoration: none !important;
color: #fff !important;
transition: opacity 0.2s;
text-align: center;
line-height: 1;
display: inline-block;
}
.btn-link:hover { opacity: 0.8; }
.btn-amz { background: #ff9900; } /* Amazon オレンジ */
.btn-rak { background: #bf0000; } /* 楽天 レッド */
.btn-yah { background: #ff0033; } /* Yahoo レッド */
/* 画像エリア */
.tmj-image {
flex: 0 0 160px;
text-align: right;
}
/* 商品画像本体 */
.tmj-image img {
max-width: 100% !important;
height: auto !important;
max-height: 160px !important; /* PC時の最大高さ */
object-fit: contain;
border: none !important;
box-shadow: none !important;
}
/* クレジット表記(powered by...) */
.tmj-footer {
text-align: right;
margin-top: 10px;
line-height: 1;
}
.tmj-credit {
font-size: 10px;
color: #9ca3af;
text-decoration: none !important;
opacity: 0.7;
}
/* --- スマートフォン向け表示設定 (640px以下) --- */
@media (max-width: 640px) {
/* 画像を上、テキストを下に入れ替え */
.tmj-main {
flex-direction: column-reverse;
align-items: stretch;
}
/* スマホ時の画像エリア設定 */
.tmj-image {
width: 100%;
text-align: center;
margin-bottom: 20px;
flex: 0 0 auto;
}
/* ★重要★ スマホ時に画像が巨大化しないよう制限 */
.tmj-image img {
max-height: 200px !important; /* 縦長画像でも200pxまでに制限 */
width: auto !important;
margin: 0 auto;
}
.tmj-info { padding-right: 0; }
/* ボタンを縦並びにしてタップしやすくする */
.tmj-btns {
flex-direction: column;
gap: 10px;
}
.btn-link {
width: 100%;
padding: 14px;
font-size: 15px;
box-sizing: border-box;
}
}
スマホの幅だと画像やボタンが縦並びになったりする結構凝ったCSSです♪
まとめ
実際に貼った場合の表示はこんな感じになります。

一通りの動作チェックはしてありますが、製品名に特殊文字などが入っていた場合に誤動作をする様な場合もゼロではないと思います(対策はしてますけれど100%ではないかもしれないので)
って事で、たまたまこの記事を読んでくれた方で、はてなブログとかWordPressとかで試してみてもいいよ〜って方がいらっしゃいましたら遠慮なく試してみてください。
⬇️リンク先にもCSSやブックマークレットは置いてあるので、ページ単独でも使い方はわかるようにしてあります。ご使用は自己責任ですがご自由に使っていただいてかまいませんので、色々試してみてご意見や修正点など教えていただければ幸いです。
https://tool.toma-g.net/linkmaker/index.html
現状はベータ版という位置付けですのでご利用は自己責任にてお願いいたします。
最終的に過不足なく動く様でなれば一般公開してみなさんに便利に使ってもらえる様にとも考えておりますので、テストに協力してくれる方いたらよろしくお願いします。
もちろん一般公開したらアドセンス貼って収益得るけどね
コメント