AmazonJSが正常に表示されない場合の対処法(ぐるぐるま回る、不具合、読み込まない、動作しない)

Wordpress

AmazonJSはWordpressにAmazonアソシエイトのリンクを自動で表示してくれる便利ツールです。

使っている人も多いと思います。

しかし、不具合もちょくちょく発生し、

・WordPressバージョンアップ時
・AmazonJSバージョンアップ
・他のプラグインインストール時、バージョンアップ時
・Wordpressテーマをいじった時

などに、正常に表示されなくなります。

症状としては、ショートコードで後からJavascriptで読み込む表示部分がぐるぐる回ったままの場合が多いです。

画像表示は、静的リンクを生成するので結構大丈夫な場合が多いです。

さて、対処法ですが、いくつか報告されていますので、それぞれ試すしかありません。

システムへの影響が少ないものから順に原因切り分け・対策を紹介します。

AmazonJS以外のプラグインを一旦停止させて、正常表示されるか確認する

これで治る場合は、他プラグインとの相性問題ですので、ひとつづつプラグインを順に停止させてみて、どれが影響しているか調べて、つぶしこみます。

私の場合、「Autoptimize」というプラグイン(CSSやJavascriptを最適化する)を止めると正常表示される場合がありました。

場合によっては、対象プラグイン利用の停止または代替プラグインを探す対応になります。

同一ページに複数のAmazon商品を紹介していていずれかの商品がリンク切れになっている

複数商品をamazonjsを使って紹介していて、そのうち1つでもすでに存在した商品を紹介していると、そのページのすべてのAmazonJSリンクがくるくる回りっぱなしになるか、完全に非表示なる場合があります。

WordPressのページ編集画面で、AmazonJSを使って商品のDB番号で検索してみて、商品が見つからなければ商品を変更する必要があります。

AmazonJSの旧バージョン(0.8など)では、存在しない商品のリンクのみ、Amazonのロゴが表示されるだけで、あとは正常表示してくれていましたが、0.10などのバージョンでは、ほかの正常な商品についてもリンクがくるくる回りっぱなしや、完全に表示になったりします。

また、まれにAmazon上では商品が存在していても、AmazonJSの検索では商品が見つからない場合もありますが、この場合も同様に表示されなくなります。

AmazonJSのphpファイルの「http」の記述を「https」に修正

Amazonサーバ側のメンテナンスの影響と思われますが、amazonjs.phpファイルに「https://」と記載されている個所があり、これを「https://」に変えることで、正常表示される場合があります。

手順は、Wordpressの左メニューから「プラグイン」を開き、「AmazonJS」の「編集」を押します。

その中にある「amazonjs.php」を開いて、95,96行目付近にある「JP」に関する記述の「Base」や「LinkTemplate」の記述箇所の「https://」を「https://」に修正して保存します。

もし、修正に失敗して画面が表示されなくなった場合は、あきらめて、FTPでWordpressサーバのpluginフォルダにつないで、「amazonjs」フォルダを削除してからWordpress管理画面を開いて、AmazonJSプラグインを新規インストールします。

AmazonJSのバージョンアップ

Amazonサーバ側のメンテナンス等があると、そのままのAmazonJSではサーバと通信できない場合がありますので、本当は常に最新版にすることが望ましいです。

ただ、バージョンアップによって不具合が出る場合もあるので、慎重度がちょっと増します。

テーマを直接いじった場合は元に戻す

「テーマの編集」やFTPで直接ファイルを修正した場合は、思わぬところで影響する場合があります。

まさか、と思う箇所が影響するので、とにかく一旦もとに戻してみます。

修正時は極力履歴メモやバックアップを残すようにし、いざというとき戻せるようにしましょう。

フッターを修正・変更するとAmazonJSが正常表示されなくなる(footer.php)

全ページに共通のリンクを表示する場合など、フッターを修正する場合があると思いますが、これが結構AmazonJSに影響します。

なぜ影響するかは正直言って不明ですが、まったく無関係を思う箇所で影響します。

私の場合、Luxeritasというテーマで、フッタを修正するため、add-footer.phpというファイルにリンクを追記したのですが、それが原因でAmazonJSがぐるぐる回りっぱなしになりました。

この追記分をコメントアウトしたところ正常表示されました。

他のサイトでは、footer.phpの修正で同様の症状が出たり、footer.php内でwp-footer()関数が呼び出されていないと不具合が出た、などの例もありましたので、フッターの修正・変更は要注意です。

WordPressバージョンアップ

原因切り分けの最終手段です。

他への影響も大きいので、事前にテスト環境でためしてからの実施が望ましいです。

まとめ

AmazonJSは便利ですが、不具合も多いので、何かシステムに変更を加えた場合は、AmazonJSの動作確認を行いましょう。

何かしらのバージョンアップ、プラグイン追加、テーマ修正からすぐに不具合に気づけば復旧も早いです。

逆に、何もシステムをいじっていないのにいつの間にか不具合が起きていた場合は、Amazonサーバ側の変更があった可能性が高く、同様の不具合に悩んでいる人も多いはずです。

その場合は、インターネットやtwitterに情報が上がっていることも多いので、あきらめずに調べてみましょう。

Wordpress