WordPressのWebサイトを移転する際に発生する問題として、しばしば500エラー(Internal Server Error)によりサイトが突然表示されなくなってしまうことがあります。
突然表示されなくなる上に、具体的なエラー内容も描かれていないため、何が起きたかわからず戸惑ってしまうことも多いのではないでしょうか。
しかし解決しないからといって、そのまま放置してしまうとページが表示されないだけでなく、SEOに悪い影響を与える可能性もあります。
この記事では実際にどんなエラーが発生した際にこの500エラー(Internal Server Error)が発生するのか、そして各原因の対処法を解説していきます。
「エラーが出てしまいサイトが表示されなくなくて困っている。」
「自分で復旧しようとしたが上手くいかずお手上げ状態。」
そんなときはサイト引越し屋さんにお任せください。
WordPress専門のエンジニアが復旧作業を代行いたします。
目次(クリックで飛べます!)
500エラー(Internal Server Error)とは?
500エラー(Internal Server Error)とは簡単に言えば「サーバー側で何かしらの問題が発生していて正常にページが表示できません」といった意味のエラーです。
「…全然解説になってないじゃないか!」って思う方もいるかも知れません。
正確にいうと500エラー(Internal Server Error)は「サーバー内のプログラムが処理できる状態ではない」場合全てにおいて発生するエラーですので、どこにエラーが発生しているのか絞り込むことが難しいエラーなのです。
そのためWordPress内のPHPのコードミスかも知れませんし、設置したサーバー設定ファイルによるものかもしれません。また関連アプリケーションのCGI設定にエラーの原因があるかもしれません。
とはいえ、WordPressの引っ越しを行う際に発生するエラーに関しては代表的な例がいくつかございますので、類推することは可能です。
以下でその代表的な例について解説していきます。
500エラーの原因と対処法
WordPressの引越しで起こる500エラー(Internal Server Error)の原因は主に以下の4つです。
- 「.htaccess」の記述に問題がある
- PHPのバージョンに問題がある
- CGIプログラムの設定に問題がある
- フォルダのパーミッション設定に問題がある
「.htaccess」の記述に問題がある
WebサーバーにApacheを使用している際に、設定ファイルとして「.htaccess」を設置します。
WordPress引っ越しの際はリダイレクト設定や公開前のアクセス制限のためにこのファイルの記述を変更することがありますが、このファイルに記述ミスなどがある場合は500エラー(Internal Server Error)が発生します。
「.htaccess」の記述は慣れないと難しいため、変更する際はこまめに変更が反映されているかを確認し、エラーが発生した場合は記述に間違いがないかをよく確認してみましょう。
もしエラー箇所が判別できない場合には、バックアップを取ったうえで下記コードだけ残して上書きしてみてください。下記コードはWordPressを動かすうえで最低限必要なコードのため、不要なコードを削除したことで解決する可能性があります。
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
サブディレクトリにてサイトを表示している場合は下記になります。
# BEGIN WordPress
RewriteEngine On
RewriteBase /サブディレクトリ名/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /サブディレクトリ名/index.php [L]
# END WordPress
PHPのバージョンに問題がある
引越し先のPHPバージョンが、WordPressのテーマやプラグインに合わないものを使っているために500エラーが起こる場合があります。
よくありがちな例は、移転元のPHPバージョンが古いにもかかわらず、移転先サーバーのPHPバージョンが新しいケースです。下記のような形です。
移転元のPHPバージョン:5.6
移転先のPHPバージョン:7.2
この場合には、サーバーの管理画面からPHPのバージョンを変更し、移転元サーバーと同じバージョンになるよう設定してあげてください。
なお、将来的にPHPのバージョンをアップしたい場合には、いきなり上げずにテストしてから実施することをお勧めします。具体的な方法についてはこちらをご覧ください。
CGIプログラムの設定に問題がある
CGIプログラムの設定にミスがある場合も500エラー(Internal Server Error)が発生します。
最近ではあまり使われませんが、メールの配信周りやお問い合わせフォーム周りなどは今でもCGIのプログラムを別途設置していることもあるため、その場合はこちらの設定に問題がないかを一度確認してみてください。
フォルダのパーミッション設定に問題がある
サーバーの各フォルダにはどの権限のユーザーが内部にアクセスができるのかを示す「パーミッション」が設定されています。このパーミッションの設定が間違っていることにより、500エラー(Internal Server Error)が発生することがあります。
パーミッションの設定はWordPressだけでなく内部のPHPやCGIなど全てに関係があるため、一概にこの設定にしたほうがいいとはいえませんが、原因としては、
- 本来WordPressやPHPのプログラムがアクセスできるはずの領域がパーミッションが狭められているため、アクセスができない。
- 本来はアクセスができない領域のパーミッションがオープンになっているためエラーが発生している。
といった2パターンのケースがあります。
WordPressの場合ではパーミッションの設定が755 (rwxr-xr-x)が正しいフォルダで700 (rwx——)となっていたり、777 (rwxrwxrwx)となってしまっているケースがよく見受けられます。
パーミッションの設定ミスはエラーを引き起こすだけでなく、場合によってはセキュリティの問題にも直結するため、おかしいと思ったら正しい設定を確認するようにしてください。
500エラーが続くとSEO評価にも影響が!
500エラー(Internal Server Error)が解決しないからと、そのページをそのまま放置する方もいるかもしれませんが、サイト管理者としてはやってはいけない行為です。
例えばあなたがユーザーだとして、検索して表示されたサイトをクリックして500エラーが出たらどう思うでしょう?明らかにマイナスイメージですよね。Googleも当然それを踏まえてSEOの評価を下げます。
したがって、SEO評価の大幅なマイナスとなります。
そのため500エラー(Internal Server Error)が出た場合はすみやかに解決しましょう。すぐの解決が難しい場合は本番からそのページを取り下げる判断が必要です。
ご自身での解決が難しく、事態が長引いてしまうような場合は専門の業者に解決してもらうことも一つの手です。
もちろん弊社でもWordPress移転の専門として対応を行っておりますので、まずはお気軽にご相談くださいませ(^ ^)
「エラーが出てしまいサイトが表示されなくなくて困っている。」
「自分で復旧しようとしたが上手くいかずお手上げ状態。」
そんなときはサイト引越し屋さんにお任せください。
WordPress専門のエンジニアが復旧作業を代行いたします。