500エラーはサーバー内部でエラーが発生していることを表すHTTPステータスコードのことです。基本的に放置して直るものではありません。原因を特定して、改善しなければなりません。
Elementorで500エラーが発生する4つの理由
原因その1:WAF
WAFは「ウェブアプリケーションファイヤーウォール」の略称です。細かい話をぶっ飛ばして話すと、国内外からの攻撃を守ってくれる技術です。WAFをオンにすることでサイバー攻撃から守ってくれるものです。
2024年7月現在、WAFをONにしたままでもエラーは表示されなくなりました。
私が経験した500エラー発生の90%はこの「WAF」が原因でした。サーバーのWAFをオフにすることで500エラーを回避できる可能性は高いはずです。ですからOFFにすることは基本的にNGです。そのため、Elementorで編集するときだけオフにして、編集が終わったらONに戻しておく必要があります。
シンレンタルサーバーでWAFを解除する方法
シンレンタルサーバー管理画面のメニューにある「WAF設定」をクリックしてください。その後、WAFをオフにするドメインの「選択する」をクリックします。
WAF設定の変更欄を「OFF」にしましょう。(すべてをOFFにする必要はないと思いますが、どれが原因で500エラーを出しているのかまだ特定していないので、私は全てOFFにしています)
OFFにしたら「確認画面へ進む」をクリックしてください。その後「設定する」をクリックすると完了です。最大1時間程度で反映されます。
Conoha WingでWAFを解除する方法
WAFを解除する方法はカンタンです。Conoha管理画面からサイト管理、サイトセキュリティ、WAFの順にクリックしてください。WAFの利用設定を「OFF」にすることによって解除することができます。
原因その2:メモリ不足
ウェブサイトに割り当てられたメモリが足りないときに発生するケースです。Elementorが正常に機能するには、128 MB (最小) のメモリが必要ですが、512MBまでメモリを引き上げることをオススメします。多くの人はワードプレスでElementorだけではなく、他のプラグインを使うことが多いため128MB程度のメモリでは足りません。
これからサーバーを契約する人は、メモリ不足が原因で500エラーが出ることはほとんどないかもしれません。というのも、最近のサーバーは高性能で最初からメモリ設定が512MB、1GBに設定されていることが多いようです。(ただし、確認は必要です)
サーバーのメモリがどれぐらいなのか確認してみましょう。
ワードプレス管理画面のメニュー「Elementor」から「システム情報」をクリックしてください。すると「PHP Memory Limit」と表示された場所があるはずです。私の場合は「1G(ギガバイト)」であるため最小メモリの8倍程度割り当てられていることがわかります。
もし、あなたのシステム情報でPHP Memory Limitが512MB以下だった場合、サーバー上でメモリ上限を引き上げる必要があります。このウェブサイトを運用しているサーバー「シンレンタルサーバー」での設定方法はこちらです。Xserverも同じインターフェースなので同じように設定できるはずです。
シンレンタルサーバーでmemory_limit上限を引き上げる方法
シンレンタルサーバーの管理画面にログインしましょう。サーバー管理画面のメニューから「php.ini設定」をクリックしましょう。クリックしたら、その後、メモリ上限を引き上げるドメインを選択します。
多くの項目が並んでいますがその中から「memory_limit」を見つけましょう。その右側に「256MB」や画像のように「1GB」のように記載があるはずです。ここに512MB、1024MB、1GBなどと入力してメモリ上限を引き上げます。
入力が完了したら「確認画面へ進む」をクリックしましょう。次のページで確定させましょう。このメッセージが表示されればOKです。反映までに数秒~数分かかります。
もう一度、Elementorのシステム情報を確認してみましょう。私は先ほどmemory_limitを2Gと設定しました。このようになっていればOKです。
これでエラーが表示されるのであれば、メモリ不足が原因ではないと思うので、次の対策を取りましょう。
Conoha Wingでmemory_limit上限を引き上げる方法
Conoha Wingの設定方法も紹介します。Conohaの管理画面からサイト管理、サイト設定、応用設定の順番にクリックします。
応用設定の「PHP設定」をクリックするとセクションが展開されます。そこに「memory_limit = xxx」と数値と文字が記載されているはずです。このxxxの部分を書き換えましょう。この画像では1536MBに設定されています。Elementorの推奨が512MBなので「512MB」もしくはさらに多く「1024MB」と書いておくとよいでしょう。
もし、この記述がなければこれをコピーして使ってください。
memory_limit = 512M
memory_limit = 1024M
書き換えが終わったら忘れずに「保存」を押してください。保存したらElementorのシステム情報を確認してください。
原因その3:プラグインのバッティング
使用しているプラグインがElementorだけではない場合(ほとんどの人はプラグインを複数入れていると思います)は、Elementorと他のプラグインの相性によって500エラーが発生している可能性があります。
バッティングをチェックするために、Elementor以外のプラグインをひとつずつ停止させていくことになります。そのため、プラグインを停止する前にバックアップをとっておきましょう。All in One WP Migration、Updraftなどのプラグインでバックアップを取っておきましょう。
プラグインの停止はワードプレス管理画面の「プラグイン」をクリックし、Elementor以外のプラグインを止めましょう。一気に全てを停止させるのではなく、ひとつずつ停止させ500エラーが出ないかチェックしましょう。エラーが出るならまた別のプラグインを停止させてチェック。この流れでどのプラグインとElementorがバッティングしているのか判断する必要があります。
もし、ここでプラグインのバッティングでエラーが出ているなら、そのプラグインがアップデートされるまで停止させておく必要があります。ということはそのプラグインはその間、使うことができなくなります。選択肢としては「停止させてたプラグインと同じようなプラグインを代わりに導入する「か「アップデートまで待つか」のどちらかです。
原因その4:PHPエラー
function.phpに書いたPHPが原因でエラーが発生している可能性もあります。「function.php」と言われてピンとこないのであれば、これが原因ではないでしょう。
少しでも弄った記憶があるのであれば、function.phpに記述したコードを消してチェックしてみてください。(消す前にコピーしてくださいね)