お知らせ・ブログ一覧へ戻る

WordPressのプラグインを停止したのに有効へ戻るとき|読み込まない状態で止め直し、数分後に再確認する手順と、SEOプラグインを外した後の後始末


WordPressのプラグインを停止したのに有効へ戻るとき|読み込まない状態で止め直し、数分後に再確認する手順と、SEOプラグインを外した後の後始末

WordPressのプラグインを停止したのに有効へ戻るとき|読み込まない状態で止め直し、数分後に再確認する手順と、SEOプラグインを外した後の後始末

WordPressの管理画面やWP-CLI(サーバー上でWordPressを操作するコマンドツール)でプラグインを停止し、「停止しました」「Success」と表示された。ところが少し時間をおいて確認すると、有効なプラグインの一覧に戻っている。こうしたときは、表示されたメッセージを停止の証明にせず、次のやり方で止め直して確かめるのが確実です。

  • 停止は「プラグインを読み込まない状態」で実行します。 WP-CLIなら --skip-plugins --skip-themes を付けて wp plugin deactivate を実行します。
  • 停止の確認は、実行の直後と数分おいた後の2回行います。 有効なプラグインの一覧(active_plugins)を読み直し、外れたままになっているかを見ます。
  • SEOプラグインを外すときは後始末までが作業です。 停止前に記事ごとの説明文(description)を退避し、停止後にサイトマップとページの title・description を確かめ直します。
  • 表示の確認はキャッシュを避けて行います。 URLの末尾に ?nc=(乱数) のような使い捨ての文字列を付けて開きます。

以下、2026年9月に名古屋の美容サロンFC(店舗ごとにWordPressを持つ多店舗サイト)で、SEO設定を全店共通の仕組みに一本化したときの作業をもとに説明します。

有効なプラグインの一覧は「1つの値」で管理されている

まず仕組みを押さえておくと、確認すべき場所がはっきりします。

WordPressでどのプラグインが有効かは、データベースの wp_options テーブル(wp_ の部分はサイトにより異なります)にある active_plugins という1つの値にまとめて保存されています。「停止する」とは、この一覧から対象を外して保存し直すことです。

したがって「停止したのに有効へ戻る」は、停止の後に何かがこの一覧を書き換えた、という状態を指します。一般に考えられる要因は次のとおりです。

  • 停止と同じ時間帯に動いていた別の処理(管理画面の操作や定期実行の処理)が、停止前の一覧を持ったまま保存し直した
  • オブジェクトキャッシュ(Redisなど、データベースの値を一時的に覚えておく仕組み)に、停止前の一覧が残っている
  • 管理ツールや別のプラグイン、mu-plugin(必ず読み込まれる特別なプラグイン)が有効化し直している
  • テーマが「必須プラグイン」として強制的に有効化する設定を持っていて、管理画面を開くたびに有効へ戻している
  • マルチサイトで「ネットワーク有効化」されていて、サイト単位の停止では止まっていない

当社の事例では、どれが原因だったかの特定まではしていません。確かなのは、プラグインを読み込んだ状態での停止は戻り、読み込まない状態での停止は定着したという結果です。原因を突き止めるより先に、定着する止め方と、定着したことの確かめ方を手順にしておくほうが、実務では早く確実です。

実例:SEOプラグインの停止が定着するまで

この作業では、全店のブログ部分(WordPress)に、title・description・OGP(SNSでシェアされたときの表示情報)・構造化データ(検索エンジン向けの説明データ)を出力する共通の仕組みをmu-pluginとして入れました。ほとんどの店舗はSEOプラグインを使っていませんでしたが、1店舗だけSEOプラグインが有効でした。共通の仕組みはSEOプラグインが有効な店舗では自分の出力を止める作りにしてあったため、この店舗はSEOプラグインを停止して共通の仕組みに一本化することにしました。

手順 結果
プラグインを読み込んだ状態で wp plugin deactivate を実行 「Success」と表示。直後の確認で有効に戻っていた
--skip-plugins --skip-themes を付けて停止し直す 停止が定着。数分後の再確認でも停止のまま
停止後にサイトマップを確認 WordPress標準のサイトマップが表示されるようになり、それをもとに作り直したサイトマップのURLが4件から9件に増えた(記事が載った)
停止後にページのheadを確認 共通の仕組みによる title・description が出力された。反映の確認にはキャッシュ回避が必要だった

同じサーバーでは、ほかにも --skip-plugins が必要になる場面がありました。複数店舗のWordPressをWP-CLIでまとめて操作するとき、あるプラグインがWP-CLIの実行中に致命的エラーを起こす店舗があり、--skip-plugins --skip-themes を付けないとバージョンの確認すら途中で止まりました。WP-CLIで設定やプラグインを触るときは、まず読み込まない状態で実行する、を標準にしておくと、こうした巻き込まれを避けられます。

停止を定着させる手順

1. 停止前に控えを取る

元に戻せる状態を先に作ります。書き出し先は、必ずサイトの公開フォルダの外にします。

mkdir -p ~/backups
wp db export ~/backups/before-plugin-off.sql --skip-plugins --skip-themes
wp plugin list --skip-plugins --skip-themes > ~/backups/plugins-before.txt
tail -n 1 ~/backups/before-plugin-off.sql

WP-CLIは通常WordPressのフォルダで実行するため、ファイル名だけを指定すると公開フォルダに書き出されます。データベースの書き出しにはユーザー情報も含まれるので、URLから取得できる場所に置いてはいけません。書き出しが最後まで終わっているかは、最後の tail で表示される末尾の行に Dump completed があるかで確かめられます。

2. 読み込まない状態で停止する

wp plugin deactivate all-in-one-seo-pack --skip-plugins --skip-themes

all-in-one-seo-pack の部分は、wp plugin list で表示されるプラグインの名前(スラッグ)に置き換えます。

3. 直後と数分後に読み直す

wp option get active_plugins --skip-plugins --skip-themes
wp plugin list --status=active --skip-plugins --skip-themes

実行の直後に1回、数分おいてもう一度確認します。当社の事例では直後の確認で戻りに気づきましたが、時間をおいて書き戻されることも考えられるためです。管理画面で作業した場合も、プラグイン一覧を開き直して同じように確かめます。

4. それでも戻るときに見る場所

確認すること 見方
ネットワーク有効化されていないか(マルチサイトのみ) wp plugin list --status=active-network
mu-pluginとして読み込まれていないか wp plugin list --status=must-use、または wp-content/mu-plugins の中身
オブジェクトキャッシュが古い値を返していないか wp-content/object-cache.php の有無を確認し、あれば wp cache flush
テーマが必須プラグインとして有効化していないか テーマの設定画面や、管理画面に出る「必須プラグイン」のインストール・有効化の案内
管理ツールが有効化し直していないか 複数サイトを一括管理するツールを使っていれば、その設定

管理画面にもSSHにも頼れない場合の最終手段として、FTPなどで wp-content/plugins 内の該当フォルダ名を変える方法もあります。WordPressは、管理画面のプラグイン一覧を開いたときに、本体ファイルが見つからないプラグインを有効一覧から外すためです。一覧を開く前にフォルダ名を戻すと有効のままになるので、名前を変えたら一覧を開いて外れたことを確かめます。プラグイン側の後片付けは行われないため、あくまで止めるための手段と考えます。

5. 読み込まない停止で起きないこと

--skip-plugins を付けた停止では、プラグインのコード自体が読み込まれません。そのため、プラグインが停止時に行うはずの後片付け(自分で登録した定期実行の解除など)は動きません。停止したまま使い続けるなら、wp cron event list でそのプラグイン由来の定期処理が残っていないかを確かめておくと安心です。

SEOプラグインを外した後の後始末

SEOプラグインの停止は、止めて終わりではありません。プラグインが担っていた出力が消える、または別の出力に置き換わるため、次の4点を確認します。

記事ごとの説明文を先に退避する

SEOプラグインは、記事ごとに入力した説明文を独自の場所に保存していることが多く、停止するとその説明文は出力されなくなります。今回のプラグイン(All in One SEO)では、専用のテーブルに記事別の説明文が入っていました。

停止の前にこれを書き出し、別の場所へ移します。今回は該当する4記事の説明文を、WordPress標準の「抜粋」欄へ移しました。共通の仕組みは抜粋を説明文として読む作りなので、停止後も同じ説明文が出力されます。ただし抜粋はブログ一覧のカードにも表示されるため、一覧の見え方が変わる点は事前に了解しておきます。

サイトマップを作り直して件数を数える

SEOプラグインの中には、WordPress標準のサイトマップ(/wp-sitemap.xml)へのアクセスを、自分が作るサイトマップへ転送するものがあります。今回もその状態でした。

このサイトでは、静的に生成しているページ側のサイトマップが、WordPress標準のサイトマップから記事の一覧を読み取って作られる仕組みでした。転送されている間は記事を読み取れず、サイトマップに記事が1件も載っていませんでした。プラグインを止めると標準のサイトマップが表示されるようになり、作り直したサイトマップのURLは4件から9件になっています。

SEOプラグインを外したら、サイトマップを開いて件数を数えるところまでやります。「開けた」だけでは、記事が載っているかどうかは分かりません。サーチコンソールに送信しているサイトマップのURLが変わる場合は、送信し直します。

titleとdescriptionが1つずつになっているか

SEOプラグインとテーマ、または自前の出力が同時に動くと、titleや説明文、構造化データが二重に出ることがあります。構造化データが二重に出ると、検証ツールで警告が出ることがあります。停止後はページのソースを開き、<title> と <meta name="description"> がそれぞれ1つずつで、意図した内容になっているかを確かめます。

確認はキャッシュを避けて行う

今回のサーバー(エックスサーバー)では、ページキャッシュが応答ヘッダーに表示されないまま効いていて、変更が表示に反映されるまで約2分かかりました。停止直後に普通のURLで開くと、古いheadのままに見えて「停止できていない」と誤解しやすい状態です。

確認するときは、https://example.com/?nc=12345 のように末尾へ使い捨ての文字列を付けて開くか、数分おいてから確かめます。

判断基準:どこまで確認すれば「停止できた」と言えるか

次の5つがそろえば、停止と後始末は完了と判断してよいと考えています。

  • [ ] 直後と数分後の2回、active_plugins を読み直しても対象が入っていない
  • [ ] ネットワーク有効化・mu-plugin・オブジェクトキャッシュ・テーマの必須プラグインのいずれにも残っていない
  • [ ] 記事ごとの説明文を退避し、停止後のページにも説明文が出ている
  • [ ] サイトマップを開き、記事を含む件数が想定どおりになっている
  • [ ] キャッシュを避けた表示で、title・descriptionが1つずつ出ている

よくある質問

Q. 管理画面で停止した場合も同じことが起きますか。

起こりえます。有効一覧が書き戻される理由は、操作した画面の種類によらないためです。管理画面で停止した場合も、数分おいてプラグイン一覧を開き直し、停止のままかを確かめてください。管理画面に入れない状態での操作方法は、WordPressの管理画面に入れなくても設定を変える方法にまとめています。

Q. SEOプラグインは外してしまって大丈夫ですか。

title・description・OGP・構造化データ・サイトマップを、テーマや自前の仕組みで代わりに出せるなら外せます。代わりの出力を用意しないまま外すと、これらがまとめて消えます。判断の目安はWordPressにSEOプラグインは必須ではないを参考にしてください。

Q. サイトマップの場所が分かりません。

サイトの構成によって場所が変わります。自分のサイトのサイトマップはどこにあるかで、構成別の場所と確かめ方を説明しています。

まとめ

  • プラグインの停止は、「成功」という表示ではなく、直後と数分後の有効一覧で確かめる
  • WP-CLIでは --skip-plugins --skip-themes を付け、プラグインを読み込まない状態で停止する
  • 戻る場合は、ネットワーク有効化・mu-plugin・オブジェクトキャッシュ・テーマの必須プラグイン・管理ツールの順に見る
  • SEOプラグインを外すときは、説明文の退避→停止→サイトマップの件数確認→headの確認までを1つの作業にする
  • 表示の確認はキャッシュを避けて行う。サイトの一部だけ古く見える現象については、サイトを更新したのに一部の人だけ古いまま見える原因も参考になります

プラグインの停止は手順としては一瞬ですが、検索に出す情報を担うプラグインの場合、止めたことで何が消えて何が代わりに出るのかまで確かめて、はじめて作業が終わります。

関連記事

2026.10.04

発注の記録を月別に集計する表は元のシートと分けて作る|元データはIMPORTRANGEでつなぎ、月ごとのシートは「対象月」のセル1つで切り替える作り方と、件数・数量の検算

2026.10.04

多店舗の店舗一覧ページは地図とテキストの一覧を両方置く|県→エリア→ピンで選ばせる地図と、HTMLに最初から書いた店舗カードの作り方、公開前に電話・営業時間・予約先を突き合わせる手順

2026.10.03

実績の画面をSNSに載せるときの匿名化|市名だけ伏せても駅名・地名で店は分かる。店名は丸ごと置き換え、文字認識で実名の残りを機械的に照合する手順


お知らせ・ブログ一覧へ戻る