HTML、CSS、JavaScript を最適化することによってブログの表示速度を上げられる WordPress プラグイン「Autoptimize」ですが、楽天モーションウィジェットをブログに導入しようとしたところ、このプラグインが原因でうまく表示ができないというトラブルに見舞われました。WordPress では「原因不明の問題が発生したときはキャッシュ系プラグインを疑え」が鉄則です。
症状
楽天アフィリエイトのモーションウィジェットは、楽天売れ筋ランキングやブログにマッチした商品を自動で表示してくれる広告のことです。商品を選択する手間がいらないので、私のようなものぐさな人にぴったりです。対応サイズが豊富に用意されており、評判の悪かった自動切り替え機能はオン・オフを選べるようになったので、使い勝手もよくなりました。
今回、サイズが 300X250 のウィジェットをブログに導入しようと試しに貼り付けてみたのですが、違うサイズのウィジェットが勝手に表示されるという不具合に遭遇しました。他のサイズのウィジェットも試してみたのですが、こちらも勝手に小さいサイズに変わってしまいます。嫌な予感がしたのでアマゾンのウィジェットでも確認すると、こちらも目的外のサイズしか取得できません。困った。
WordPressのクリーンインストール
ここからはどのように原因を究明していったのかについて述べていきます。結論だけ知りたいという人は途中を飛ばして最後だけお読みください。
動作のおかしくなったフリーソフトなどでもよく行うのが、再度ソフトをインストールしなおすことです。楽天やアマゾンのウィジェットがうまく動作しないとはいえ、それ以外は問題なく運用できている WordPress の再インストールにはかなりドキドキしましたが、がっつりお金を稼ぎたい動作が不安定な WordPress では訪問してくれた人に迷惑がかかるかもと思い、覚悟を決めてクリーンインストールしてみました。
WordPressを手動でクリーンインストールする方法 | Naokix.net
しかし、これでは解決せず。
他のWordPressブログではちゃんと動作する
私はこのブログ以外にも WordPress でブログを運営しているのですが、そちらに楽天のウィジェットを貼り付けたときはちゃんと動作しているので、WordPress が原因ではなさそうです。
クリーンインストールでは public_html/wordpress/wp-content 内のファイルをコピーするので、原因がプラグインかテーマではないかと予想しました。そこで、「wordpress プラグイン 表示がおかしい」などで検索すると、キャッシュ系プラグインで不具合が発生するという情報が山ほど出てきました。
Autoptimizeのキャッシュをクリア
Autoptimize についての記事を読むと、Autoptimize はキャッシュをサーバーに保存するので、それを定期的にクリアしたほうがよいと出てきます。あー、私の管理画面にもそんな表示が出ていましたね・・・。日々の忙しさと英語読解力の低さでずっと放置していましたが。
Autoptimize のキャッシュをクリアするには、Autoptimize 設定画面を開いて「Save Changes and Empty Cache」ボタンをクリックするだけです。このボタンは特に設定を変更していなくても、キャッシュクリアのためだけに押しても大丈夫なものです。
これでもまだ解決せず。
AutoptimizeのJavaScript最適化をやめる
がんばってネット検索をしていると、CSS の最適化をやめたことでうまく表示されるようになったという情報に辿り着いたので、試しに Autoptimize の JavaScript 最適化をやめてみることにしました。Autoptimize 設定画面で「Optimize JavaScript Code?」のチェックを外すだけです。
古い情報を見ると、個別に JavaScript の最適化をやめることができたようなのですが、現在ではこの設定を行うことができなくなっています。例えば、今回で言えば楽天ウィジェットを表示する JavaScritp には「rakuten_widget.js」という名前が付いているのですが、こいつだけを最適化しないといった設定方法があったようです。
JavaScript の最適化をやめたことで今度はうまくいきました。
ここでひとつ疑問が湧きます。私の他の WordPress ブログでも Autoptimize が入っており、そちらではこのような設定をしなくてもウィジェットがちゃんと動作しているんですよね。
Autoptimizeの再インストール
問題解決に深夜までかかり、その日はそのまま寝てしまったのですが、一晩たってみるとひとつのウィジェットのために JavaScritp 全体の最適化をやめてブログの表示速度を犠牲にするのはなんだかなと思うようになりました。
ここで先日 WordPress のクリーンインストールのことを思い出し、「あ、Autoptimize も再インストールしてみればいいのでは?」と気づきます。
プラグインの設定画面にて Autoptimize を停止後に削除。さらに FTP ソフトの FileZilla を起動後、レンタルサーバーにアクセスして public_html/wordpress/wp-content/cache 以下にある「Autoptimize」というフォルダを丸ごと削除します。
結果、JavaScritp の最適化を停止せずとも各種アフィリエイトウィジェットがちゃんと表示されるようになりました。やったぜ。
まとめ
このブログをはじめてから1年半ぐらい経ちました。一方、他のブログは最近になって立ち上げたもので、ここから考えられるのは Autoptimize の古いファイルが悪さをしていた可能性があるということです。プラグインは日々アップデートを繰り返して改善され続けますが、古いファイルが残っていると思わぬ不具合を起こすことがあるようです。
WordPress やプラグインの動作がなんだか不安定だなと思ったときには、思い切って新たにインストールしなおすことも検討してみてください。その際には、各種ファイルをバックアップすることを忘れずに。
おまけ
タイムリーなことに、この記事を執筆中に Autoptimize のアップデートがありまして、管理画面の上部になんだかサイバーっぽいツールバーが表示されるようになりました。これにより、ツールバーからキャッシュのクリアができるようになっています。
こちらはキャッシュクリア前の画面スクリーンショットですが、10GB ものキャッシュがレンタルサーバーを圧迫しています。お、恐ろしい・・・。定期的なキャッシュクリアを心がけましょう。
Comment