Wordpressが正常に表示されなくなる原因は多種多様で、アクセス時にエラーが表示されることもあれば、画面が真っ白になることもあります。
原因を網羅することはできませんが、この記事ではよく起きそうなエラーと共にWordpressにアクセスできなくなる原因とそれぞれの対処法をまとめます。
この記事を参考に問題解決の糸口をつかんでいただければ幸いです。
エラーが発生している状態でも作業の前に必ずバックアップは取りましょう。
この記事の目次
WordPressが表示されない原因と対処法
Wordpressサイトが正常に表示されなくなる原因には以下のようなものがあります。
- functions.phpなどのphpファイルに問題がある場合
- Wordpressアドレスを変更してしまった場合
- .htaccessの記述や権限に問題がある場合
- データベースに問題がある場合
- プラグイン・テーマが原因の場合
- キャッシュが問題の場合
- サーバーが原因の場合
原因が発生しやすい箇所を大きく分けると以下のように分けることが出来ます。
- Wordpressを構成するプログラムファイル(PHPやJAVAが主)
- Wordpress自体の設定やサーバーの設定
- Wordpressに使用するデータベース
- 使用中のテーマやプラグインなどの環境
もちろんこの他にも様々な原因が考えられるのですが、この記事では実際に発生するエラー内容と共に各項目の対処方法をまとめます。
エラーが発生した直前に変更(アップデート)したファイル自体が問題になっていることが非常に多いため、Wordpressサイトにエラーが発生する前にどのような作業を行っていたかを思い出すことが原因の特定に大切です。
ポイント
サイトが真っ白という場合はまずキャッシュを疑ってみて下さい。
(サーバーキャッシュとブラウザキャッシュの両方をキャッシュクリアする)
では順番に確認していきましょう・w・
自サイトで発生しているエラーに近いものを探していただければと思います。
functions.phpが原因の場合
初心者、上級者問わず良く発生してしまうエラーがphpのコーディングミスです。
特にfunctions.phpはコードをコピペして使用しがちなのでよくエラーが発生します。
このサイトで重大なエラーが発生しました。対応手順については、サイト管理者のメール受信ボックスを確認してください。
phpファイルのコード(中身)にエラーがあると「Parse error:」や「Fatal error:」といったエラーメッセージが発生します。
この場合はエラーメッセージにどのファイルにエラー原因があるか書かれていることが多いのでこのエラーを見て対処しましょう。
(例の画像では\functions.php on line 16のところ。)
functions.phpの編集ミスでエラーが発生した時の解決策は別の記事にまとめました↓
-
- functions.phpを編集ミスした時の復旧方法。サイトで重大なエラーが発生した時の対処法です。
続きを見る
とりあえずfunctions.phpのコード(中身)を元通りに戻せばOKです。
WordPressのデバッグ機能について
functions.phpに限らず、phpファイルにエラーが発生した時にエラーの原因解明に役立つ機能としてWordpressのデバッグ機能があります。
Wordpressのコアファイルの大半はPHPで動作するので、このデバッグ機能についても知っておくといざという時に役立つかもしれません…のでここで触れておきます。
Wordpressデバッグ機能の使い方
デバッグ機能を使う方法は簡単で「wp-config.php」というファイル内のコードを「false」から「true」に変更し、デバッグ機能をONにするだけで使えます。
まず編集するファイル「wp-config.php」にFTPソフトなどでアクセスします。
「wp-config.php」はWordpressがインストールされているフォルダ内にあります。
具体的には「wp-admin」や「wp-content」フォルダと同じ階層に存在します。
続いてwp-config.phpを開き、70行目付近にあるdefine( 'WP_DEBUG', false );
のfalse部分をtrueに変更してデバッグ機能をONにしましょう。
wp-config.php
■デフォルト時(デバッグ機能オフ)
define( 'WP_DEBUG', false );
wp-config.php
■変更後(デバッグ機能オン)
define( 'WP_DEBUG', true );
こんな感じです。
画像も載せておきます。
変更したら保存してサイトにアクセスしてみましょう。
デバッグ機能がオフだとこんな感じです。
デバッグ機能をオンにするとNoticeメッセージが表示されるようになり、どの関数でエラーが発生しているのか特定しやすくなります。
なお、エラーによってはログイン後の管理画面にも表示されるようになります。
注意ポイント
エラー修正後は必ず変更したtrueをfalseに戻しておきましょう。
(公開ページにエラーが表示される可能性があるため。)
エラーの原因がWordpress本体なのか、プラグインなのか、テーマなのか…
開発者ではなくても原因箇所の特定には役立つはずです。
WordPress設定やパーマリンクが原因の場合
今まで正常に表示出来ていたWordpressサイトが設定の変更によって404 Not Foundになり、アクセスできなくなる事も多々あります。
Wordpress設定の「WordPressアドレス(URL)」や「サイトアドレス(URL)」を変更した時や、パーマリンク設定を変更した時などによく起こります。
初心者の方がやってしまいがちなミスでもあります。
一般設定にあるWordpressアドレスを誤って変更してしまうと、変更保存と同時に404 Not Foundエラーが発生し、管理画面にすらアクセスできなくなります。
こちらの対処法については別の記事で詳しく解説しています↓
-
- WordPressアドレス、サイトアドレスを変更後、管理画面にログインできなくなった時の対処法を徹底解説!
続きを見る
パーマリンクを元に戻す・更新する
Wordpressではパーマリンク設定を変更すると記事ページのURLが変更されます。
もしも記事ページが404 Not Foundになる場合はパーマリンクを変更前の設定に戻すと元に戻るかもしれません。
また、パーマリンク構造を変更していない場合でも1度「変更を保存」ボタンを押すことで自動的に.htaccessの値が書き換えられ、リダイレクトがうまくいって治るかもしれません。
意外とこのパーマリンクが原因で404 Not Foundが出ることは多いです。
.htaccessが原因の場合
サーバー上の「.htaccess」というファイルにミスがあったり、適切なパーミッションが設定されていない場合もWordpressサイトにアクセスできなくなります。
.htaccessが原因の場合は以下のようなエラーメッセージが発生します。
- Internal Server Error
- Forbidden
基本的には自分で編集しない限り適切に記述、設定されているはずのファイルですが、何らかの影響で変更されている可能性もあります。
.htaccessはプラグインによって書き換えられることもあります。
Internal Server Errorが出る場合
まず1つ目のInternal Server Errorですが、これはWebサーバーに何らかの問題が起こっており、ページが閲覧できない事を示すエラーです。
原因は多数ありますが、.htaccessの内容が正しくないとこのエラーが出ます。
この場合は.htaccess内のコードと次のポイントを確認しましょう。
- 全角スペースが混じっていないか?
- 変な箇所に改行やスペースがないか?
- 文字コードは間違っていないか?
- 最終行に空行はあるか?
Forbiddenが出る場合
続いてForbiddenエラーですが、これはユーザーにアクセス権がない時に出ます。
この場合は.htaccessのパーミッションが適切ではない可能性があります。
サーバーによってパーミッションは異なるのですが、Wordpressの.htaccessで推奨される値は「604」「606」あたりです。
「0644」となっている所もあるので適宜パーミッションが適切か調べましょう。
内容とパーミッションを確認したら手を打ちましょう。
.htaccessは下層のフォルダに影響し、基本的には一番上層の.htaccessが対象です。
なお、パーミッションの変更はサーバー会社のツールで簡単に行うことが可能です。
データベースが原因の場合
データベース接続確立エラーが出てWordpressサイトにアクセスできない時はデータベースに原因があります。
この場合、データベース接続情報が間違っているか、データベースそのものが破損してしまっている可能性が高いです。
こちらの対処法についても別記事で詳しく書いています↓
-
- 【Wordpress】データベース接続確立エラーの対処方法。
続きを見る
まず「wp-config.php」の内容を確認し、データベースのテーブルが破損していないかもチェックしましょう。
プラグインが原因の場合
Wordpressでは導入しているプラグインや、プラグイン同士の干渉によってもエラーが発生しサイトにアクセスできなくなる事もあります。
(特に自動アップデートを有効にしている場合はある日突然エラーという事も…)
このサイトで重大なエラーが発生しました。
冒頭のfunctions.phpのエラー時よりも短いエラーメッセージが表示されました。
(どのようにエラーを出し分けているのか分かりませんが…)
このようなエラーが出た時はプラグインを一度無効化してみるのが良いです。
FTPからプラグインを無効化する方法
通常、プラグインの無効化はWordpressの管理画面から行えますが、エラーが発生している場合はそもそもログインできない事が多いです。
そこでFTPソフトを使ってプラグインを一時的に無効にする方法です。
管理画面にログインすることなくプラグインを無効化するには、プラグインが入っているフォルダ名を別の名前に変更し、プラグインを読み込めなくするだけでOK!
プラグインが入っているフォルダの場所は以下です。
/wp-content/plugins/プラグイン名
例えばAkismet Anti-Spamを停止したい場合プラグインのフォルダである「akismet」のお尻に「_○○」のような文字列を追加すればOKです。
こうしておけば再度プラグインを有効化する時に「_○○」部分を削除するだけになるので分かりやすくなります。
エラーの原因になっていそうなプラグインを一時停止することでサイトにアクセスできるようになるかもしれません。
ポイント
キャッシュ系プラグインなどサイト表示に関するプラグインが怪しいかも…
サーバーそのものが原因の場合
上記のような内容に当てはまらず「500エラー」や「Request Timeout」が発生している場合です。
設定変更もアップデートもしておらず、ファイルの編集も行っていない…
けれど、ある日突然Wordpressサイトが表示されなくなった時は、サーバーそのものがダウンしていないのかを確認しましょう。
レンタルサーバー会社のトップページで障害情報が公開されているはずです。
サーバーがメンテナンス中であったり、国内の有名サーバーでもごく稀にダウンしている可能性があります。また、アクセス過多でメモリエラーが発生している可能性も考えられます。
いずれにしてもこのような状態のときは直ぐに復旧することが多いですが…
まとめ
Wordpressが真っ白になった!エラーが発生してサイトにアクセスできない!
そんな時に考えられる原因と対処法を実際の経験を元にまとめてみました。
とはいえ、DNSやサーバーの設定ミスなどWordpressにアクセスできなくなる原因は他にも山ほどあります…
どうしてもダメな時は正常に表示されていた時のサイトバックアップで丸ごと上書きする方が速かったりするのかもしれません。