WordPressサイトに悪影響を及ぼすプラグインの買いだめ――その原因と対策
使わなくなったプラグインやテーマを削除せずに放置してしまう――これは多くのWordPressサイト運営者に共通する習慣です。しかし、この「買いだめ」はサイトに取り返しのつかない被害をもたらす可能性があります。本記事では、その具体的な影響と効果的な対策について詳しく解説します。
プラグインをため込んでしまう3つの理由
1. 新しいサービスを試したい
WordPressサイトを運営していると、新しいプラグインやテーマを試したくなるのは自然なことです。現在使っているものが期待通りに動かなかったり、より魅力的なものを見つけたりすると、別のものへ乗り換えたくなります。ただし、古いものを削除しないまま切り替えを繰り返すと、プラグインやテーマが次々と蓄積されていきます。
2. 古いプラグイン・テーマを「保険」として残しておく
新しいアドオンに切り替えた後も、以前のものを残しておく理由の一つは、「万が一のときにすぐ戻れるように」という安心感です。新しいデザインが気に入らない、新しく入れたプラグインのせいでサイトがクラッシュした――そんなときに元に戻せるようにしておくわけです。しかしこの習慣は悪循環を生みます。整理すべきものが増えるほど、実際に手をつける可能性は下がっていくのです。
3. 大量のプラグイン・テーマを整理するのが面倒
サイトに多数のプラグインやテーマがある場合、新しいアドオンをインストールして置き換え対象を非アクティブ化するだけなら簡単です。しかし、未使用のアドオンをすべて探し出して削除する作業は、リストが膨大になればなるほど骨の折れる仕事になります。
ほとんどの場合、ため込んでいる本人は自分が「プラグイン収集癖」に陥っていることに気づきません。しかし、この習慣がサイトに悪影響を及ぼし始めたら、意識的に改善すべきサインです。ここからは、プラグインやテーマを溜め込み続けると何が起こるのかを見ていきましょう。
プラグインの買いだめがサイトに与える3つの悪影響
1. プラグインが多ければ問題も多い
プラグインをインストールすると、その機能によってはWordPressデータベースに独自のテーブルが追加されることがあります。それ自体は問題ではありませんが、トラブルはアンインストール時に起こります。プラグインを「無効化」してもカスタムテーブルは削除されず、プラグインを完全に削除しない限り、これらのテーブルを取り除くことはできません。
WooCommerce、Wordfence、NinjaFirewallなど、サイトに大規模な変更を加えるタイプのプラグインでは特にこの傾向があります。もう使っていないプラグインのテーブルがデータベースに残り続けると、データベースが不要に肥大化し、最悪の場合クラッシュを引き起こすこともあります。
2. アドオンが増えるほどサイトは遅くなる
テーマやプラグインを使いすぎると、サイトの表示速度が低下することはよく知られています。誰かがサイトのページを開くたびに、サーバーはすべての有効なプラグインを実行しなければなりません。これがシステム全体の足かせとなります。
例えて言うなら、WordPressはさまざまな作業をこなせる人間のようなものです。限られた時間内に10個のタスクを同時にこなせと言われれば、疲れてしまい、一日の終わりにはペースが落ちてしまうでしょう。同じように、複数のプラグインを同時に実行し続けると、WordPressサイトは徐々に遅くなります。
だからこそWordPressでは定期的な「ハウスキーピング」が推奨されています。サイトに適した、より高性能なプラグインやテーマを見極めて必要なものだけを使い、不要になったプラグインは削除すること。「無効化」するだけでなく、完全に削除することが重要です。
3. 未使用のアドオンがセキュリティを脅かす
多くのサイト運営者は、使っていないアドオンの更新まで気を配りません。しかし、サイト上のアドオン(有効・無効を問わず)は時間とともに脆弱性を抱えるようになります。更新されないまま放置されたアドオンは、ハッキングへの入り口になり得ます。サイト上に存在するだけで危険なのです。
理由は単純です。無効化されたプラグインでも、PHPファイル自体はサーバー上に残っており、脆弱性を探してウェブを巡回するハッカーボットからアクセス可能だからです。ボットがサイト上の古いPHPファイルや脆弱なファイルを発見すれば、サイトは容易にハッキングされてしまうのです。
すっきりとした安全なサイトへの道
1. サイトの更新を自動化する
このリスクを軽減する比較的簡単な方法の一つは、すべてのプラグインとテーマ(有効・無効を問わず)の更新を自動化することです。時間の節約にはなりますが、注意点もあります。すべての更新が互換性を持つとは限らず、サイトがクラッシュする可能性もあるということです。
対策としては、万一の際にサイトを復元できる信頼できるバックアップソリューションを用意しておいた上で、未使用のプラグインやテーマを一つずつ更新していく方法があります。あるいは、本番サイトに変更を加える前に、ステージング環境で更新をテストするのも有効です。
単体のプラグインであれば、更新が必要な未使用プラグインを見つけるのは簡単ですが、脆弱なスクリプトやプラグインがテーマに組み込まれている場合は話が複雑になります。テーマを更新しても、内包されているプラグインまでは更新されないことがあり、攻撃への脆弱性が残ってしまうのです。
実際に、RevSliderやTimThumbといったプラグイン/スクリプトがバンドルされたテーマを使用していた多くのWordPressサイトで、これが現実の被害となりました。ハッカーはこれらのスクリプトを悪用してサイトのサーバーへのアクセス権を取得し、リモートファイルインクルージョン(RFI)、ローカルファイルインクルージョン(LFI)、任意コード実行などの攻撃を実行しました。さらに悪質なことに、テーマやプラグインを更新した後でもアクセスを維持できるよう、バックドアとなる悪意のあるコードを仕掛けられる場合さえあります。
だからこそ、最も確実な解決策は、代わりとなるプラグインやテーマを見つけたら、すぐに古いものを削除することです。
2. アドオンを削除する具体的な手順
ほとんどの場合、無効化したプラグインはそのまま削除できます。テーマも同様です。以下に、プラグインやテーマを削除する手順を示します。
WordPressダッシュボードから「プラグイン」(インストール済みプラグイン)のページに移動します。
すべてのプラグインが一覧表示されたページが開きます。無効化済みのプラグインがある場合は、「停止中(Inactive)」の項目の下に表示されます。
クリックすると別のページに移動し、そこから停止中のプラグインを削除できます。ただし「停止中」を選択する前に、そのプラグインが近い将来本当に不要になることを確認しておきましょう。
この方法でプラグインをアンインストール・削除できない場合は、以下の方法を試してください。
- プラグインの「詳細」にあるreadmeファイルを確認し、正しいアンインストール手順の指示に従う
- プラグインを無効化した上で、FTPクライアント(FileZillaなど)経由で手動で削除する。MalCareのような高精度なマルウェアスキャナーを併用するのも有効です。
昨今のハッカーには、サイトを攻撃する数え切れないほどの動機があります。そして残念ながら、これらの対策を講じていても、どんなサイトでもハッキングされる可能性はゼロにはなりません。ハッカーたちは、サイトのリソースを悪用するために、ますます巧妙な手法を編み出し続けています。WordPressサイト運営者として上記の対策でサイトのセキュリティを強化することは重要ですが、それと同時に、悪意のあるコードを最初の段階で正確に検出し、誤検知を起こさない信頼性の高いセキュリティ対策を導入することが何よりも重要です。
-
サイトを安全に保つための 13 の WordPress セキュリティ プラグイン
Web サイトはビジネスの鍵であり、維持および保護する必要があります。価値の高いウェブサイトには、ウェブホストが提供できる以上のセキュリティと、WordPress セキュリティ プラグインが必要です。 ウェブサイトを保護する最も効果的な方法です。 Web では 39 秒ごとにマルウェア攻撃が行われています。ハッカーは、データや ID 情報を盗み、Web サイトを改ざんし、トラフィックを迂回させ、SEO ランキングを破壊し、多大な損害を与える可能性があります。マルウェアは何百万もの損失を引き起こし、事業主はその矢面に立たされなければなりませんでした。したがって、サイトが適切な WordPr
-
WordPressで未使用のCSSを削除(または遅延読み込み)してサイトを高速化する方法
WordPressサイトから未使用のCSSを削除して、ウェブサイトをもっと速くしたいと思いませんか? ウェブサイト最適化の重要な目標のひとつは、不要なコードを取り除くことです。これによりページ全体のサイズが減り、読み込み時間が短縮され、訪問者により快適なユーザー体験を提供できます。 ページサイズを大きく削減できる分野のひとつが「スタイリング」です。ウェブサイトのスタイリングは、HTMLやJavaScriptと並ぶWebの中核技術であるCSS(Cascading Style Sheets:カスケーディングスタイルシート)と呼ばれるルールベースの言語によって制御されています。 CSSは、ページの色