「とりあえず無効化しておけばいいや」
昔の僕も、そう思ってた。WordPressの管理画面に並ぶ、使っていないプラグインやテーマのリスト。いつかまた使うかもしれないし、削除するのはなんだか面倒くさい。だから、ついつい「無効化」ボタンを押して、そのまま放置。
でもある日、友人のWebデザイナーから血相を変えて電話がかかってきたんだ。「ヤバい、クライアントのサイトが改ざんされた!身代金要求されてる…!」って。
原因を調べていくと、なんと数ヶ月前に無効化したまま放置されていた、とあるプラグインの脆弱性が原因だった。攻撃者はその「空き家」同然のプラグインを踏み台にして、サイトに侵入したんだ。
幸い、バックアップから復旧できたけど、友人はクライアントからの信頼を失い、僕も「無効化でOK」という考えがいかに危険だったかを思い知らされた。背筋が凍るような体験だったよ。
これ、他人事じゃない。あなたのWordPressサイトにも、そんな「時限爆弾」が眠っているかもしれないんだ。
僕自身も、駆け出しの頃にやらかしたことがある。テスト用に入れた画像ギャラリーのプラグインを、無効化したまま1年以上放置していたんだ。ある日、サーバー会社から「お客様のサーバーから不正なアクセスが検知されました」と警告メールが届いて、血の気が引いた。原因は、まさにその放置していたプラグインの、とっくの昔に修正されていたはずの脆弱性だった。幸い大事には至らなかったけど、一歩間違えれば、クライアントのサイトにまで被害が及んでいたかもしれない。本当に、冷や汗ものだった。あの時ほど「ただより高いものはない」って言葉を実感したことはないよ。
「まあ、うちは大丈夫でしょ」って思った? ごめん、昔の僕も全く同じこと思ってた。でも、あの電話一本で、その自信は木っ端微粉に砕け散った。セキュリティの世界に「絶対」はない。あるのは、リスクをどれだけ減らせるかっていう、地道な努力だけなんだ。
なぜ「無効化」だけではダメなのか?驚愕の事実
ぶっちゃけ、多くの人が「無効化すれば機能は停止するんだから安全でしょ?」って思ってる。僕もそうだった。でも、それは大きな間違いなんだ。
無効化されたプラグインやテーマは、例えるなら「鍵のかかっていない空き家」。誰も住んでいないし、電気も水道も止まっている。でも、建物自体はそこに存在していて、ドアや窓をこじ開ければ、誰でも簡単に入れてしまう。
攻撃者は、まさにこの「空き家」を狙っている。無効化されていても、プラグインのファイル自体はサーバー上に存在し続けている。もしそのファイルに脆弱性(セキュリティ上の欠陥)があれば、攻撃者はそれを直接呼び出して、悪用することができるんだ。
じゃあ、なんでそんなことが可能なのか? 簡単に言うと、攻撃者は無効化されているプラグインのPHPファイルを、URLを指定して直接ブラウザから呼び出そうとするんだ。もしそのファイルに認証チェック(「この操作はログインしているユーザーしかできませんよ」っていう確認)がなかったら? まさにやりたい放題。プラグインの機能の一部を不正に実行されたり、そこを入口としてサーバーの奥深くまで侵入されたりする。これが、無効化プラグインが「裏口」になる仕組みだ。
昔、一世を風靡した(そして悪名も馳せた)画像リサイズ用のスクリプト「TimThumb」の脆弱性なんて、その典型的な例だ。多くのテーマやプラグインに同梱されていたんだけど、古いバージョンのTimThumbが含まれたまま放置されたサイトが、軒並みハッキングの被害に遭った。無効化していても、ファイルがそこにあるだけで狙われる。これが現実なんだ。攻撃者は、僕らが思うよりずっと賢くて、そして執拗だ。彼らにとって、無効化されて放置されたプラグインは、ボーナスステージへの隠し扉みたいなものなんだから。
実際に、Wordfenceのようなセキュリティ会社のレポートでは、無効化されたプラグインの脆弱性を突かれてサイトが乗っ取られる事例が、後を絶たないと報告されている。マジでゾッとする話だよね。
放置が招く「3つの悲劇」
使っていないプラグインやテーマを放置すると、具体的にどんな悲劇が待っているのか。僕の苦い経験と、これまで見てきた数々の事例から、特に深刻な3つのリスクを教えるよ。
悲劇1:セキュリティホールという名の「裏口」
これが一番ヤバい。さっきも言ったけど、無効化されたプラグインは攻撃者にとって格好の「裏口」になる。
特に、更新が止まってしまった古いプラグインは危険度MAXだ。開発者がもうメンテナンスしていないから、新しい脆弱性が見つかっても修正されることはない。つまり、セキュリティホールが開きっぱなしの状態なんだ。
攻撃者は、そうした「放置された脆弱性」をリスト化していて、自動化されたツールで常に世界中のWordPressサイトをスキャンしている。「うちのサイトは小さいから狙われない」なんていうのは、ただの幻想。彼らは無差別に攻撃を仕掛けてくる。
一度侵入を許してしまうと、
- サイトの改ざん
- 個人情報の漏洩
- スパムメールの踏み台にされる
- 他のサイトへの攻撃の踏み台にされる
など、被害は甚大なものになる。想像するだけで恐ろしいよね。
悲劇2:サイトがどんどん重くなる「パフォーマンスの悪化」
「無効化してるんだから、サイトの表示速度には影響ないでしょ?」
そう思うよね。でも、これも残念ながら間違いなんだ。
多くのプラグインは、無効化してもデータベースに設定情報などの「ゴミ」を残していく。一つ一つは小さなゴミでも、塵も積もれば山となる。使っていないプラグインが10個、20個と増えていくうちに、データベースはどんどん肥大化していくんだ。
データベースが重くなると、サイトの表示速度は確実に低下する。ページの読み込みに5秒も10秒もかかるようになったら、訪問者はイライラして帰ってしまうだろう。SEO的にも大きなマイナスだ。
例えるなら、PCのデスクトップに、使わないショートカットやファイルが散乱している状態を想像してみてほしい。最初は気にならなくても、だんだんPCの起動が遅くなったり、必要なファイルを見つけるのに時間がかかったりする。WordPressのデータベースも全く同じ。不要なデータ(特にwp_optionsテーブルに自動読み込み設定で残されたデータ)が溜まると、サーバーはページを表示するたびに、その膨大なデータの中から必要な情報を探し出さなきゃいけなくなる。これじゃあ、サイトが重くなるのも当然だよね。Core Web Vitalsのスコアもガタ落ちで、Googleからの評価も下がってしまう。まさに負のスパイラルだ。サイトの表示速度は、訪問者の満足度だけでなく、Googleの検索順位にも直接影響する。せっかく良い記事を書いても、サイトが重いというだけで、誰にも読まれずに終わってしまうかもしれないんだ。TTFB(Time To First Byte)っていう、サーバーが応答を返し始めるまでの時間が長くなると、Googleは「このサイト、ユーザー体験悪いな」って判断して、容赦無く検索順位を下げてくる。まさに、努力が水の泡だよ。
悲劇3:予期せぬエラーや競合の「地雷原」
使っていないプラグインが、ある日突然、他のプラグインやWordPress本体のアップデートと衝突して、エラーを引き起こすことがある。
「昨日まで普通に動いてたのに、急に画面が真っ白に…!」
こんな経験、WordPressユーザーなら一度はあるかもしれない。原因を特定しようにも、使っていないプラグインが大量にあると、どれが原因なのか突き止めるだけで一苦労だ。
僕も昔、クライアントのサイトで、2年以上前に無効化したまま放置されていたプラグインが、PHPのバージョンアップが原因で致命的なエラー(いわゆる「画面真っ白」現象、White Screen of Deathってやつだ)を吐き出し、サイト全体がダウンしたことがある。夜中に叩き起こされて、FTPクライアントでプラグインフォルダの名前を強制的に変更して、なんとか復旧させたのは、今となっては苦い思い出だ。原因特定のために、一つずつプラグインを有効化・無効化していくあの作業、本当に地獄だからね。
使っていないプラグインは、サイト内に埋められた「地雷」と同じ。いつ、どんなタイミングで爆発するかわからない。そんなリスクを抱えながらサイトを運営するのは、精神衛生上も良くないよね。
今すぐできる!安全な「断捨離」3ステップ
リスクは分かった。じゃあ、どうすればいいのか?答えはシンプル。「不要なものは、今すぐ完全に削除する」ことだ。
安全に「断捨離」するための、具体的な3つのステップを紹介するよ。
ステップ1:プラグインの棚卸し
まずは、自分のサイトにどんなプラグインが入っているか、すべてリストアップしてみよう。「プラグイン」→「インストール済みプラグイン」の画面を開いて、一つ一つ確認していく。
- 「これ、何のためにいれたんだっけ?」 → 不要な可能性大
- 「今は使ってないけど、いつか使うかも…」 → おそらく一生使わない
- 「有効化されてるけど、本当に必要?」 → 代替手段がないか検討
ポイントは、「必要かどうか」をシビアに判断すること。「あったら便利かも」レベルのものは、大抵なくても困らない。僕の経験上、「いつか使うかも」の「いつか」は、99%やってこない。
特に、以下のようなプラグインは要注意だ。
- 機能比較のために一時的に入れたもの:AとBを比較してAを選んだなら、Bは即削除!
- 過去のイベントやキャンペーンで使っただけのもの:その役目はもう終わっている。
- デザインのテストや学習目的で入れたもの:本番サイトには不要なはず。
この「もったいない精神」が、セキュリティホールを生む温床になるんだ。使わない服でパンパンのクローゼットと同じ。本当に着たい服が見つからないし、防虫剤を置くスペースもない。まずは不要な服を捨てないと、新しい服も入らないし、何より衛生的じゃないよね。
ステップ2:テーマの棚卸し
プラグインと同じように、テーマもチェックしよう。「外観」→「テーマ」の画面を開くと、現在有効化しているテーマ以外に、いくつかのテーマがインストールされているはずだ。
WordPressをインストールした時についてくるデフォルトテーマ(Twenty Twenty-Fourなど)や、過去に使っていた古いテーマ。これらも、現在使っていないのであれば、セキュリティリスクになることに変わりはない。
残しておくべきなのは、
- 現在有効化しているテーマ
- その親テーマ(子テーマを使っている場合)
の2つだけ。それ以外は、すべて削除候補だ。
「デフォルトテーマは、何かあった時のために残しておくべき」という意見もあるけど、個人的には不要だと思ってる。何か問題が起きたら、その時に公式ディレクトリから最新版を再インストールすればいいだけだからね。それに、テーマの切り替えで問題の切り分けをする時も、最新のデフォルトテーマをその場でインストールした方が、クリーンな状態でテストできる。古いテーマを残しておくメリットは、正直何もない。
ステップ3:バックアップを取ってから削除!
さて、いよいよ削除作業だ。でも、その前に必ずバックアップを取ること! これは絶対だ。万が一、必要なものまで消してしまってサイトがおかしくなっても、バックアップさえあれば元に戻せる。
バックアップは、契約しているサーバーの機能(Xserverの「自動バックアップ」など)を使うのが一番手軽で確実だ。もしくは、UpdraftPlusのようなバックアップ用プラグインを使うのも良い選択肢だよ。とにかく、「バックアップなしで作業しない」。これを鉄則にしてほしい。僕なんて、心配性だからローカル環境とサーバーと、二重にバックアップを取るくらいだ。そこまでしなくてもいいけど、「何かを削除する前には、必ずバックアップ」。これはもう、呼吸するのと同じレベルで習慣にしてほしい。
バックアップが完了したら、いよいよ削除を実行しよう。
- プラグインの削除:「プラグイン」画面で、削除したいプラグインの「削除」をクリックするだけ。
- テーマの削除:「テーマ」画面で、削除したいテーマをクリックして詳細を表示し、右下の「削除」をクリックする。
作業はこれだけ。驚くほど簡単でしょ?でも、この数クリックの手間を惜しむか惜しまないかで、あなたのサイトの安全性は天と地ほども変わってくるんだ。
よくある質問に、僕なりに答えてみる
Q. 削除したら、設定も全部消えちゃうの?
A. うん、基本的には消える。でも、それでいいんだ。そもそも使っていないんだから、設定が残っていても意味がない。むしろ、データベースにゴミが残らない分、クリーンでいい状態になる。もしまた使いたくなったら、その時にまた設定し直せばいいだけ。
Q. プレミアム(有料)プラグインも削除して大丈夫?
A. もちろん。使っていないなら、有料だろうと無料だろうと関係ない。削除すべきだ。購入したライセンスキーさえ控えておけば、必要になった時に再インストールして有効化できる場合がほとんどだよ。
Q. 削除するのが怖い…
A. その気持ち、すごく分かる。でも、バックアップさえ取っておけば、何も怖がることはない。もし何かあっても、すぐに元に戻せるんだから。怖いのは、削除することじゃなくて、「放置すること」のリスクの方なんだってことを、忘れないでほしい。
Q. どのくらいの頻度で棚卸しすればいい?
A. 個人的には、3ヶ月に1回くらいは見直すのがおすすめかな。サイトの「衣替え」みたいな感覚だね。新しいプラグインを入れた時や、サイトの表示速度が気になった時に、ついでにチェックするのも良い習慣だ。
Q. 一度削除したプレミアムプラグインのライセンスはどうなるの?
A. これはプラグインによるけど、ほとんどの場合はライセンスキーさえ保管しておけば問題ない。再インストール後に、もう一度ライセンスキーを入力すれば、再び有効化できるはずだ。心配なら、削除する前に開発元のサイトでFAQを確認しておくと安心だね。
まとめ:サイトの健康は「整理整頓」から
使っていないプラグインやテーマを削除するのは、部屋の掃除と一緒だ。不要なものを捨てて、整理整頓することで、部屋は広く、快適で、安全な空間になる。
WordPressサイトも同じ。定期的に「断捨離」することで、
- セキュリティが向上し、
- 表示速度が改善され、
- トラブルの原因が減る。
まさに、良いこと尽くめだ。
「いつか使うかも」という淡い期待は、今日限りで捨ててしまおう。そして、あなたのサイトを、本当に必要なものだけで構成された、クリーンで安全な場所に変えてあげよう。
まずは管理画面を開いて、使っていないプラグインがいくつあるか、数えてみることから始めてみてほしい。その数に、きっと驚くはずだから。
サイト運営は、庭の手入れに似ている。定期的に雑草を抜き、枯れ葉を掃除して、風通しを良くしてあげる。そうすることで、美しい花が咲き、美味しい果物が実るんだ。あなたのサイトという庭も、こまめな手入れで、もっと安全で、もっと快適な場所に育てていこうぜ。面倒くさいって気持ちは痛いほど分かる。でも、その5分の手間が、未来のあなたを救うことになるんだ。ハッキングされてからじゃ、もう遅いんだからね。
「うちのサイト、今どのくらい安全なんだろう?」
そんな疑問を持った方は、まずセキュリティ診断を受けてみるのもいいかもしれません。最近では、30秒ほどでサイトの安全性をチェックできる無料診断サービスもあります。暗号化の設定やプラグインの脆弱性、情報漏れのリスクなど、気になるポイントを一通り確認できます。
WordPressセキュリティ診断 https://rescue-wordpress.com/
実は、毎日100サイト以上がハッキングの被害に遭っているという現実があります。「まさか自分のサイトが狙われるなんて」と思っていても、被害は突然やってきます。
早めに問題を見つけて対処しておけば、大きなトラブルを未然に防げます。まずは自分のサイトの「健康診断」から始めてみませんか?