WordPress引越しで500エラーが起きる原因とその対処法

wordpress-trnsfer-500error

WordPressのWebサイトを移転する際に発生する問題として、しばしば500エラー(Internal Server Error)によりサイトが突然表示されなくなってしまうことがあります。

突然表示されなくなる上に、具体的なエラー内容も描かれていないため、何が起きたかわからず戸惑ってしまうことも多いのではないでしょうか。

しかし解決しないからといって、そのまま放置してしまうとページが表示されないだけでなく、SEOに悪い影響を与える可能性もあります。

この記事では実際にどんなエラーが発生した際にこの500エラー(Internal Server Error)が発生するのか、そして各原因の対処法を解説していきます。

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のバージョンを変更し、移転元サーバーと同じバージョンになるよう設定してあげてください。

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移転の専門として対応を行っておりますので、まずはお気軽にご相談くださいませ(^ ^)

conrtact-form

役に立ったと感じたらシェアお願いします!
SNSにて最新の情報を発信しております。
WordPressの引越しでお困りではないですか?!
  • WordPressを新しいサーバーに引越したいけどやり方が分からない
  • 無料ブログをWordPressに移行したいけど自分でやるのは不安
などのお悩みはないですか?

私たちサイト引越し屋さんは、日本初のWordPress専門サーバー移転業者として、毎月たくさんのサイトを引越しさせていただいております。

もしあなたもお悩みの場合は下記フォームよりお気軽にご相談ください。

conrtact-form