WordPressサイトの構築や運用をしていると、この言葉に出会う機会がある。

「何もしていないのに壊れた。管理画面も触っていない」

「前回見たときは問題なかったはず」

うそをついているとは思わない。管理画面を開いた記録がないことも、実際にある。

ただ、体感では8割ぐらい、人の操作が原因になっている

本人からすると「何もしていない」てしても…

別のスタッフが記事や画像を直していた。何年か前に入れた設定やプラグインが残っていた。通知から更新ボタンを押したこと自体を覚えていない。

だがしかし、本当に何もしていなくてもWEBサイトが壊れることはある。

この記事では、「何もしていないのに壊れた」がなぜ起きるのか、先に何を確認するか、日頃どう備えるかを、運用現場の感覚から整理する。

Webサイトは何もしなくても周囲が変わる

Webサイトは、一度作ったらそのまま止まっている物に見えやすい。

特に企業サイトは、公開した後に大きく手を入れないことも多い。会社概要、取り扱い先、ニュース、お問い合わせフォーム。これらが表示されていれば、「動いている」ように見える。

ただ、実際のサイトは、自分たちが書いたHTMLや画像だけで成り立っていない。

  • サーバーのPHPバージョン
  • WordPress本体、テーマ、プラグイン
  • SSL証明書
  • ドメインの有効期限
  • ブラウザの仕様
  • GoogleマップやSNS埋め込み
  • ホスティング会社の仕様

これらは、サイト所有者が何もしていなくても進む。

例えばPHPは、バージョンごとにサポート期限がある。よくあるのが、「何年も問題なく動いている」ことを理由に、古いPHPやWordPressをそのままにしているケース。

その状態でも、昨日までは表示できる。

しかし、ホスティング会社がPHPを上げたり、プラグインが新しいPHPに対応していなかったりすると、突然白画面になる。

この場合、確かにサイト所有者から見ると「何もしていない」。

何もしていないからこそ、壊れたとも言える。

自動更新・証明書・外部サービスの影響

「何もしていない」ケースで、先に疑うのはこの3つ。

自動更新

WordPressは、本体、テーマ、プラグインを自動で更新できる。

セキュリティの観点だけ見ると、自動更新は非常に魅力的だ。

ただ、企業サイトで自動更新を信用していると、次のようなことが起きる。

  • プラグインの更新でフォームが止まる
  • テーマの更新でレイアウトが崩れる
  • 本体の更新後、古いプラグインが動かなくなる
  • 更新されたこと自体に、サイト所有者が気づかない

私はクライアントサイトでは、自動更新をあまり信用しない

理由は簡単で、「更新された時刻」と「壊れた原因」が追いにくくなるから。

夜中にプラグインが更新され、朝、お問い合わせが届かなくなっている。こうなると、当事者から見ると「何もしていない」になる。

自動更新そのものが悪いわけではない。

個人ブログで、バックアップが取れていて、崩れても戻せる状態なら使うこともある。

ただ、企業サイトでフォームや予約、外部連携がある場合、誰がいつ更新したかが追えない状態は避けたい。

SSL証明書

SSL証明書も、「何もしていない」で壊れる典型だ。

ブラウザに「この接続はプライベートではありません」と出る。

サイト本体は死んでいないのに、訪問者から見ると壊れたのと同じになる。

現場で見るのは、大きく2通り。

証明書の種類起きやすいこと見た目
有料SSL年に1回の更新を忘れる期限切れ後、突然警告画面になる
無料SSL(Let's Encryptなど)自動更新が失敗する更新ジョブが止まっていたのに気づかない

「証明書を入れたから安心」と思っていると、有効期限が来た時点で突然警告が出る。

無料SSLは自動更新できるが、常に成功するとは限らない。

古いVPS、OSのサポート切れ、証明書発行用コンテナの停止。こうした環境では、「無料だし自動だし大丈夫」という話にならない。

外部サービス

サイトの一部は、自分たちのサーバーの外で動いている。

  • Googleマップ
  • InstagramやXの埋め込み
  • YouTube
  • Webフォント
  • 問い合わせフォームの外部サービス
  • アクセス解析
  • CDN

これらは、先方の仕様変更やAPIキーの無効化で止まる。

よくあるのは、トップページの一部だけが欠けるパターンだ。

サイト全体は見られる。しかし地図が出ない、投稿が出ない、フォントが崩れる。

こうなると、「サイトが壊れた」と報告される。

実際には、サイト本体より先方サービス側の変更であることが少なくない。

個人ブログでも同じことは起きる。

このブログはNotionから記事を取得しているので、Notion APIや画像URLの扱いが変わると、自分が記事を書いていなくても表示が壊れる。

本当に何もしていないのかを確認する

運用をしていると、「何もしていない」の中身が少しずつ広がっていることが分かる。

先に確認したいのは、次のような操作がなかったかだ。

  • 記事や固定ページを更新した
  • 画像を一枚入れ替えた
  • 電話番号や営業時間を変えた
  • プラグインを追加した
  • 管理画面の通知から更新ボタンを押した
  • 別の担当者が管理画面に入った

これらは、本人からすると「サイトを壊す操作」ではない。

ただ、システムから見ると十分に変更だ。

特に多いのが、自分ではなく、別の人が触っているケースだ。

営業、広告、宣伝、外注先。

管理画面のアカウントが複数あるサイトでは、「自分は何もしていない」が同時に成り立つ。

私が確認するときは、感想ではなく記録を見る。

  1. WordPressの更新履歴
  2. ユーザー一覧と最終ログイン
  3. プラグインの有効・無効
  4. 最近変更されたファイルの日時
  5. ホスティング会社の作業履歴や保守メール
  6. ドメインとSSLの有効期限

ここでよく分かるのが、「本人は何もしていないが、誰かが何かをした」という状態だ。

そして、本当に誰も操作していない場合でも、自動更新や証明書、外部サービスが動いていることが多い。

だから私は、「何もしていない」を否定するための質問にはしない。

「意図して変えた人はいない」という前提で、周囲の変更を探すようにしている。

原因を探すときに見る場所

壊れ方によって、先に見る場所は変わる。

私がよく使う切り分けは、おおよそ次の通り。

見た目先に疑う場所確認すること
ブラウザの警告画面SSL証明書有効期限、ドメインと証明書の対応、自動更新ログ
白画面・クリティカルエラーPHP、プラグイン、テーマエラーログ、最近の更新、PHPバージョン
レイアウトだけ崩れるテーマ、キャッシュ、CSSテーマ更新、キャッシュ削除、ブラウザ差分
一部のブロックだけ欠ける外部埋め込み、APIマップ、SNS、フォント、APIキー
フォームが届かないプラグイン、メール送信スパム対策、SMTP、通知メール
自分の画面だけ古いキャッシュブラウザ、プラグイン、CDN
サイト全体が開かないドメイン、サーバー、ディスクDNS、サーバー停止、容量不足

ここで大切なのは、最初から全部を疑わないことだ。

白画面なのにデザインを直し始めたり、地図が出ないだけなのにWordPress本体を更新したりすると、原因が更に追いにくくなる。

私が最初にするのは、次の3つ。

  1. 今、他の人のブラウザでも同じ症状か
  2. いつから壊れているか
  3. サイト全体か、一部だけか

これが分かると、見る場所が狭まる。

例えば、自分のブラウザだけ古い画面ならキャッシュを先に疑う。

誰の環境でもSSL警告なら証明書を先に見る。

トップだけ地図が欠けるなら、本体より埋め込みを先に見る。

WordPressなら、管理画面に入れるかどうかも大きな分かれ目。

  • 公開側も管理画面も止まる → PHPやサーバー寄り
  • 公開側だけ止まる → テーマやキャッシュ寄り
  • 管理画面だけ止まる → プラグインや権限寄り

エラーログが見られるなら、推測で直すより先に読む。

Fatal errorAllowed memory size 、プラグイン名が出ていれば、原因はそこにある。

逆に、ログも更新履歴もない場合は、サイト内部より外側を疑う。

証明書、DNS、ホスティング会社の障害情報、外部APIで解決することがある。

壊れにくくするための日頃の備え

「何もしないこと」が安全な運用にはならない。

私が運用していて大切だと感じるのは、次の5つだ。

1. バックアップを取る

最低限バックアップさえあれば、なんとかなることが多い。

自動バックアップがあるなら、保持期間と復元方法まで確認する。

「バックアップがあるはず」と「今日戻せる」は違う。

復元テストをしたことがないバックアップは、必要なときに使えないことがある。

2. 更新は意図して行う

セキュリティ更新を後回ししていいわけではない。

ただ、ボタンを押す前に準備する。

  • 今のバージョンを記録する
  • バックアップを取る
  • 一つずつ更新する
  • 表示、フォーム、管理画面を確認する

企業サイトでは、自動更新よりこの方が安全だと思っている。

時間はかかるが、「いつ何が変わったか」が残る。

逆に、何年も更新しないのも危険だ。

古いWordPressやPHPは、今日は動いていても、攻撃面や後の更新難易度が上がる。

「動いているから触らない」と「自動更新に任せる」の間に、意図した更新を置きたい。

3. 有効期限をカレンダーに入れる

SSL証明書とドメインは、忘れやすい。

更新代行をしている場合でも、期限の1ヶ月前にリマインドを入れておく。

無料SSLなら、自動更新が成功しているかを定期的に確認する。

「入れたから大丈夫」になりやすいものほど、期限管理が必要だ。

4. 誰が触れるかを細くする

管理画面のアカウントが増えるほど、「何もしていない」が起きやすい。

  • 管理者権限を渡しすぎない
  • 更新通知メールの送り先を整理する
  • プラグイン追加や更新の窓口を決める
  • 外部委託先が触れる範囲を書いておく

プラグイン更新の通知が複数部署に届くと、誰も判断できなくて放置される。

そのまま放置するか、誰かが独断で更新するか。

どちらも、後からの「何もしていない」につながりやすい。

まとめ

「何もしていないのにWEBサイトが壊れました」は、本当にある。

ただ、サイトが自然に壊れたというより、周囲が変わったのに、サイト側だけ止まっていたというほうが近い。

  • 自動更新
  • SSL証明書
  • 外部サービス
  • ホスティング会社の仕様変更
  • 別の担当者の操作

こうしたものが重なると、本人が意図していなくても表示が壊れる。

だから、運用で大切なのは「何もしないこと」ではない。

サイトは、手を止めた瞬間から古くなり始める。

壊れないことより、壊れたときに追える状態を作っておくほうが、結局は安心だと思っている。