記事にマッチしたAmazonアソシエイトの商品を自動で表示する

FC2ブログの変数を使って、投稿したエントリにマッチしたAmazonアソシエイトの商品を自動で表示させるJavaScriptを作ってみました。着想は以下のエントリを読んで。

「Amazonおまかせリンク(R)」より「Amazonライブリンク」がオススメな理由 (smashmedia)

要するにMovable Typeの変数をFC2ブログの変数に変えただけですね。テストを兼ねてこのBlogでも一時期使用して動作確認していました。興味がある方は以下のソースを貼り付けて使ってみてください。

ユーザータグを使い半自動でAmazonの商品を表示させる

概要

FC2 Blogのユーザータグを商品の検索(絞り込み)に使います。当然ですが、ユーザータグを使っていない方は使用できません。ユーザータグを使っていない方、使えない方は次の「カテゴリ」の方をご使用ください。

設定するユーザータグは「エントリ内容に合致」していて、かつ「商品を適切に検索できる」単語でないと狙ったような結果にはならないでしょう。

ソース

<script type="text/javascript">
<!--
 var atag = '<!--tag_list--><%topentry_tag_list_name> <!--/tag_list-->';
 var encodetag = encodeURIComponent(atag);
 document.write('ライブリンクコードの前半'+encodetag+'ライブリンクコードの後半');
// -->
</script>

使い方

  1. Amazonアソシエイトにログイン
  2. リンク/ウィジットの作成から「Amazonライブリンク」を選択
  3. ストアを選択し、キーワードには「AAA」と仮に入れておきます(実際はわかりやすければ何でもいい)
  4. 任意のサイズを選択して次に進みます
  5. 表示されたHTMLソースをテキストエディタ(メモ帳など)にコピーします
  6. 先ほどの文字列「AAA」を探し、「AAA」より前の部分を上記のソースの「ライブリンクコードの前半」の部分に上書き
  7. 同様に「AAA」より後の部分を「ライブリンクコードの後半」の部分に上書きします
    • 「AAA」という文字列自体は使用しません(この部分にユーザータグが入る)
  8. ご自分のBlogの好きな部分に出来上がったソースを貼り付けます
  9. 商品がきちんと表示されていれば動作しています

注意点

  • FC2の変数<!--topentry-->に囲まれた部分に書き込む必要があります
  • JavaScriptを使うためOFFの環境では表示されません
  • 表示精度はユーザータグに何を設定するかに左右されます
  • テストしたところ、商品を表示するために丁度いいタグ数(単語数)は1~2個のようです
    • それ以上になると単語数が多すぎるせいか適切な商品が出ることが少なくなります
  • 正常に動作しない場合、多くはAmazonのコード貼り付け時にミスをしていると思われます
    • 「'」や「( )」を消してしまったなど
  • サイドバーに設置してもこのままでは正常に機能しません

FC2ブログは使っているテンプレートによって構造がまったく違うため、こちらではサポートは出来ません。あくまで使用は自己責任でお願いします。

カテゴリを使い全自動でAmazonの商品を表示させる

概要

記事に設定したカテゴリで商品を検索します。ユーザータグを使用していないBlogでも機能します。(このBlogに設置してあるのもこっちのタイプ。)

ソース

<script type="text/javascript">
<!--
 var atag = '<%topentry_category>';
 var encodetag = encodeURIComponent(atag);
 document.write('ライブリンクコードの前半'+encodetag+'ライブリンクコードの後半');
// -->
</script>

使い方

ユーザータグの代わりにカテゴリ名を使う以外は、上記のユーザータグを使うものとまったく同じです。

注意点

仕様として検索語に一つの単語しか使えないため、ユーザータグを使うものより精度が落ちます。また、カテゴリ名が商品を検索するのに向かない単語である場合、記事にマッチした商品が表示されません。(例えば「日記」というカテゴリはブログのカテゴリとしては適切だが、商品を絞り込むための検索語としてはあまり適切ではない。)狙ったような商品が表示されない場合は、カテゴリ名を変更してみるといいかもしれません。