山林生活

AmazonJSの不具合を修正。グルグル問題を改善

AmazonJSの不具合を修正。グルグル問題を改善

[更新日]

当サイトはアフィリエイトの収益により運営されております。つまり収益がなくなれば当サイトの存在意義を果たせないというわけです。

現在当サイトではGoogleアドセンスとAmazonアソシエイトの二つだけのアフィリエイトを利用しています。開始当初はほかのアフィリエイトも利用していたのですが、管理が面倒という点と、収益にばらつきが出てしまうため二つだけに絞りました。

アドセンスに関してはとりあえず好調といったところでしょうか。アソシエイトについても徐々にですが、多少の売り上げがあります。

このAmazonアソシエイトについて先日から少し様子がおかしいと思っていました。
AmazonアソシエイトはAmazonJSというJavascriptで動かしているわけですが、このスクリプトがどうにもこうにも不具合が多いのです。
それもそのはずで、二年前より更新がされていないのです。

PHPを新しくすれば不具合。
ワードプレスのバージョンを上げれば不具合。
HTTPS化をすると不具合。
他のプラグインをいれれば不具合。

といった具合で、何かをすれば何らかの不具合によって作業を強いられる結果に。今回もキャッシュ系プラグインを入れた結果、動きが悪くなってしまいました。
とりあえず読み込むものの、画像が表示されません。

こんな感じでグルグル回ったままとなっています。今回はこれを修正するため色々と改善をしてみました。
ネットの情報から、AmazonJSのPHPの一部を変更していきます。

AmazonJSの設定変更

AmazonJSのPHPの96行目あたりのhttpをhttps化します。これをすることで常時SSL通信に対応できるようにしました。これだけでなおる人もいるようですが、当サイトはこれでは何も変わりませんでした。


'JP' => array(
'label'          => __( 'Japan', $this->text_domain ),
'domain'         => 'Amazon.co.jp',
'baseUri'        => 'https://webservices.amazon.co.jp',
'linkTemplate'   => '<iframe src="https://rcm-jp.amazon.co.jp/e/cm?t=${t}&o=9&p=8&l=as1&asins=${asins}&fc1=${fc1}&IS2=${IS2}&lt1=${lt1}&m=amazon&lc1=${lc1}&bc1=${bc1}&bg1=${bg1}&f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>',	

 

キャッシュ系プラグインのスクリプト統合の禁止

過去にキャッシュ系プラグインで散々悩まされました。しかしこれらのプラグインを入れておかないと読み込み速度が遅くなります。そのため今回も入れたわけですが、やはりこんな感じで不具合が出ております。スクリプトをひとまとめにしておくと読み込み速度が速くなるわけですが、まとめると不具合が生じます。そのためキャッシュ系プラグインを入れたとしてもスクリプトを統合しない形にします。またCSSもキャッシュを残さないように設定します。

今回問題になっているのはAmazonJSなのでこれのキャッシュが残らないようにすること。それと統合されないようにすることです。統合しないことで読み込みに多少時間がかかってしまいますが、ここについては仕方がありません。

Jqueryの読み込みの変更

二つの施策をしましたが、しっかりと読み込むこともあれば読み込まないこともあります。つまりそれ以外に問題があるということです。chromeでサイトの診断をしてみたところ、Jqueryを読み込むときと読み込まないときがあるようです。AmazonJSはJqueryに依存します。つまりJqueryが読み込まれなければAmazonJSは動かないわけです。このたまに読み込むけど読み込まないことがあるのは、Jqueryが読み込まれる時と読み込まれないときで変わるようです。

本来Javascriptは上から順に読み込んでいくわけですが、どうやら上から順に読み込むものの、読み込み完了までにそれより下のscriptを読み込んでしまい、エラーとなってしまうわけです。つまりはサーバー側の読み込み速度の問題なわけですが、ここについては当方でどうにかするとなるとお引越ししか方法がないわけです。

しかし、引っ越すのも大変。かといってAmazonからの収益は確保したい。

だったら配置場所を変えるしかない。

このような結果となりました。
当サイトのJavascriptは全てフッターに移動させています。その理由はヘッダーにあるとその分サイトの表示が遅くなるから。Javascriptなんて最後に読み込めばいいんです。それであれば全部下の方に持っていっちゃおうということでJavascriptも一部のCSSも最下層に置くことにしました。これが問題だったようです。表示速度は多少早くなっています。しかし今回のような不具合が出ております。そのためJqueryだけをヘッダーに配置し、それ以外をフッターに回すという形で対処しました。

こうすることでscriptの読む順番もそのまま。かつヘッダーから取得するのとフッターから取得するタイムラグを使って順番に読み込むようにしました。
すごい強引な方法ですが、とりあえず読み込んでくれるようになりました。

こんな感じで試行錯誤して強引ではありますが回答を導くことができました。

今回は何が原因なんだかわからず手探りで行いました。その際ワードプレスのバージョンを上げたりもしてみました。その結果、アソシエイトIDを再取得しなければならないことにもなってしまいましたが、まぁこれで何とか動くのではないでしょうか。

関連記事

画像の著作権表記が邪魔だからもう少し修正してみる
画像の著作権表記が邪魔だからもう少し修正してみる

先日から掲載している画像に著作権表記をしました。「Image Watermark」というプラグインを使ってロゴを載せることが...

 
【画像圧縮】画質が違う。一番良いスマホ画像アプリは?【リサイズ】
【画像圧縮】画質が違う。一番良いスマホ画像アプリは?【リサイズ】

ブログの肝は写真なのか文章なのか?どう考えても文章でしょう。読ませるためにはちゃんとした文章を書き、そしてわかりやすく楽しめ...

 
【九カ月目】今年こそアフィリエイターに当方はなる!
【九カ月目】今年こそアフィリエイターに当方はなる!

新年あけましたが、昨年12月の経過報告を致します。 先月は63000PVでした。先々月が54000PVだったのでかなり...

 
【八カ月目】Google先生に任せたら、アフィリエイトサイトと化す
【八カ月目】Google先生に任せたら、アフィリエイトサイトと化す

今年も残すところあと一カ月となりました。 何とか毎日更新を続けられています。ただ山林生活というタイトルからはかけ離れた...

 
【lazyload】プラグインを使わずに画像遅延を目指す。
【lazyload】プラグインを使わずに画像遅延を目指す。

構造化データが思うように動いてくれない。 タグの書き方なのか、そもそも当サイトがその域に達していないのか。 画像を指...

 

Profile

Author:山林生活

山林

千葉に山林を購入しました。
小屋暮らしをするため、土地持ちホームレスを目指し開拓中

プロフィール

お気に入りRSS
Copyright © 2016-2020 山林生活 All Rights Reserved.