WordPressの概念について

第41回:緊急事態!WordPressサイトがプラグインで真っ白に…知らないと損する無効化テク

どうも!スカーレット坊やです!

WordPressサイトを運営していると、プラグインのトラブルに悩まされることがありますよね。サイトが真っ白になったり、エラーメッセージが出たり。その原因は、プラグインの競合や、セキュリティ問題であることが多いのです。

そんな時、プラグインを強制的に無効化する方法を知っていると、ピンチをチャンスに変えられます。この記事では、WordPressの管理画面から、FTPを使って、さらにはデータベースを直接編集する方法まで、状況に応じた無効化テクニックを解説します。プラグイントラブルに立ち向かう、あなたのための総合ガイドです。

スカ坊

ダッシュボードにアクセス出来なくなっちゃった!

コロ

落ち着いてください、プラグインのアップデートしませんでしたか?ダッシュボードから無効化できなくても、外すことは出来ますよ。

スカ坊

マジですか!そのやり方教えてください!

このブログで解決できること

このブログで解決できること
  • ページが突然真っ白になってしまった時の対処法の1つ
  • ダッシュボードにアクセスせずに、プラグインを無効化する方法
  • ここまで読んでくれた人の続き(笑
Index

WordPressプラグインの強制無効化が必要な理由

①プラグインの競合問題

ウェブサイトづくりをしていると、WordPressのプラグインって便利ですよね。でも、たくさん入れすぎると、プラグイン同士が仲良く働いてくれないことがあります。これを「競合」と呼んでいます。たとえば、SEO対策のためのプラグインと、サイトを速くするプラグインを一緒に使うと、ページの表示が遅くなったり、レイアウトが崩れたりすることも。

わたしの友だちは、お問い合わせフォームのプラグインと、スパム対策のプラグインを入れたら、フォームが表示されなくなってしまいました。原因を調べたら、両方のプラグインがフォームの送信ボタンをコントロールしようとして、ぶつかり合っていたのです。

このような時は、問題を起こしているプラグインを見つけて、強制的に無効化する必要があります。競合を解決して、サイトを正常に戻すためにね。

②サイトパフォーマンスの低下

WordPressのプラグインは、とても役に立つものばかり。でも、使いすぎると、サイトのパフォーマンスが落ちてしまうことがあるんです。イメージとしては、たくさんのアプリを同時に起動したスマホ。動きが遅くなりますよね。サイトも同じです。プラグインを10個以上入れると、ページの読み込み時間が長くなったり、操作に対する反応が悪くなったりします。

実際、わたしがコンサルティングしたあるECサイトでは、商品画像を最適化するプラグイン、関連商品を表示するプラグイン、レビュー機能のプラグインなど、全部で15個も使っていました。結果、ページの表示に7秒以上かかり、離脱率が50%を超えていたのです。

ここで、本当に必要なプラグイン以外を強制無効化しました。すると、読み込み時間が2秒以下になり、売上も回復。必要のないプラグインを無効化することで、サイトのスピードアップと、ユーザー体験の向上につながるのです。

③セキュリティリスクの増大

便利なプラグインを使いたくなる気持ち、よくわかります。でも、プラグインを増やすほど、サイトの安全性が下がることをご存知ですか? これは、プラグインの数が増えると、ハッカーに狙われるポイントも増えるからです。正直、すべてのプラグイン開発者が、強固なセキュリティ対策をしているわけではありません。わたしの経験では、更新が1年以上されていないプラグインや、評判の悪いプラグインが、セキュリティホールになることが多いです。

たとえば、あるブログサイトで、古い画像ギャラリープラグインが原因で、サイトが乗っ取られたことがありました。ハッカーはそのプラグインの脆弱性を悪用し、管理者権限を奪ったのです。サイトはマルウェアに感染し、閲覧者のPCまで危険にさらされました。

この問題を解決するには、問題のプラグインを特定し、強制的に無効化。その後、安全性の高いプラグインに切り替えることで、サイトを守ることができたのです。

WordPressプラグインを強制無効化する前の準備

①サイトのバックアップを取る

WordPressのプラグインを強制的に無効化する前に、絶対に忘れてはいけないのがバックアップです。なぜかって? プラグインを無効化すると、予期せぬ問題が起こることがあるからです。わたしの知り合いのデザイナーさんは、カスタマイズしたテーマに深く関わるプラグインを無効化したら、サイトのレイアウトが崩壊。せっかく作った記事や画像が表示されなくなってしまいました。

もしバックアップがなかったら、一からやり直しです。でも、事前にバックアップを取っていたので、すぐに元の状態に戻すことができました。バックアップは、WordPressの管理画面から行えるプラグインがたくさんあります。「All-in-One WP Migration」や「BackupBuddy」などが人気です。

これらを使えば、データベース、テーマ、プラグイン、アップロードしたメディアなど、サイトの全要素をまるごと保存できます。クラウドストレージと連携して、自動バックアップのスケジュールも設定できるんですよ。万が一のトラブルに備えて、プラグインをいじる前にはかならずバックアップを。安全第一で行きましょう!

②問題のプラグインを特定する

プラグインを強制無効化する前に、どのプラグインが問題を起こしているのかを見つけ出す必要があります。これは探偵の仕事に似ています。怪しい容疑者(プラグイン)を一つずつ調べて、真犯人を突き止めるのです。まず、エラーメッセージをよく読みましょう。「Fatal error in plugin XYZ」のように、問題のプラグイン名が書かれていることも。

次に、新しくインストールしたプラグインや、最近更新したプラグインを疑ってみます。トラブルの発生時期と照らし合わせるんです。それでもわからない場合は、「プラグインの切り分け法」を使います。全プラグインを無効化し、一つずつ有効化していって、どのプラグインでトラブルが再現するかを確認する方法です。

わたしのクライアントのECサイトでは、突然、商品が表示されなくなりました。エラーメッセージは暗号のよう。そこで、プラグインを一つずつ有効化していったら、価格表示プラグインが犯人だと判明。

このプラグインは、商品ページのテンプレートを書き換えるのですが、テーマとの相性が悪く、ページを真っ白にしていたのです。問題のプラグインを特定できれば、的確に無効化でき、サイトの復旧も早くなります。

③代替プラグインを探す

プラグインを強制無効化すると決めたら、その機能を補う代替プラグインを見つける必要があります。なぜなら、そのプラグインはきっと大切な役割を持っているはず。

たとえば、SEO対策のプラグインを無効化する場合、サイトの検索順位が下がる可能性がありますよね。わたしの運営するニュースサイトでは、人気のSEOプラグインがWordPressのアップデート後に動かなくなりました。このままではいけないと、代替プラグインを探し始めました。

WordPressの公式プラグインディレクトリを見たり、Google検索で「best alternative for XYZ plugin」と調べたり。有名ブロガーのおすすめ記事も参考になります。同じSEO機能を持ち、かつ最新のWordPressとの互換性が高いプラグインを3つほど選びました。そして、テストサイトで一つずつ試し、最も使いやすく効果的だったものを本番サイトに導入。

その結果、検索順位を落とすことなく、問題のプラグインを安全に無効化できたのです。代替プラグインを事前に探しておくと、スムーズな移行が可能になり、サイトの機能を維持できます。プラグインの乗り換えは慎重に、でも恐れずに行いましょう。

FTPを使ってWordPressプラグインを強制無効化する方法

①FTPクライアントをインストール

WordPressのプラグインを強制的に無効化する方法の一つに、FTP(ファイル転送プロトコル)を使う方法があります。この方法は、管理画面からプラグインを無効化できない時の切り札です。まずは、FTPクライアントソフトをパソコンにインストールしましょう。おすすめは「FileZilla」。

無料で使え、Windows、Mac、Linuxに対応しています。FileZillaのダウンロードページにアクセスして、自分のOSに合ったバージョンを選びます。ダウンロードしたファイルをダブルクリックすると、インストーラーが起動。

画面の指示に従って「次へ」を押していけば、あっという間にインストール完了です。もし、FileZillaの見た目が苦手なら、「WinSCP」(Windows用)や「Cyberduck」(Mac用)などの選択肢もあります。

これらも人気の高いFTPクライアントです。FTPソフトがあれば、WordPressサイトのファイルにダイレクトにアクセスでき、問題のプラグインを無効化できるようになります。

②FTPで接続する

FTPクライアントをインストールしたら、次はWordPressサイトに接続します。これは、自宅のカギを使って玄関のドアを開けるようなもの。まず、FTPのアクセス情報が必要です。これはレンタルサーバーやWordPressホスティング業者から提供されます。通常、管理画面やメールで見つかります。

必要な情報は、「FTPホスト名」(例:ftp.example.com)、「FTPユーザー名」(例:user123)、「FTPパスワード」(例:p@ssw0rd)、「ポート番号」(通常は21)です。

FileZillaを起動したら、上部にあるクイック接続バーにこれらの情報を入力。

「ホスト」「ユーザー」「パスワード」「ポート」の各欄に、順番に入力していきます。

その後、「クイック接続」ボタンをクリック。初回接続時は、サーバーの公開鍵を信頼するか尋ねられるので、「OK」を選びましょう。

接続に成功すると、左側にローカルファイル(パソコン内)、右側にリモートファイル(サーバー内)が表示されます。これで、WordPressのファイルを直接操作できる状態になったのです。FTPの接続はちょっと敷居が高く感じるかもしれませんが、慣れれば簡単。サイトの奥深くまでアクセスできる強力な手段なのです。

③プラグインフォルダにアクセス

FTPでサイトに接続できたら、問題のプラグインがある場所を探します。WordPressのプラグインは、決まった場所に置かれています。その場所は「/wp-content/plugins/」というフォルダです。

まず、右側のリモートサイト欄で、「public_html」や「www」といったフォルダを探しましょう。これはサイトのルートディレクトリです。そのフォルダをダブルクリックして開き、中に「wp-content」フォルダを見つけます。

さらにその中の「plugins」フォルダを開きます。ここにたどり着けば、インストールされているすべてのプラグインのフォルダが表示されます。たとえば、「contact-form-7」「yoast-seo」「wp-super-cache」など、プラグイン名のフォルダがズラリ。各フォルダの中には、そのプラグインのPHPファイルやリソースが入っています。

もし、フォルダの場所がわからなくなったら、FileZillaの上部にあるフォルダパスを見てください。/public_html/wp-content/plugins/のように、今いる場所が表示されています。プラグインフォルダにたどり着けたら、次は問題のプラグインを見つけ出します。

事前に特定した、トラブルの原因となっているプラグインのフォルダを探しましょう。

④問題のプラグインをリネーム

プラグインのフォルダを見つけたら、いよいよ強制無効化の作業です。方法は意外とシンプル。そのプラグインのフォルダ名を変更するだけ。これは、WordPressがプラグインを認識できなくなるトリックなのです。

たとえば、「broken-seo-plugin」というプラグインが問題を起こしているとします。このフォルダを右クリックし、「名前の変更」を選択。新しい名前は「broken-seo-plugin_disabled」などとしましょう。最後に「_disabled」や「_off」をつけるのがコツです。

こうすれば、後で元に戻したい時にも、どれを無効化したかがすぐにわかります。名前を変更したら、FileZillaの画面上で、フォルダがサーバーにアップロードされるのを待ちます。プログレスバーが100%になった

り、「転送が完了しました」と表示されたら成功です。この操作により、WordPressはそのフォルダをプラグインとして認識しなくなり、強制的に無効化されます。実際にわたしがこの方法を使ったのは、クライアントのブログサイトでのこと。人気の画像最適化プラグインが、PHPのバージョンの問題で動かなくなり、500エラーが出ていました。

管理画面にアクセスできないため、FTPでプラグインフォルダを「ewww-image-optimizer_off」にリネーム。すると、エラーが消え、サイトが復活したのです。この方法は、WordPressの動きを妨げずに、ピンポイントでプラグインを無効化できる、とても便利な技です。

WordPressの管理画面からプラグインを強制無効化する手順

①プラグイン一覧ページにアクセス

FTPを使う方法は効果的ですが、サーバーの奥深くまで入っていくので、ちょっと怖いと感じる人もいるでしょう。安心してください。WordPressの管理画面からもプラグインを強制無効化できるんです。まずは、プラグインの一覧ページにアクセスしましょう。WordPressにログインしたら、左側のメニューから「プラグイン」→「インストール済みプラグイン」を選びます。

このページには、サイトに入っているすべてのプラグインが表示されます。プラグインごとに、名前、説明、バージョン、作者などの情報が並んでいます。中には、「アクティブ」と書かれた緑色のマークが付いているものも。これは、現在有効になっているプラグインです。逆に、グレーになっているのは、すでに無効化されているもの。わたしのブログでは、この一覧を定期的にチェックしています。古くなったプラグインや、使っていないプラグインを見つけて整理するためです。

先日も、3年前に入れたSNSシェアボタンのプラグインが、アップデートされないまま放置されているのを発見。セキュリティリスクを考えて、すぐに無効化することにしました。プラグイン一覧ページは、サイトの「引き出し」の中身を整理する場所。ここで、不要なものを見つけ出し、すっきりさせるのです。

②プラグインを選択して無効化

プラグイン一覧ページで、問題のプラグインを見つけたら、次は無効化の作業です。WordPress管理画面からの無効化は、マウスクリックだけでできる簡単な方法。個別のプラグインを無効化する場合、そのプラグインの下にある「無効化」リンクをクリックするだけ。

たとえば、「WooCommerce」プラグインが商品を正しく表示しなくなったとします。プラグイン一覧で「WooCommerce」を探し、その下の「無効化」をクリック。確認のポップアップが出たら「はい」を選びます。これで、そのプラグインは一時的に機能を停止します。実際、わたしの運営するECサイトで、WooCommerceのアドオンプラグインが在庫管理システムと競合し、在庫数が正しく反映されないトラブルがありました。

原因特定のため、疑わしいアドオンを一つずつ無効化。3つ目のアドオンを無効にした時、問題が解消されたのです。この方法のいいところは、すぐに元に戻せること。同じプラグインの下に「有効化」リンクが現れるので、クリックすれば再び機能します。プラグインのオンオフを切り替えながら、トラブルシューティングができるわけです。

③一括操作で複数を無効化

サイトの不具合が深刻な場合、一つのプラグインだけでなく、複数のプラグインが関係していることがあります。そんな時は、一括操作で複数のプラグインを同時に無効化すると効率的です。プラグイン一覧ページのトップに、「一括操作」というドロップダウンメニューがあります。

まず、無効化したいプラグインの左側にあるチェックボックスをオンにしていきます。怪しいと思うものを次々とチェック。選び終わったら、「一括操作」から「無効化」を選んで、「適用」ボタンをクリックします。これで、選んだ全プラグインが一度に無効になります。

ある日、お客様のニュースサイトが異常に遅くなり、時々クラッシュするようになりました。原因究明のため、パフォーマンスに影響しそうなプラグインを片っ端からチェック。キャッシュ系、画像最適化系、アクセス解析系など、10個ほどを選択して一括無効化。その結果、サイトの速度が劇的に改善!

犯人は、相性の悪い2つのキャッシュプラグインでした。一括操作は、プラグインの組み合わせによるトラブルを素早く解決できる、心強い味方なのです。でも、多くのプラグインを一度に無効化すると、サイトの機能が大きく変わる可能性も。事前のバックアップは必須です。

「wp-config.php」を編集してWordPressプラグインを強制無効化する

①wp-config.phpを開く

時には、WordPressの管理画面にアクセスできなくなり、プラグインのオンオフさえもできない状況に陥ることがあります。そんな時の強力な手段が、「wp-config.php」ファイルを直接編集する方法です。このファイルはWordPressの心臓部。データベースの設定や重要な機能の制御を担っています。

まず、FTPクライアントを使ってサーバーに接続し、WordPressのルートディレクトリ(通常は「public_html」や「www」)にアクセス。

そこに「wp-config.php」があります。このファイルを右クリックして「ダウンロード」を選び、パソコンに保存しましょう。次に、テキストエディタで開きます。

メモ帳でもいいですが、「Notepad++」(Windows)や「TextMate」(Mac)のようなプログラミング向けエディタを使うと、コードが色分けされて見やすくなります。わたしはかつて、クライアントのWordPressサイトがWhite Screen of Death(真っ白な画面のエラー)に襲われた時、この方法を使いました。

管理画面もFTPも反応せず、パニックになりかけたのを覚えています。でも、wp-config.phpを編集することで、プラグインを無効化し、サイトを復活させることができたのです。

②無効化コードを追加する

wp-config.phpを開いたら、ファイルの終わり近く、「/* 編集する前にこのファイルをバックアップしてください。 */」という行を探します。通常、この近くに新しいコードを追加します。ここに、プラグインを強制無効化するための特別なコードを入れていきます。すべてのプラグインを無効にするには、次のコードを貼り付けます:

define('WP_PLUGIN_DIR', dirname(__FILE__) . '/wp-content/plugin-off');

このコードは、WordPressにプラグインの場所を「plugin-off」というまだ存在しないフォルダだと伝えます。結果、WordPress

はプラグインを見つけられなくなり、すべて無効化されます。特定のプラグインだけを無効にしたい場合は、こちらを使います:

define('DISALLOW_FILE_EDIT', true);
define('DISALLOW_FILE_MODS', true);
define('DISABLED_PLUGINS', 'plugin-folder-name/plugin-file.php');

plugin-folder-name/plugin-file.php」の部分を、問題のプラグインの実際のパスに置き換えます。
たとえば、「bad-seo-plugin/bad-seo.php」などです。複数のプラグインを指定する時は、カンマで区切ります。わたしの体験を共有すると、あるメンバーサイトで、新しく導入したフォーラムプラグインが暴走し始め、サイトがフリーズ。

wp-config.phpを編集して、そのプラグインを無効化しました。コードは「DISABLED_PLUGINS', 'bbpress/bbpress.php'」。この小さな変更で、サイトは正常に戻り、会員さんたちのコミュニケーションの場を守ることができたのです。

③変更を保存してアップロード

コードを追加したら、ファイルを保存します。テキストエディタの「ファイル」メニューから「保存」を選ぶか、Ctrl+S(Windows)またはCommand+S(Mac)を押しましょう。この時、ファイル名や形式を変更しないように注意が必要です。「wp-config.php」のままで、拡張子も変えずに。

次は、変更したファイルをサーバーに戻す作業。FTPクライアントを使い、元のwp-config.phpを右クリックして「名前を変更」。例えば「wp-config-old.php」にしておきます。これは、うまくいかなかった時のためのバックアップです。そして、修正したwp-config.phpをサーバーのルートディレクトリにアップロード。

FileZillaなら、ローカルサイト(左側)からリモートサイト(右側)にファイルをドラッグ&ドロップするだけ。わたしがこの方法を使ったのは、海外のサーバーで運営されていたブログサイトでのこと。深夜にセキュリティプラグインが誤作動を起こし、サイトにアクセスできなくなりました。

時差のため、サーバー会社のサポートも利用できない。そこでwp-config.phpを編集、プラグインを無効化して事なきを得ました。wp-config.phpの編集は、WordPressの核心部分に触れる強力な技。慎重に行えば、どんな状況でもサイトを救える、最後の切り札になるのです

データベースを直接操作してWordPressプラグインを強制無効化

①phpMyAdminにアクセス

ここまでのどの方法も使えない、そんな最悪の事態に陥ったらどうしますか? そんな時は、WordPressのデータベースを直接いじる必要があります。このアプローチはかなり技術的で、誤操作するとサイトが壊れる可能性がありますが、他に手段がない時の最終手段です。

まずは、phpMyAdminにアクセスします。これは、データベースを管理するためのウェブベースのツール。ほとんどのレンタルサーバーやWordPressホスティングで提供されています。サーバー管理画面(cPanel、VestaCP、Pleskなど)にログインし、「phpMyAdmin」や「データベース」のアイコンをクリックします。

新しいタブでphpMyAdminが開きます。左側のパネルに、利用可能なデータベースの一覧が表示されます。WordPressのデータベースは、通常「wp_」で始まります。例えば「wp_myblog」など。それをクリックして選択しましょう。慣れないインターフェースに戸惑うかもしれませんが、心配無用。

わたしも最初は怖々でした。ある時、重要なコーポレートサイトが、プラグインのアップデート後に真っ白になり、他の方法が全部失敗。震える手でphpMyAdminを操作し、データベースから問題のプラグインを無効化。奇跡的にサイトが復活し、クライアントとの信頼関係も守れたのです。

②wp_optionsテーブルを開く

phpMyAdminでデータベースを選んだら、次は「wp_options」テーブルを見つけます。WordPressのコア設定のほとんどは、このテーブルに格納されているのです。左側のテーブル一覧から「wp_options」をクリックします。すると、膨大な数の行が表示されます。

各行は、サイトの異なる設定を表しています。例えば、サイトのタイトル、投稿数、テーマ設定など、様々な情報がここに。スクロールしていくと、目が回りそうになるほどたくさんの行があります。でも、落ち着いて。探しているのは「active_plugins」という特別な行。このオプションが、現在有効になっているプラグインのリストを管理しています。

行数が多くて見つからない? 大丈夫、検索機能を使いましょう。ページ上部の検索ボックスに「active_plugins」と入力し、「実行」をクリックします。するとピンポイントでその行が表示されるはずです。わたしが初めてこの作業をしたのは、友人の写真家のポートフォリオサイトでのこと。

ギャラリープラグインのバグで、せっかくの作品が一切表示されなくなってしまいました。他の方法を試してもダメで、最後の望みをかけてphpMyAdminに。「wp_options」テーブルで「active_plugins」を見つけ出し、操作することで、問題を解決できたのです。この経験から、データベースを直接触る怖さと、同時にその強力さを学びました。

③active_pluginsを編集

「active_plugins」行を見つけたら、その横にある「編集」リンクをクリックします。新しいページが開き、この設定の詳細が表示されます。ここで大切なのは「option_value」というフィールド。

長い文字列が入っていて、一見すると意味不明に見えるかもしれません。でも、よく見ると、これはシリアライズされたPHPのデータ。プラグインのファイル名がa:の後に続いています。例えば:

a:3:{i:0;s:19:"akismet/akismet.php";i:1;s:9:"hello.php";i:2;s:35:"problematic-plugin/main-plugin.php";}

この例では、3つのプラグインが有効になっています。Akismetプラグイン、Hello Dollyプラグイン(WordPressのデフォルト)、そして問題のあるプラグインです。ここで、トラブルの原因となっているプラグインの部分を削除します。上の例なら、i:2;s:35:"problematic-plugin/main-plugin.php";をカットします。そして、残りの部分を以下のように修正:

a:2:{i:0;s:19:"akismet/akismet.php";i:1;s:9:"hello.php";}

数字(i:0、i:1)は、プラグインのインデックスを示しています。削除した後は、順番を詰める必要があります。変更したら、ページ下部の「実行」ボタンをクリック。これで、選んだプラグインがデータベースレベルで無効化されます。

実際、わたしのブログで使っていた人気のSEOプラグインが、ある日突然、記事を保存するたびに500エラーを出すようになりました。原因はそのプラグインの新しいバージョンでした。管理画面にもアクセスできず、途方に暮れていた時、この方法を思い出しました。

phpMyAdminで「active_plugins」を編集し、問題のSEOプラグインを除外。すると、エラーが消え、記事も無事に保存できるように。一時的にSEO機能は失われましたが、サイトの更新を続けられたのは大きな救いでした。

プラグインの強制無効化後のWordPressサイトの復旧

①エラーメッセージを確認

プラグインを強制的に無効化したら、まずはサイトの状態を確認しましょう。無事に復旧できている? それとも新たな問題が発生している? この時、最も頼りになるのがエラーメッセージです。サイトにアクセスして、画面をよく観察します。真っ白なページが表示される「White Screen of Death」、「500 Internal Server Error」、「Fatal Error」などのメッセージが出ていないかチェック。

これらは、まだ問題が残っていることを示しています。たとえば、わたしのECサイトで、商品画像を最適化するプラグインを無効化した時のこと。サイトは復活しましたが、商品ページに「Call to undefined function image_resize()」というエラーが。調べてみると、無効化したプラグインの機能を使っていた別のプラグインがあったのです。

エラーメッセージは、問題の本質を教えてくれる大切な手がかり。「Undefined function」は、ある機能が見つからないことを意味します。この情報から、画像リサイズ機能を提供する別のプラグインを導入することで、問題を解決できました。

エラーメッセージは、プログラマーの言葉。理解できなくても大丈夫、そのまま検索エンジンに入力すれば、解決策が見つかることが多いのです。

②無効化の影響を調査

エラーがなくても油断は禁物。プラグインの無効化は、サイトのさまざまな部分に影響を及ぼします。徹底的に調査しましょう。主要なページ(トップページ、記事ページ、固定ページ、カテゴリーページなど)を順番にチェックします。レイアウトが崩れていないか、画像は表示されているか、リンクは正しく機能しているか。

さらに、サイトの核となる機能もテストします。たとえば、ブログならコメント投稿、ECサイトなら商品購入、会員制サイトならログインなどです。実際、わたしがコンサルティングしていた料理レシピのサイトで、レシピ投稿プラグインに脆弱性が見つかり、急遽無効化したことがありました。

一見、サイトは正常に見えましたが、会員がレシピを投稿しようとすると「権限がありません」とエラーに。調べると、そのプラグインは会員の役割(ロール)も管理していたのです。急いで、WordPressの標準機能で会員の権限を修正。同時に、レシピの写真アップローダーも動かなくなっていたので、一時的に画像URLを直接入力してもらう対応を取りました。

無効化の影響は見た目だけでなく、サイトの機能や、ユーザーの行動フローにまで及ぶことがあります。細かい部分まで確認することで、ユーザーの不便を最小限に抑えられるのです。

③必要なプラグインを再有効化

サイトの状態を把握したら、次は必要なプラグインを再有効化する段階です。すべてを無効化した場合は特に重要です。プラグインを一つずつ有効化し、その都度サイトの動作を確認していきます。優先順位は高い方から順に、セキュリティ関連、SEO関連、機能系(フォームやギャラリーなど)、装飾系(ウィジェットやショートコードなど)がおすすめ。無効化の方法によって手順が変わります。

管理画面から無効化した場合は同じ画面で「有効化」をクリック。FTPでリネームした場合は元の名前に戻す。wp-config.phpを編集した場合は、追加したコードを削除またはコメントアウトします。わたしのブログで、Googleアナリティクスのプラグインを含むすべてのプラグインを無効化したことがありました。

アクセス数の急減を疑われ、復旧を急ぐ必要が。まずセキュリティプラグインを有効化。問題なし。次にSEOプラグイン。これも大丈夫。そしてアナリティクスプラグイン。データが再び流れ始めました。最後に、SNSシェアボタンなどの装飾系を有効化。

この順番で進めると、クリティカルな機能から復旧でき、途中で問題が発生しても、どのプラグインが原因かすぐにわかります。再有効化は、サイトの機能を取り戻す作業。慎重に、でも迅速に行いましょう。

トラブルシューティング:プラグインの強制無効化が失敗した場合

①FTPとDBアクセスを再確認

時には、プラグインの強制無効化がうまくいかないことも。焦らずに、落ち着いて原因を探りましょう。まず確認すべきは、FTPとデータベース(DB)へのアクセス権限です。無効化の操作をしても変化がない場合、サーバーへの指示が届いていない可能性があります。

FTPクライアントを開き、接続情報(ホスト、ユーザー名、パスワード、ポート)を再確認。入力ミスはありませんか? 次に、FTPクライアントでファイルを新規作成したり、名前を変更したりしてみてください。エラーが出たら、FTPの権限が足りていません。わたしも、クライアントのサイトを手伝った時に同じ経験をしました。

プラグインをリネームしても変化なし。よく見たら、FTPアカウントが「読み取り専用」になっていたのです。サーバー管理者に連絡して「書き込み権限」を付けてもらい、無事にプラグインを無効化できました。同様に、phpMyAdminでデータベースを開いた時、「アクセス拒否」などのエラーが出ないか確認しましょう。権限の問題は意外と多いのです。

②セーフモードで起動

FTPやDBのアクセスに問題がなくても、プラグインの無効化に失敗することがあります。そんな時の切り札が、WordPressのセーフモード。この機能は、すべてのプラグインとテーマを一時的に無効化し、コアのデフォルトテーマだけを使ってWordPressを起動します。

セーフモードを有効にするには、FTPクライアントでWordPressのルートディレクトリ(通常はpublic_html)にアクセスし、wp-contentフォルダの名前をwp-content-disabledなどに変更します。この操作により、WordPressはプラグインやカスタムテーマを見つけられなくなり、最小構成で起動するのです。

実際にこの方法を使ったのは、あるニュースサイトの大トラブルの時。サイトが完全にダウンし、管理画面にもアクセスできません。通常の無効化手順をすべて試しましたが、効果なし。最後の手段としてセーフモードを使ったところ、サイトが復活。

原因は、テーマに組み込まれたプラグイン機能でした。セーフモードのおかげで、テーマごと無効化でき、問題の箇所を特定できました。この方法は過激ですが、他の手段が全部失敗した時の最終手段として、心に留めておく価値があります。

③WordPress本体を再インストール

それでも解決しない場合、問題はWordPressのコアファイルにある可能性があります。この時は、WordPress本体を再インストールします。心配しなくても大丈夫。再インストールは、コンテンツやデータベースには影響を与えません。手順は次の通りです:

  1. WordPress.orgから最新版をダウンロード
  2. 解凍してwp-contentフォルダを除く全ファイルを置き換え
  3. FTPでサーバーにアップロード

この操作は、wp-admin、wp-includesなどのコアファイルを新しいものに置き換えますが、wp-contentにある記事、画像、プラグイン、テーマなどのデータは保持されます。

わたしが実際にこの方法を使ったのは、長年運営しているブログサイトでのこと。何をしてもプラグインが無効化できず、セーフモードも機能しません。エラーログを見たら、WordPressのライブラリファイルが破損していることが判明。原因は不明ですが、おそらく以前の更新が中断されたのでしょう。

WordPress本体を再インストールしたら、嘘のように問題が解消。プラグインの無効化も成功しました。この方法は、プラグインやテーマ以外に問題がある可能性が高い時の、強力な回復手段です。WordPress本体の再インストールは怖く感じるかもしれませんが、コンテンツを失うリスクはほとんどありません。

むしろ、壊れたコアファイルを修復できる、頼もしい技なのです。

この3つの方法は、プラグインの無効化が失敗した時の、段階的なアプローチです。最初はFTPとDBのアクセス権を確認し、それでもダメならセーフモードを試し、それも効かない場合はWordPress本体を再インストールします。

この順番で試すことで、最小限の変更から始め、徐々に踏み込んだ対応を取ることができます。トラブルシューティングは、根気と冷静さが必要ですが、これらの方法を知っていれば、ほとんどの問題を解決できるはずです。

WordPressプラグインを強制無効化しないための予防策

①プラグイン選定基準を設ける

プラグインの強制無効化は、サイトの救急措置。でも、そもそもトラブルを避けられれば、もっといいですよね。その第一歩は、インストールするプラグインを慎重に選ぶこと。つまり、プラグイン選定基準を設けるのです。わたしは、長年のWordPress運用で、次の基準を大切にしています:

  1. 更新頻度:過去6ヶ月以内に更新されているか
  2. 対応バージョン:使用中のWordPressバージョンに対応しているか
  3. インストール数:10,000以上の実績があるか
  4. 評価:星4以上の高評価か
  5. サポート対応:質問への回答が迅速か

たとえば、あるクライアントが「簡単画像編集プラグイン」を使いたいと言ってきました。人気がある一方、1年以上更新されていません。代わりに、更新頻度が高く、多くのサイトで使われている「WP Easy Image Editor」を提案。

後日、前者のプラグインにセキュリティ問題が見つかりましたが、後者は安全に使えています。プラグインを選ぶ時の”目利き力”は、サイトの安定運用につながるのです。品質の高いプラグインを選べば、強制無効化のリスクを大きく減らせます。

②定期的な棚卸しを行う

部屋の掃除と同じで、WordPressサイトも定期的な棚卸しが必要です。プラグインが増えるほど、トラブルのリスクも高まります。そこで、3ヶ月に1回のペースで、インストールしているプラグインを全部チェックする習慣をつけましょう。わたしのやり方はこうです:

  1. プラグイン一覧ページを開く
  2. 各プラグインの役割を再確認
  3. 使っていないものを無効化
  4. 無効化後のサイトを確認
  5. 問題がなければ完全削除

実際、わたしのポートフォリオサイトで、この棚卸しを始めたら驚きの発見がありました。全30個のプラグインのうち、10個が全く使われていなかったのです。

中には、昔使っていたスライドショープラグインや、試しに入れたままのSNS連携プラグインなどが。これらを無効化して削除したところ、ページの読み込み時間が40%も短縮。さらに、サイトのセキュリティスコアも上がりました。定期的な棚卸しは、サイトをスリムに保ち、不要なプラグインを溜め込まないための習慣。

強制無効化のような緊急事態を未然に防ぐ、予防医学のようなものです。

③代替手段を検討する

WordPressは多機能ですが、その分、プラグインへの依存度も高くなります。でも、プラグインに頼りすぎると、トラブル時の影響が大きくなってしまいます。そこで、プラグインの代替手段を考えてみましょう。「この機能、プラグインなしでできないかな?」と。たとえば:

  1. ショートコード → HTMLで直接書く
  2. 関連記事表示 → 記事内で手動リンク
  3. SNSシェアボタン → 公式のシェアボタンを貼る
  4. 問い合わせフォーム → Googleフォームを埋め込む
  5. アクセス解析 → Googleアナリティクスのコードを設置

実例を挙げると、わたしのブログでは以前、テーブルを作るのにプラグインを使っていました。でも、サイトの表示が遅いと感じて調べたら、このプラグインが原因でした。

そこで、HTMLの<table>タグを直接書く方法に切り替えました。テーブルごとにスタイルを調整する手間はかかりましたが、ページの読み込みが1.5秒も速くなったのです。また、写真家の友人は、ギャラリープラグインを使わず、CSSのGridレイアウトで画像を並べています。表示が軽快で、デザインの自由度も高いそう。

プラグインは便利ですが、代替手段を知っておくと、トラブルの時にも慌てません。サイトの核となる機能は、できるだけプラグインに頼らない方がいい。そうすれば、プラグイントラブルの影響を最小限に抑えられ、強制無効化のような緊急措置を取らずに済むのです。

まとめ

プラグインの強制無効化は、WordPressサイトを救う強力な技。でも、本当に大切なのは、トラブルを未然に防ぐこと。この記事を読んで、あなたが次にすべきことは:

  • プラグイン選定基準を作る:更新頻度、評価、サポート対応など
  • 3ヶ月に1度、プラグインの棚卸しをする
  • プラグインに頼らない方法を3つ以上試す

これらの習慣を身につけることで、サイトの安定性が格段に上がります。そして、いざというときの強制無効化の知識も持っているあなたは、どんなトラブルにも動じない、頼もしいサイト管理者になれるはず。

スカ坊

さあ、この記事を参考に、プラグインとの付き合い方を見直してみませんか? あなたのサイトが、より安全に、より快適になる第一歩を、今日から踏み出しましょう。

いざというときの方法は知るほどいいね
「本当にそれが身を助けてくれる」

それではまた!

すかぼうの各種SNSもよろしくお願いします!
Ordinals|Blog|Design|NFTとかを載せているから是非見てあげて、フォローしてね!
NFTや仮想通貨のブログも書いてるからこちらもよろしくね!

この記事が気に入ったら
フォローしてね!

シェア頂けると嬉しいです!よろしくお願いします!
  • URLをコピーしました!
Index