2026年8月8日

2026年8月8日

WordPressで「wp-includes/version.php is missing」エラーが出たときの修復手順

「wp-includes/version.php が無い(is missing)」というエラーは、WordPress本体のファイルの一部がサーバー上から消えているか、読めなくなっている状態を表します。version.php はWordPressのバージョン番号を記録した小さなファイルで、読み込みの最初の段階で使われるため、これが無いとサイトも管理画面も表示されません。この記事では、エラーの表示から状況を見分ける方法、原因の多い順の確認、同じバージョンの本体ファイルを入れ直して直す手順を説明します。本体のファイルを入れ替える作業なので、始める前にファイルとデータベースのバックアップを取ってください。

エラーの表示から状況を見分ける

このエラーは、どこで確認したかによって表示が変わります。

ブラウザやPHPのエラーログでは、次のような形で記録されます(文言はPHPのバージョンによって少し異なります)。

PHP Warning:  require(/home/user/public_html/wp-includes/version.php): Failed to open stream: No such file or directory in /home/user/public_html/wp-settings.php on line 34
PHP Fatal error:  Uncaught Error: Failed opening required '/home/user/public_html/wp-includes/version.php' (include_path='.:/usr/share/php')

ブラウザには真っ白な画面や、短いエラー表示しか出ないことも多いので、サーバー会社のコントロールパネルにあるPHPのエラーログを確認してください。行番号は本体のバージョンによって変わります。

見るべきなのは「Failed to open stream:」の後ろの部分です。

  • No such file or directory: ファイルが存在しない。この記事の手順で入れ直す
  • Permission denied: ファイルはあるが、PHPから読めない。後述の原因4のとおり、権限や所有者を確認する

サーバー会社の「WordPress簡単インストール」などの管理機能や、WP-CLI、セキュリティ系プラグインの検査で「version.php is missing」と表示される場合も、意味は同じです。これらのツールはversion.phpを読んでバージョンを判断しているため、ファイルが無いと「WordPressが見つからない」と表示されることもあります。

状況は、サーバーにログインできればコマンドで確かめられます。

cd /home/user/public_html
ls -l wp-includes/version.php
grep "wp_version =" wp-includes/version.php

ファイルがあれば、2行目で $wp_version = '6.x.x'; のようなバージョンの行が表示されます。FTPソフトしか使えない場合は、wp-includes フォルダーを開き、version.php があるか、サイズが0バイトになっていないかを確認します。

よくある原因(多い順)

1. 本体の更新が途中で止まった

もっとも多いのが、自動更新や手動の更新の途中で処理が止まったケースです。更新ではファイルを順に入れ替えるため、タイムアウトやディスク容量の不足、通信の切断が起きると、一部のファイルだけが古い・無い状態で残ります。更新の直後からエラーが出始めた場合はこれが考えられます。

サイトのルートに .maintenance というファイルが残っていると、エラーを直したあとも「メンテナンス中」の表示が続きます。更新が終わっていないことの目印にもなるので、あわせて確認します。

2. アップロードや移行で転送が漏れた

FTPで本体を手動アップロードしたときや、サーバー移行でファイルをコピーしたときに、一部のファイルが転送されないことがあります。FTPソフトの転送ログに失敗の記録がないか、移行元と移行先でフォルダーのファイル数が合っているかを確認します。この場合、version.php 以外のファイルも欠けている可能性が高いので、後述の検証で全体を確認します。

3. セキュリティ機能による隔離・削除

サーバー会社のウイルス検査や、改ざん検知の機能が、書き換えられた本体のファイルを隔離したり削除したりすることがあります。コントロールパネルやサーバー会社からの通知に、検知・隔離の記録がないか確認してください。この場合は、ファイルを入れ直すだけでは足りず、改ざんの原因(古いプラグイン、漏れたパスワードなど)を調べる必要があります。ほかにも見慣れないファイルが増えていたり、管理者ユーザーが増えていたりしないかも確認します。

4. ファイルの権限や所有者の問題

エラーが Permission denied の場合は、ファイルはあっても、PHPを動かしているユーザーから読めない状態です。サーバー移行や、root権限で作業したあとに所有者が変わったときに起きます。一般的な共用サーバーでは、ファイルは 644、フォルダーは 755 が目安です。権限や所有者を変える前に、現在の設定を控えておいてください。

5. 読み込むパスが違う

ファイルが確かに存在し、権限も正しいのにエラーになる場合は、エラーに表示されたパスと、実際にファイルがあるフォルダーが違っていないか確認します。サイトを別のフォルダーに移したあとで、wp-config.php や index.php の読み込み先が古いまま、というケースです。

修復手順:同じバージョンの本体を入れ直す

version.php 1つだけを置き直しても動くことはありますが、原因1〜3では、ほかのファイルも欠けていたり古かったりすることが多いため、wp-admin と wp-includes をまとめて入れ直すのが安全です。

バージョンを決める

入れ直すのは、本来入っていたのと同じバージョンが理想です。分からない場合の手がかりは次のとおりです。

  • 直前のバックアップの中にある wp-includes/version.php
  • サーバー会社の管理画面に表示されているWordPressのバージョン
  • 更新の途中で止まった場合は、更新先のバージョン(多くは最新版)

データベースは、更新の途中で新しいバージョンの形式に変わっていることがあるため、迷った場合は、更新先だった新しいバージョンを選ぶのが無難です。古いバージョンのファイルを新しい形式のデータベースに組み合わせると、別の不具合が起きることがあります。過去のバージョンは、WordPress.orgのリリース一覧から入手できます(2026年10月現在)。日本語版は日本語のWordPress.orgのダウンロードページから入手します。

FTPで入れ直す場合

  1. ファイルとデータベースのバックアップを取る
  2. 決めたバージョンのZIPをダウンロードし、PCで展開する
  3. サーバー上の wp-admin と wp-includes を、展開したもので上書きする
  4. ルートにある wp-load.php、wp-settings.php などの本体ファイルも上書きする。ただし wp-config.php は上書きしない(展開したフォルダーには wp-config-sample.php しか入っていないので、通常は上書きされません)
  5. wp-content フォルダーはアップロードしない。テーマ・プラグイン・アップロード画像が入っており、上書きすると設定や画像を失うおそれがあります
  6. ルートに .maintenance が残っていれば削除する

上書きのアップロードは時間がかかるので、途中で切断されていないか、FTPソフトの転送ログで失敗がないかを最後に確認します。

WP-CLIで入れ直す場合

サーバーでWP-CLIが使えるなら、wp-content を除いた本体だけを上書きでダウンロードできます。バージョンの 6.x.x の部分は、決めたバージョンに置き換えてください。

cd /home/user/public_html

# 本体を上書きでダウンロード(wp-content は含めない)
wp core download --version=6.x.x --locale=ja --skip-content --force

# 公式のチェックサムと照合して、欠け・改変がないか確認
wp core verify-checksums

wp core verify-checksums は、本体の各ファイルが公式に配布されたものと一致するかを照合し、一致しないファイルや存在しないファイルを警告として表示します。警告が出なければ、本体のファイルはそろっていると判断できます。本体に含まれないはずのファイルがあると報告された場合は、改ざんの名残の可能性があるので、中身を確認してから扱いを決めます。

修復後の確認

ファイルを入れ直したら、次の順に確認します。

  • サイトのトップページと管理画面が表示されるか
  • 管理画面に「データベースの更新が必要です」と表示された場合は、案内に従って更新する(WP-CLIなら wp core update-db)
  • 「ダッシュボード > 更新」で、表示されるバージョンが意図したものか
  • エラーログに新しいエラーが記録されていないか

原因が更新の失敗だった場合は、再発を防ぐため、空き容量やPHPの実行時間の制限に余裕があるかも確認しておきます。セキュリティ機能による削除が原因だった場合は、パスワードの変更、使っていないプラグインの削除、すべてのプラグインとテーマの更新まで済ませてください。

まとめ

  • 「wp-includes/version.php is missing」は、本体のファイルが消えたか読めない状態で、サイト全体が止まる
  • エラーログの「Failed to open stream」の後ろを見て、ファイルが無いのか、権限で読めないのかを見分ける
  • 原因は、更新の中断、転送漏れ、セキュリティ機能による削除、権限、パスの順に多い
  • 修復は、バックアップのうえで同じバージョンの wp-admin・wp-includes・ルートの本体ファイルを入れ直す。wp-config.php と wp-content は上書きしない
  • WP-CLIが使えるなら、wp core download --skip-content --force と wp core verify-checksums で、入れ直しと検証まで行える

お気軽にご相談ください

お見積りへ お問い合わせへ
▲