WordPressで固定ページが表示されない(404)時の原因と直し方

目次
  1. 404の画面が、サーバーのものかWordPressのものかを見る
  2. 個別のページで「Not Found」なら、.htaccessを疑う
    1. .htaccessの「BEGIN WordPress」の記述が消えているかも
    2. 「パーマリンク設定」で「変更を保存」を押すと、直ることが多い
  3. サイトのデザインで「ページが見つかりません」なら、公開状態を見る
    1. 下書き・非公開にしたページは、見つからない扱いになる
  4. URLを変えたあとなら、古いURLが見つからなくなっている
    1. URLを戻すか、古いURLからの転送を設定する
  5. まとめ

WordPressのページを開くと「404 Not Found」や「ページが見つかりません」の文字が…。

ページが見つからない(404)時は、出ている画面の種類で、原因は変わってきます。

多いのは、ページのURL(スラッグ)を変えていたり、.htaccessからWordPressの記述が消えていたり、ページを下書きや非公開にしたり、といったことですね。この場合は、記述を戻す、公開に戻す、URLを戻すか転送を設定する、で表示は戻るはずです!

1つ1つのパターンごとに対応を確認していきましょう。

404の画面が、サーバーのものかWordPressのものかを見る

まずは、出ている「見つかりません」の画面を見てみましょう。2種類あります。

白い画面に「Not Found」「The requested URL was not found on this server.」
サーバーの404。サイトのデザインがまったく出ない
サイトのデザインのまま「ページが見つかりません」と出ている。ヘッダーはいつもどおり表示されている
WordPressの404。サイトのデザインのまま出る
出ている画面疑うところ
英語の「Not Found」や、サーバー会社の404の画面(サイトのデザインではない).htaccessのWordPressの記述
サイトのデザインのまま「ページが見つかりません」ページの公開状態・URL(スラッグ)

サイトのデザインが出ていないなら、WordPressまで届いていない、ということですね。デザインが出ているなら、WordPressは動いていて、そのURLのページが見つからない、ということです。

個別のページで「Not Found」なら、.htaccessを疑う

トップページは、いつもどおり表示されるけれども、下層ページで404 Not Foundになるケースです。

トップページが普通に表示されている。メニューに「会社案内」がある

ところが、メニューから「会社案内」などのページを開くと、次の画面になります。

白い画面に「Not Found」「The requested URL was not found on this server.」

※ 見た目はサーバー会社によって違います(サーバー会社独自の404の画面が出ることも多いです)。

.htaccessの「BEGIN WordPress」の記述が消えているかも

WordPressは、/company/のようなページのURLを開いた時に、.htaccessに書かれた記述を使って、WordPressの本体に案内しています。トップページだけ出るのは、トップページはこの案内がなくても開けるためです。

正しい.htaccessには、「# BEGIN WordPress」から「# END WordPress」までの記述があります。

.htaccessの中身。「# BEGIN WordPress」から「# END WordPress」までの記述がある

※ 画面の見た目は、サーバー会社やFTPソフトによって違います。

この記述が消えていると、個別のページだけが「Not Found」になります。

消えてしまうのは、たとえばこんな時

  • 別の設定を足すつもりで、.htaccessを丸ごと上書きしてしまった
  • サーバーの引っ越しやバックアップからの復元で、.htaccessだけが移っていなかった(点で始まるファイルは、FTPソフトの設定で見えないことがあります)

「パーマリンク設定」で「変更を保存」を押すと、直ることが多い

管理画面に入れるなら、まずはこれを試してみてください。

  1. 管理画面の「設定」→「パーマリンク」を開く
  2. 何も変えずに、一番下の「変更を保存」を押す

すると、WordPressが.htaccessにWordPressの記述を書き直してくれます。

サーバーの設定で.htaccessに書き込めない時は、画面の下に「.htaccessに書くべき内容」が出ます。その時は、サーバーのファイルマネージャーやFTPソフトで.htaccessを開いて、表示された内容を貼り付けます。慣れていなければ、サイトを作った会社に「個別のページだけNot Foundになる」と伝えて頼むのが早いかと思います。

記述が戻ると、すぐにページが表示されるはずです!

「会社案内」のページが、いつもどおり表示されている

サイトのデザインで「ページが見つかりません」なら、公開状態を見る

サイトのデザインのまま「ページが見つかりません」と出る時は、WordPressは動いています。まず確かめるのは、そのページが公開になっているかです。

下書き・非公開にしたページは、見つからない扱いになる

ページを下書きに戻したり、非公開にしたりすると、ログインしていない人には「ページが見つかりません」になります。

サイトのデザインのまま「ページが見つかりません」と出ている。メニューから「会社案内」が消えている

非公開のページは、管理者などログインしている人には見えます。なので、「自分では見えるのに、お客様には見えない」ということが起きます。

確かめる時は、ログインしていない状態(ブラウザのシークレットウィンドウなど)で開いてみてください。

直し方は、管理画面の「固定ページ」の一覧で、そのページの状態を見て、公開に戻すことです。

URLを変えたあとなら、古いURLが見つからなくなっている

ページのURL(スラッグ)を変えたあとは、古いURLを開くと「ページが見つかりません」になります。

古いURL(/company/)を開くと「ページが見つかりません」。メニューの「会社案内」はある

メニューのリンクは自動で新しいURLに変わるので、新しいURLでは普通に表示されます。

新しいURL(/about/)で「会社案内」のページが表示されている

つまり、サイトの中からはたどれるのに、次のようなところからは見つからなくなるわけですね。

  • ブックマーク
  • 名刺やチラシのQRコード
  • ほかのサイトからのリンク
  • 検索結果に出ている古いURL

URLを戻すか、古いURLからの転送を設定する

直し方は、次のどちらかです。

  • ページのURL(スラッグ)を、元に戻す
  • 古いURLから新しいURLへの転送(リダイレクト)を設定する

転送は、転送を設定するプラグインや、.htaccessで設定します。

プラグインを使うなら、「301 Redirects – Redirect Manager」がシンプルでおすすめです。管理画面で「古いURL」と「新しいURL」を入れるだけなので、.htaccessをさわらずに設定できます。

URLを変える前に、古いURLがどこで使われているか(名刺・チラシ・広告など)を思い出しておくと安心です。

まとめ

ページが表示されない(404)時の直し方をまとめると、以下のとおりです。

  1. 出ている404の画面が、サーバーのものか、サイトのデザインのものかを見る
  2. サーバーの「Not Found」で、トップだけ出るなら、「設定」→「パーマリンク」で何も変えずに「変更を保存」を押す(書き込めない時は、表示された内容を.htaccessに貼る)
  3. サイトのデザインの「ページが見つかりません」なら、ログインしていない状態で、ページが公開になっているかを確かめる
  4. URLを変えたあとなら、URLを戻すか、古いURLからの転送を設定する

WordPressでお悩みの方はお気軽にご相談ください。

ちょっとしたお困り事からサイト全体のリニューアルのようなご依頼まで、お悩みに応じて柔軟に対応いたします。

この記事を書いた人

はにわまん

HPcode代表。300件以上のWordPress案件を対応してきました。ちょっとしたWordPressのカスタマイズからブロックテーマでのリニューアルまで。更新できるWordPressサイトが好きです。