記事を更新するたびに500エラーが出る…さくらサーバーで実際にやった対処法

記事内に商品プロモーションが含まれる場合があります。
500 Internal Server Error アクセスしようとしたページは表示できませんでした。

※ 初出:2018年7月の記事をリライト。

WordPressの管理画面で「保存」を押した瞬間、画面が真っ白になって「500 Internal Server Error」が表示された——そんな経験はありませんか?さくらインターネットのレンタルサーバーを使っているなら、このエラーにはいくつか定番の原因と対処法があります。

慌てなくて大丈夫。順番に確認していけば、たいていは解決できます。

この記事では、わたし自身がさくらサーバー上のWordPressで遭遇した500エラーの体験をもとに、実際に試して効果があった対処法をまとめています。

スクリーンショットは記事作成当時(2018年)のさくらコントロールパネル画面です。現在のUIとは多少異なる場合がありますが、操作の流れはほぼ同じです。

目次

そもそも500エラーとは?

「500 Internal Server Error」は、Webサーバー側で何らかの問題が発生し、処理を完了できなかったときに返されるHTTPステータスコードです。ユーザーには単に「サイトが見られない」状態になるので、特にアクセスの多い時間帯に起きると焦りますよね。

さくらインターネットのサポートページによると、代表的な原因として次のものが挙げられています。

  • .htaccessの記述・書式・文字コードの誤り
  • PHPのバージョンとWordPress(またはプラグイン)の非互換
  • プラグイン同士の干渉・競合
  • CGI・PHPのパーミッション設定ミス
  • サーバー負荷の増大(共有サーバー特有の問題)

原因がひとつとは限らないのがやっかいなところ。でも焦らず、上から順に確認していくのが一番の近道です。

さくらサーバーの500 Internal Server Errorエラー表示画面
さくらインターネットのサポートにも掲載されている500エラーの表示例(2018年当時)

参考:さくらサポートページ|ウェブページのエラーメッセージ

対処法① PHPのバージョンを見直す

わたしが最初にぶつかったのが、これでした。当時はPHP 5.6のまま放置していて、WordPressとの相性が悪くなっていたのです。

現在(2026年時点)、さくらインターネットの推奨バージョンは PHP 8.3 です。PHP 7.4以下は非推奨・サポート終了扱いになっているので、心当たりのある方は早めに更新しておきましょう。

変更の手順は次のとおりです。

  1. さくらのサーバーコントロールパネルにログイン
  2. 左メニュー「スクリプト設定」→「言語のバージョン設定」をクリック
  3. PHPのバージョン欄で「8.3」(推奨)を選択して「保存」
  4. WordPressの管理画面「ツール」→「サイトヘルス」→「情報」タブでバージョンが変わったか確認

ひとつ注意があって、さくらの場合、PHPバージョンの変更はサーバー内の全ドメインに一括で適用されます。複数サイトを同じサーバーで運用している場合は、他のサイトへの影響も確認してから変更してください。

変更後にサイトが真っ白になったり、別のエラーが出た場合は焦らずに元のバージョンに戻せばOKです。なお、スタンダードプラン以上であれば「バックアップ&ステージング機能(Snapup)」を使って本番に影響しないテスト環境で試すこともできます。

対処法② エラーログを確認して原因を特定する

「何かがおかしいのはわかるけど、何が悪いのかわからない」——そういうときに役立つのがエラーログです。さくらのコントロールパネルからログを確認できます。

ただしデフォルトでは保存されていないので、まずログを残す設定に変更しましょう。

  1. コントロールパネルにログイン
  2. 「アクセスログの設定」を開く
  3. 「エラーログを残す」にチェックを入れて「送信」
  4. しばらく待ってから「エラーログの表示」をクリックして確認
さくらサーバーコントロールパネルのアクセスログ設定画面(2018年当時)
「アクセスログの設定」からエラーログの保存を有効化する(画面は2018年当時のUI)

ログの内容はちょっと読み慣れが必要ですが、エラーが発生した時刻・ファイル名・行番号が記録されているので、そこから原因プラグインやファイルを絞り込めることが多いです。

さくらサーバーのエラーログ表示の例。CGIエラーが記録されている(2018年当時)
エラーログに記録されたCGIエラーの例(画面は2018年当時)

わたしのケースではCGI起因のエラーが連発していました。ただ、CGI設定の直接編集はかなり玄人向けの作業。よほど心当たりがない限りは、次の「プラグインを止める」対処から先に試すことをおすすめします。

対処法③ プラグインをすべて無効化して原因を探る

実際にわたしの500エラーが落ち着いたのは、この方法でした。PHPバージョンの変更と組み合わせて、ようやく平常に戻ったという感じです。

プラグインの干渉が原因の場合、WordPress管理画面からプラグインをすべて無効化するだけでエラーが止まることがあります。管理画面にアクセスできない状態であれば、さくらのファイルマネージャー(またはFTP)でサーバー上の /wp-content/plugins/ フォルダをリネームすることで一括無効化できます。

つまり、プラグインが入っているフォルダの名前を別の名前に変えると、WordPressがそのフォルダを認識できなくなり、全プラグインをまとめて止めることができます。

エラーが止まったら、プラグインを1本ずつ有効化して再現するものを特定します。地味な作業ですが、確実です。

テーマが原因の場合もある

プラグインを全部止めてもエラーが続くなら、テーマを一時的に公式のデフォルトテーマ(TwentyTwenty系)に切り替えてみましょう。

それで解決するなら、使用中のテーマとPHPバージョンの互換性が問題の可能性があります。

対処法④ .htaccessを確認・リセットする

プラグインの設定変更や、SSL化の作業後に突然500エラーが出た場合は、.htaccessファイルが書き換えられてしまっているケースが多いです。さくらのファイルマネージャーから .htaccess の中身を確認し、WordPressの標準的な記述と異なる部分がないか見てみましょう。

一番シンプルな対処は、いったん .htaccess.htaccess_bak などにリネームして無効化すること。これでエラーが消えれば、.htaccessの中身に問題があったということになります。

WordPress標準の.htaccess記述は、管理画面「設定」→「パーマリンク設定」を開いて「変更を保存」を押すだけで自動再生成されます。

なお、さくらサーバーでSSL化を行ったあとに .htaccess が原因でエラーが出るケースもあります。SSL化の設定については、こちらの記事も参考にしてみてください。
さくらサーバーでSSL化したのに鍵マークが出ない…混在コンテンツの直し方まで

解決しない場合はサーバー乗り換えも選択肢に

上記の対処をすべて試してもエラーが頻発する、あるいはサーバー負荷が根本的な原因と思われる場合は、思い切ってサーバーを乗り換えるのも一手です。共有サーバーである以上、他のユーザーの使い方によって影響を受ける構造的な限界があります。

わたし自身もその後、さくらサーバーからエックスサーバーへ移行しました。そのときの手順と、ドタバタした顛末を別の記事にまとめています。
さくらサーバーからエックスサーバーへの移行、トラブルだらけだったけれど解決した記録

まとめ:さくらサーバー500エラーの対処チェックリスト

対処の優先順位をまとめると、次のようになります。

  1. PHPバージョンを確認・更新する(202年現在の推奨はPHP 8.3)
  2. プラグインをすべて無効化して再現するか確認する
  3. .htaccessをリネームして問題の切り分けをする
  4. エラーログを有効化して原因ファイルを特定する
  5. テーマを一時的にデフォルトに切り替えてみる

どれも難しい操作ではありませんが、作業前には必ずバックアップを。さくらのスタンダードプラン以上であれば「バックアップ&ステージング機能」が使えるので、万が一のときの保険として有効にしておくと安心です。

なお、本記事の内容はさくらインターネットのさくらのレンタルサーバー(スタンダードプラン)を使用した場合を想定しています。

※尚、データの操作は自己責任でお願いします。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次