PR

WordPressのエラー対処法まとめ|真っ白画面・500エラー・ログイン不可を解決する手順

WordPressのエラー対処法を示す警告アイコンと割れた画面のアイキャッチ画像 wordpress

WordPressでブログを運営していると、ある日突然「画面が真っ白になった」「見たことのないエラー文が表示された」という場面に出くわすことがあります。特に自分でカスタマイズを加えたり、プラグインやテーマを更新したりした直後に起きやすく、原因が分からないまま画面を見つめて固まってしまった経験がある方も多いのではないでしょうか。

この記事では、WordPressの運営でよく遭遇するエラーを整理し、それぞれの原因の見当の付け方と、自分で試せる対処の手順を解説します。WordPress完全スタートガイドでこれから開設する方も、すでに運営中の方も、いざという時に落ち着いて対応できるよう、ブックマークしておくと安心です。

エラーに遭遇したらまず確認したい3つのこと

エラー画面を見ると焦ってしまいがちですが、まず落ち着いて次の3点を確認しましょう。1つ目は「直前に何をしたか」です。プラグインの更新、テーマの変更、コードの編集など、エラーの直前に行った操作は原因を特定する最大の手がかりになります。2つ目は「エラーメッセージの内容」です。真っ白な画面でも、ブラウザで右クリックして「ページのソースを表示」するとエラー文が残っている場合があります。3つ目は「サイト全体か一部のページだけか」です。トップページごと表示されないのか、特定の投稿だけおかしいのかで、原因の範囲が大きく変わります。

焦って手当たり次第に設定をいじると、かえって復旧が難しくなることもあります。作業を始める前に、可能であれば現在の状態のバックアップを取っておくと、万一悪化させてしまっても元に戻せて安心です。

WordPressでよくあるエラー7選

まずは代表的なエラーの種類と、それぞれの主な原因、緊急度の目安を一覧にまとめました。自分が今直面しているエラーがどれに近いか照らし合わせてみてください。

エラー 主な原因 緊急度
500 Internal Server Error プラグイン・テーマの不具合、.htaccessの破損、メモリ不足 高
画面が真っ白(White Screen of Death) PHPエラー、プラグイン同士の競合 高
データベース接続確立エラー DB情報の不一致、サーバー側の障害 高
管理画面にログインできない パスワード誤り、権限設定の変更、不正アクセス 中〜高
更新後にレイアウトが崩れる テーマ・プラグインのバージョン不一致 中
構文エラー(Syntax Error) functions.php等の編集ミス 高
画像が表示されない・リンク切れ サーバー移転時のURL不一致、ファイル削除 低〜中
エラーの症状から原因を絞り込むための診断フローチャート図解

500 Internal Server Errorが出たときの対処法

500エラーはサーバー側で処理に失敗したことを示す、いわば「原因不明のエラー全般」を表す表示です。原因の候補が複数あるため、順番に切り分けていく必要があります。

プラグイン・テーマが原因の場合

最も多い原因が、プラグインやテーマの不具合です。管理画面にログインできる場合は、FTPソフトやサーバーのファイルマネージャーから「wp-content/plugins」フォルダ内のフォルダ名を1つずつ変更(例:末尾に「_off」を追加)して、該当のプラグインを強制的に無効化します。無効化した瞬間に表示が戻れば、そのプラグインが原因と分かります。

.htaccessが原因の場合

パーマリンク設定の変更後に500エラーが出る場合は、.htaccessファイルの破損が疑われます。FTPで該当ファイルの名前を一時的に変更してリネームバックアップを取り、管理画面の「設定」→「パーマリンク設定」を開いて何も変更せず保存し直すと、.htaccessが自動的に再生成されて直ることがあります。

PHPのメモリ不足が原因の場合

画像加工や大量データの処理を行うプラグインを使っていると、割り当てられたメモリの上限を超えてエラーになることがあります。この場合は契約しているサーバーの管理画面からPHPのメモリ制限を引き上げるか、エックスサーバーでWordPressを始める手順のようにあらかじめ余裕のあるプランで運用しておくと発生しにくくなります。

画面が真っ白になる(White Screen of Death)の対処法

エラーメッセージすら表示されず、ただ画面が真っ白になる現象は「WSOD」とも呼ばれ、初心者にとって最も不安になりやすい症状です。ですが原因の探し方は500エラーと共通する部分が多く、落ち着いて手順を踏めば解決できます。

デバッグモードで原因を特定する

FTPで「wp-config.php」を開き、「define(‘WP_DEBUG’, false);」という行を「define(‘WP_DEBUG’, true);」に一時的に書き換えると、真っ白な画面の代わりにエラーメッセージが表示されるようになります。どのファイルの何行目でエラーが起きているかが分かるため、原因の特定が一気に進みます。確認後は必ず「false」に戻しておきましょう。

プラグイン・テーマを一時的に無効化する

デバッグ表示でプラグインが原因と分かった場合は、500エラーの対処法と同様にFTPからフォルダ名を変更して無効化します。テーマが原因の場合は、テーマフォルダ名を変更するとWordPressが標準テーマに自動で切り替わり、ひとまずサイトを復旧させられます。

データベース接続エラーが出たときの対処法

「データベース接続確立エラー」は、WordPressが記事データを保存しているデータベースにアクセスできない状態で発生します。まずはサーバー会社側で大規模な障害が起きていないか、契約しているサーバーの公式サイトやSNSのお知らせを確認しましょう。障害情報がなければ、「wp-config.php」内のデータベース名・ユーザー名・パスワード・ホスト名の4項目が、サーバー管理画面に表示されている情報と一致しているか照合します。サーバー移転やパスワード変更のタイミングで、この情報が古いまま残っていることが原因になるケースが少なくありません。

管理画面にログインできない時の対処法

パスワードを何度入力してもログインできない場合は、ログイン画面の「パスワードをお忘れですか?」からメールでの再設定を試します。登録メールアドレスも分からなくなってしまった場合は、サーバーの管理画面からデータベースを直接操作してパスワードを再発行する方法もありますが、操作を誤るとデータを壊しかねないため、自信がなければサーバー会社のサポートに相談する方が安全です。心当たりのない大量のログイン試行が続いている場合は不正アクセスの可能性もあるため、パスワードの変更に加えてログインURLの変更や二段階認証の導入も検討しましょう。

エラーを未然に防ぐための3つの備えを示すカード図

エラーを未然に防ぐための日頃の備え

エラーはゼロにはできませんが、日頃の備えで被害を最小限に抑えることはできます。最も効果的なのが、WordPressのバックアップの取り方とおすすめプラグインで紹介しているような自動バックアップの仕組みを整えておくことです。エラーで画面が壊れても、直前の正常な状態に戻せる手段があるだけで精神的な余裕がまったく違います。

また、プラグインやテーマ、WordPress本体のアップデートは、公開前のテスト環境(ステージング環境)がない場合、まとめて一斉更新するのではなく1つずつ様子を見ながら行うと、原因の切り分けが格段に楽になります。加えてWordPressセキュリティ対策で解説しているような不正アクセス対策も、乗っ取りが原因のエラーを防ぐうえで欠かせません。

自分で解決できない時の判断基準

ここまでの手順を試しても直らない場合や、FTP操作やファイル編集に不安がある場合は、無理に自己解決を続けず専門家に頼ることも大切な選択肢です。多くのレンタルサーバーはサポート窓口を用意しており、エラー画面のスクリーンショットや直前に行った作業内容を伝えると、状況に応じた対応方法を案内してもらえます。サイトが事業として収益を生んでいる場合は、長時間の表示停止がそのまま機会損失につながるため、サポートへの問い合わせや制作会社への相談を早めに検討したほうが結果的に損失を抑えられることも多いです。

特に、そもそもの環境選びの段階で対応が手厚いサーバーを選んでおくことも予防策の1つです。表示速度やサポート体制に定評のあるサーバーの選び方は、こちらの記事でも詳しく解説しています。

レンタルサーバー選びに迷ったら。初心者にXserverをおすすめする理由
レンタルサーバー選びに迷っている方向けに、Xserverが初心者におすすめな理由とプランの選び方、申し込みから公開までの流れをわかりやすく解説します。

まとめ

WordPressのエラーは、症状ごとに原因の傾向がある程度決まっています。焦らず「直前に何をしたか」「エラーメッセージの内容」「サイト全体か一部か」を確認し、プラグインやテーマの切り分け、.htaccessやwp-config.phpの確認といった基本の手順を1つずつ試せば、多くのケースは自分で解決できます。同時に、日頃からのバックアップとセキュリティ対策こそが最大の予防策です。今回紹介した手順を、いざという時のためにぜひブックマークしておいてください。

コメント

タイトルとURLをコピーしました