KSBOXAmazonアフィリエイト広告表示スクリプト

設置方法

  1. ダウンロードしたファイルを解凍してください。中にはksbox.php本体とreadme.txt、空のksbox_cacheフォルダ、空のksbox_imgフォルダ(Ver5.0.0から)が入っています。
  2. ksbox.phpを文字コードUTF-8が編集できるテキストエディタ(TeraPadなど)で開いて、ファイル上部のアソシエイトIDを編集してください。
    アソシエイトIDはシングルクォーテーションまたはダブルクォーテーションで必ず囲ってください。
  3. KSBOXをPHP実行権限のあるディレクトリにアスキーモードでアップロードして、適切なパーミッションを設定してください。
  4. KSBOXを設置したディレクトリにksbox_cacheと言う名称でディレクトリを作りパーミッションを777(設定不可なら707)に設定してください。ver5.0.0からはksbox_imgも同様に作成してください。
  5. この時点で動作確認のためにksbox.phpを単体で呼び出してください。

    ↑のサイズでブラウザに表示されれば成功です。
    表示されない場合はパーミッションを確認してください。エラーが出る場合には設置先がCGIの通信を許可しているかどうか確認してください。
    枠だけ出てデータが表示されない場合はAmazonで障害が発生している場合がありますので再度読み込んでみてください。
  6. 表示を確認したらウェブサイトに設置します。設置するにはインラインフレームを使用します。
    <iframe src="KSBOXまでのURL(相対・絶対どちらでも可)"
            frameborder="0"
            height="KSBOXを表示させる高さ(デフォルトは90)"
            width="KSBOXを表示させる幅(デフォルトは728)"
            marginheight="0" marginwidth="0" hspace="0" vspace="0" border="0" scrolling="no">
    </iframe>
  7. HTMLにコードを貼ったらアップロードして表示を確認する。

最後のiframeの貼り付けを繰り返せば複数の広告が複数のウェブページで表示されます。

表示方法の指定

KSBOXはデフォルトで四角いボックスを表示しますが、角を若干丸くすることが出来ます。角丸にするにはksboxの変数cornerを下記のように設定します。

ksbox.php?corner=rounded

表示結果

Ver4.0.0から設定のデフォルトを切り替えられるようになりました。36行目の値を変更する事で四角か角丸かを変更できます。
36行:define("CSS_STYLE_SET","DEFAULT");⇒define("CSS_STYLE_SET","ROUND");

サイズの指定

KSBOXはデフォルトではGoogle AdSenseのビッグバナーサイズです。他にも色々指定することが出来ます。サイズ指定はsizeに下記の値を入れます。このとき数値・名称両方定義されている場合はどちらでも使えます。

サイズ指定表(size変数の値)
サイズ指定 名称指定 サイズ名 備考
    size指定なし Google AdSense代替可能
  default デフォルト表示 Google AdSense代替可能
728x90 bigbanner ビッグバナー Google AdSense代替可能
600x520   amazonリンクサイズ  
468x336   amazonライブリンクサイズ  
468x240   amazonライブリンクサイズ  
468x60 banner バナー Google AdSense代替可能
350x600   amazonライブリンクサイズ  
336x280 bigrect レクタングル(大) Google AdSense代替可能
300x250 rect レクタングル Google AdSense代替可能
250x250 square スクエア Google AdSense代替可能
234x60 halfbanner ハーフバナー Google AdSense代替可能
200x200 smallsquare スクエア(小) Google AdSense代替可能
180x150 smallrect レクタングル(小) Google AdSense代替可能
160x600 widesky ワイドスカイスクレイパー Google AdSense代替可能
125x125 button ボタン Google AdSense代替可能
120x600 sky スカイスクレイパー Google AdSense代替可能
120x450   amazonライブリンクサイズ  
120x240 smallbanner バナー(小) Google AdSense代替可能
120x150   amazonライブリンクサイズ  
165x230 medium ミディアム画像  
505x560 large ラージ画像  
115x190 tiny タイニー画像  
85x165 small スモール画像  

オペレーションパラメーターの指定

AmazonECSでは商品の問い合わせにいくつかの種類が用意されています。KSBOXではそのうち4種類を利用できます。オペレーションパラメーターはそれぞれ必要とする商品データを取るための別の値を必要とします。それぞれの対応を下記にまとめました。

オペレーションパラメーター
オペレーションパラメーター 必要とするIDなど
operationの値 備考 必要変数 備考
ItemLookup 指定したASINの商品を表示 asin 商品のASIN(カンマ区切りで複数指定可能)
ListLookup ウィッシュリスト最新データ10件 wishid ウィッシュリストのID
SimilarityLookup 指定したASINの商品の関連商品検索 asin 商品のASIN
ItemSearch ブラウズノードまたはキーワード検索 色々 別項目で説明

operation=ItemSearchの場合は、さらに細かい指定になりますので、下記の項目で説明します。

ブラウズノードによる商品指定表示

ブラウズノード(BrowseNode)は、Amazonにおける商品の分類コードです。分類コードはAmazon.co.jpのページを参照するか、各ノード検索サイトにて探してください。KSBOXにおける商品ジャンルと指定コードは下表の通りです。

商品ジャンルカテゴリーと指定コード
商品カテゴリー 指定コード(大文字小文字どちらも可) 備考 デフォルトノード
book booksでも可 465610
洋書 foreignbooks foreignbookでも可 52033011
エレクトロニクス electronic electronicsでも可 3210981
ホーム&キッチン kitchen   3828871
音楽 music   561956
クラシック classic classicalでも可 701040
DVD dvd   561958
ビデオ video   561960
ソフトウェア software   637392
ゲーム videogame videogamegameでも可 637394
おもちゃ&ホビー toy toysでも可 13299531
スポーツ sports sportsportssportsgoodssportinggoodsでも可 14304371
ヘルス&ビューティー health healthcarehealthpersonalcareでも可 160384011
時計 watch watchesでも可 324025011
ベビー&マタニティ baby   344845011
全カテゴリー blend blendedでも可。キーワード指定時のみ利用可能 指定なし

ブラウズノードはAmazonによって変更される場合がありますので注意してください。突然表示されなくなる場合などはカテゴリーの分類が変わった可能性があります。ブラウズノードを指定しての表示は下記のようになります。

ksbox.php?operation=ItemSearch&book=465610

各カテゴリーの最上位を表示する場合には下記のようにコードのみ指定します。

ksbox.php?operation=ItemSearch&book

キーワードを指定する場合は下記で説明します。

キーワードを指定して商品を表示

キーワード指定する場合には下記のようにします。

ksbox.php?operation=ItemSearch&book&keywords=単語

このkeywords変数ですが、keywordkeywordswordsどれでも構いませんし大文字小文字も関係ありません。(ただし検索する単語は別です。)検索単語はURLエンコードしていなくても一応動きます。下記のように設定することが可能です。

ksbox.php?operation=ItemSearch&book&keywords=ひぐらし
または
ksbox.php?operation=ItemSearch&book&keywords=%A4%D2%A4%B0%A4%E9%A4%B7

URLエンコードはUTF-8の文字コードの単語をエンコードしてください。単語そのものを指定すると表示できない場合があります。また英数字以外の記号と2バイト文字列はURLエンコードするのが決まりですので、KSBOXではURLエンコードを推奨とします。上記例は設定すると下記のようになります。
※エンコードなし
※エンコードあり
※サイズ・角丸・カテゴリーの設定をしていないのでこの表示になります。
呼び出し元のHTMLファイルの文字コードにあわせてスクリプト中で検索ワードを再エンコードします。SHIFT-JIS,EUC-JP,UTF-8,JISに対応しています。他の文字コードからの呼び出しでは上手く動きませんのでその場合はエンコードした文字列をスクリプトに渡してください。
複数文字列を指定する場合には、半角空けて指定してください。こちらは上手く表示されない場合があるのでその場合はURLエンコードしてください。
除外したいキーワードは単語の前に『-』(半角マイナス)をつけてください。他の単語と組み合わせることが可能です。その場合は半角空けて指定してください。

キーワードの変換が上手くいかない場合

文字コード一覧(charset変数の値)
文字コード 指定語
シフトJIS sjisまたはshift-jis(大文字小文字は関係ない)
EUC eucまたはeuc-jp(大文字小文字は関係ない)
UTF-8 utf8またはutf-8(大文字小文字は関係ない)
JIS jis(大文字小文字は関係ない)

上記で何も表示されない場合には単語自体がAmazonで有効かどうか、Amazon.co.jpで調べてください。それでも解決しない場合には詳しい動作環境などを明記の上ご連絡ください。

表示広告数を指定する

大きさはこのままでもう少し表示数を削りたいという場合があるかと思います。そういう場合にはview変数に表示したい数字を入れてください。その広告サイズ中の最大表示数以下の数値の場合はそれが反映されます。最大表示数はviewを指定しない場合に表示される数です。ただし通常は10以下の数しか出ません。これはAmazonECSの仕様です。全カテゴリー検索(blended指定時)には最大20まで出る事もあります。(検索ワードなどによる。)

リンクターゲットを変更する

KSBOXのリンクターゲットはデフォルトでは_blankになっています。対応しているターゲット属性は『_blank』『_top』『_parent』です。正し通常は『_blank』か『_top』を使ってください。指定方法は下記の通りです。

ksbox.php?target=top←『_』(アンダーバー)はつけない。

ItemSearchの表示順序をソートする

通常ItemSearchで商品を表示する場合、表示順序はトップセラー(売り上げ)順になっていますが、これを変更することが出来ます。並び順を変更するのはsort変数に下表の値を入れます。通常略記のほうで指定できますが、もし上手く動かない場合は正式版の値を使ってください。なおカテゴリーにより利用できる値が違いますので注意してください。利用できない値は無視されます。そのほかにも全ジャンルから検索するとどの並び順も無視されます。

商品ジャンルカテゴリーと並び順の値(略記)
商品カテゴリー トップセラー順 低価格順 高価格順 商品名昇順 商品名降順 新着順 発売順 ベスト商品順 推奨年齢昇順 推奨年齢降順
sales price -price title -title new        
洋書 sales price -price title -title new        
エレクトロニクス sales price -price title -title new old      
ホーム&キッチン sales price -price title -title new old      
音楽 sales price -price title -title new old      
クラシック sales price -price title -title new old      
DVD sales price -price title -title new old      
ビデオ sales price -price title -title new old      
ソフトウェア sales price -price title -title new old      
ゲーム sales price -price title -title new old      
おもちゃ&ホビー sales price -price title -title new old   age -age
スポーツ sales price -price title -title new old      
ヘルス&ビューティー sales price -price title -title          
時計 sales price -price title -title          
ベビー&マタニティ sales price -price title       ps    
商品ジャンルカテゴリーと並び順の値(正式版)
商品カテゴリー トップセラー順 低価格順 高価格順 商品名昇順 商品名降順 新着順 発売順 ベスト商品順 推奨年齢昇順 推奨年齢降順
salesrank pricerank inverse-pricerank titlerank -titlerank daterank        
洋書 salesrank pricerank inverse-pricerank titlerank -titlerank daterank        
エレクトロニクス salesrank price -price titlerank -titlerank -releasedate releasedate      
ホーム&キッチン salesrank price -price titlerank -titlerank -release-date release-date      
音楽 salesrank pricerank -pricerank titlerank -titlerank -orig-rel-date orig-rel-date      
クラシック salesrank pricerank -pricerank titlerank -titlerank -orig-rel-date orig-rel-date      
DVD salesrank pricerank -pricerank titlerank -titlerank -orig-rel-date orig-rel-date      
ビデオ salesrank pricerank -pricerank titlerank -titlerank -orig-rel-date orig-rel-date      
ソフトウェア salesrank price -price titlerank -titlerank -release-date release-date      
ゲーム salesrank price -price titlerank -titlerank -release-date release-date      
おもちゃ&ホビー salesrank price -price titlerank -titlerank -release-date release-date   mfg-age-min -mfg-age-min
スポーツ salesrank price -price titlerank -titlerank -releasedate releasedate      
ヘルス&ビューティー salesrank price -price titlerank -titlerank          
時計 salesrank price -price titlerank -titlerank          
ベビー&マタニティ salesrank price -price titlerank       psrank    

ListLookupの表示順序をソートする

ウィッシュリストを表示させている場合も並び順を変更できます。sort変数にdate(最新登録順)update(変更のあった順)price(高価格順)がそれぞれ設定できます。

著者・価格の表示変更

Ver3.0.0より著者の項目と価格の項目の表示が切り替えられるようになりました。

切替変数の値
項目 変数 表示の値 非表示の値 備考
著者・筆者・歌手等 authordisplayadadisplay yesy1 non0 値を渡さない場合はデフォルト設定
価格 pricedisplaypdpdisplay yesy1 non0 値を渡さない場合はデフォルト設定

デフォルトの設定では両方表示になっています。28.30行目の値を変更することでデフォルトの設定を変更することができます。コメントアウト、または値をNOに変更することで、デフォルトで非表示になります。 28行目:define("PRICE_DISPLAY_SET","YES");⇒//define("PRICE_DISPLAY_SET","YES");またはdefine("PRICE_DISPLAY_SET","NO"); ※価格非表示
30行目:define("AUTHOR_DISPLAY_SET","YES");⇒//define("AUTHOR_DISPLAY_SET","YES");またはdefine("AUTHOR_DISPLAY_SET","NO"); ※著者非表示
価格が非表示のときのみ、取得データの更新頻度が1時間に1回から24時間に1回に変更になります。更新頻度はデフォルトの表示設定には左右されません。また、価格非表示と価格表示のデータが混在した場合は、非表示のデータは24時間ごとに、表示のデータは1時間ごとに更新されます。どちらかの更新頻度に影響されることはありません。

検索語句の表示

Ver3.2.0より検索語句の表示とAmazonのキーワード検索リンク機能が、Ver3.3.0より検索語句の表示の切り替えが出来るようになりました。この機能は角丸機能と併用できません。また、検索語句が長い場合にはレイアウトが崩れる可能性もありますので、横に長いデータ表示の場合のみ推奨です。

切替変数の値
項目 変数 表示の値 非表示の値 備考
検索した用語・語句 searchdisplaysdsdisplay yesy1 non0 値を渡さない場合はデフォルト設定

デフォルトの設定では非表示(Ver3.3.0以降)になっています。32行目の値を変更することでデフォルトの設定を変更することができます。コメントアウト、または値をNOに変更することで、デフォルトで非表示になります。語句はAmazonリンクの隣に出ます。クリックする事で検索結果画面に飛びます。 32行目:define("SEARCH_DISPLAY_SET","NO");⇒define("SEARCH_DISPLAY_SET","YES"); ※検索語句表示
検索語句がセットされていない場合は検索語句が出ません。また並び順がセットされている場合には検索結果に反映される場合もあります。

imagestyle変数の値
表示
ssqesquare 正方形画像
default 長方形画像(縦基準・デフォルト)

画像の表示設定

Ver4.0.0から画像の表示指定を変更してあります。今まではAmazonからの指定データをそのまま使用していましたが、一番大きいサイズの画像を縮小加工して表示するようになりました。これで一部の指定サイズで不必要に小さすぎた問題を回避しています。通常の表示では縦の長さを基準に表示していますが、縦横を同じ大きさ-正方形-にする事が出来ます。縦に画像が並ぶときや1画像だけの表示の場合はその方が綺麗に映る場合がありますが、長さが足りない場合は白い余白となりますので注意してください。指定方法は下記のようになります。
38行目:define("IMAGE_STYLE_SET","DEFAULT");⇒define("IMAGE_STYLE_SET","SQUARE");
また、変数に値を渡す事でも指定できます。imagestyle変数にsquareを渡す事で正方形を表示できます。

アダルト商品の表示設定

Ver5.0.0からアダルト商品の表示切替ができるようになりました。指定方法は下記のようになります。
28行目:$no_adult = FALSE;⇒$no_adult = TRUE;
また、変数に値を渡す事でも指定できます。adult変数に値を渡す事で表示切替ができます。デフォルトでは表示設定になっていますが、非表示にすると検索結果によっては何も表示されない場合もありますので注意してください。

ファイル内部が編集できない場合の設置方法

通常はテキストエディタでアソシエイトIDを変更しますが、何らかの理由で編集できない場合は、KSBOXに値を渡すことで自分のアソシエイトIDを指定することが出来ます。同時に表示色なども編集しなくても変更できます。この表示の変更方法は、複数の広告を表示する場合に有効です。

アフィリエイトIDの指定方法

変数aidを使ってアソシエイトIDを指定することが出来ます。この変数の指定は、ファイル内のアソシエイトID書き換えよりも優先されます。

ksbox.php?aid=アソシエイトID

表示色の変更

ksbox.phpのファイル上部にはアソシエイトIDの指定のほかに色の指定があります。通常はここを書き換えますが、例えば1ページに1つのスクリプトで別々の色を指定して広告を表示したいときに書き換えでは出来ません。そういう時KSBOXでは変数を使って色を渡すことが出来ます。この指定はファイル内の色指定より優先されます。

色指定変数表(色を変更した箇所を黄色で表示)
変数 色の場所 指定した場合(デフォルト) 指定した場合(角丸)
bg 背景色 8進法(000~fff)または16進法(000000~ffffff)※シャープは付けない。デフォルトではffffff(白)
border ボーダー色 8進法(000~fff)または16進法(000000~ffffff)※シャープは付けない。デフォルトでは0000ff(青)
price 価格文字色 8進法(000~fff)または16進法(000000~ffffff)※シャープは付けない。デフォルトではff0000(赤)
title タイトル文字色 8進法(000~fff)または16進法(000000~ffffff)※シャープは付けない。デフォルトでは3399FF(amazonのリンクと同色)
author 著者・関係者色 8進法(000~fff)または16進法(000000~ffffff)※シャープは付けない。デフォルトでは666666(薄灰色)
right 著作権表示 8進法(000~fff)または16進法(000000~ffffff)※シャープは付けない。デフォルトではffffff(白)
outer 角丸のときの角の外側の色 8進法(000~fff)または16進法(000000~ffffff)※シャープは付けない。デフォルトではffffff(白)

outerはデフォルトでは指定しても何の影響もありません。広告設置先のページの背景が白以外で角丸を使う場合に指定してください。
これを利用して下記のように指定するとがらりと色が変わります。

ksbox.php?bg=336699&border=8fbc8f&price=ffa500&title=98fb98&author=7fffd4&right=000080

ksbox.php?corner=rounded&bg=000000&border=ffffff&price=ffa500&title=98fb98&author=7fffd4&right=ff0000&outer=000000

アダルト商品の表示切替

ver5.0.0より変数adultを使ってアダルト商品の表示切替ができます。この変数指定はファイル内のアダルト商品の表示設定より優先されます。

adult変数の値
表示
1 表示
0 非表示

データキャッシュディレクトリ

データキャッシュしない方法

場合によってはデータキャッシュを利用できない場合があります。その際にはスクリプト32行目をコメントアウトしてください。

32行目:define("CACHE_DIR","ksbox_cache");⇒//define("CACHE_DIR","ksbox_cache"); 42行目:define("IMG_DIR","ksbox_img");⇒//define("IMG_DIR","ksbox_img");※ver5.0.0以降

※ただしAmazonECSには1秒間で1回という呼び出しルールがあります。またアクセスが増えるとそのつど通信を行うため非常に重くなります。出来るだけキャッシュを利用してください。

キャッシュディレクトリの名称変更

キャッシュディレクトリ名はデフォルトでは『ksbox_cache』『ksbox_img』ですが、他の名称に変える場合には上述の行の『ksbox_cache』『ksbox_img』を任意の名称に変えて、その名称のディレクトリを作成しパーミッションを777(または707)にしてください。


copyright(c)KitchenStudio since 2007