WordPressで公開済みの投稿や固定ページを開いたのに「404 Not Found」「ページが見つかりません」と表示される場合、URL、パーマリンク、rewrite、公開状態などを順番に確認します。
一方、削除したURLや最初から存在しないURLが404になるのは正常です。この記事では「直すべき404」と「そのままでよい404」を分け、必要な操作だけを行えるように整理します。404以外のステータスも含めて見分けたい場合はWordPressのHTTPエラー一覧から確認できます。
WordPressの404エラーとは
404 Not Foundは、対象URLに現在のリソースが見つからない、またはサーバーが存在を公開しない場合に使われるHTTPステータスです。WordPressでは、URLを受け取ったあとにパーマリンクのrewrite rulesを使って投稿や固定ページを特定するため、この対応関係が崩れるとコンテンツ自体が存在していても404になることがあります。
最初に「そのURLは本来存在するべきか」を確認してください。存在すべきURLなら復旧対象、削除済みで代替もないURLなら正しい404として残す判断もあります。
最初に確認する|どこで404が出ているか
404の範囲で原因候補を絞れます。管理画面で変更する前に、対象URLと発生範囲を記録します。
特定の投稿・固定ページだけ404になる
対象ページの公開状態、スラッグ、親ページ、URLの入力ミスを確認します。公開URLを管理画面から直接開き、手入力したURLとの差も見ます。
URLを最近変更している場合は、旧URLから新URLへのリダイレクトが必要か確認します。
投稿や固定ページがまとめて404になる
トップページは開くのに投稿だけ404になる場合は、パーマリンクやWebサーバーのrewriteが有力です。設定変更やプラグイン導入の直後なら、その変更も候補になります。
存在しないURLが404になる
削除済みで代替ページがないURL、単純な入力ミス、外部から誤ってリンクされたURLなどは、404を返すことが適切な場合があります。404を見つけたからといって、すべてリダイレクトする必要はありません。
投稿・固定ページが存在するのに404になる原因と直し方
原因を切り分けるときは、設定を一度に複数変えないことが重要です。1項目ずつ変更し、その都度対象URLを確認します。
パーマリンク設定を再保存する
WordPress管理画面の「設定」→「パーマリンク」を開き、現在の構造を確認します。意図した構造になっているなら、設定内容をむやみに変更せず「変更を保存」でrewrite rulesを再生成することで直る場合があります。
パーマリンク構造そのものを変更すると既存URLが変わる可能性があります。基本設定の考え方はWordPressのパーマリンク設定で確認してください。
.htaccess・rewrite rulesを確認する
ApacheやLiteSpeed系の環境では、WordPressのパーマリンクに.htaccessのrewriteが使われることがあります。ファイルを編集する前にコピーを保存し、WordPressが生成するルールと大きく違っていないか確認します。
Nginxでは通常.htaccessを使わないため、同じ手順をそのまま適用できません。ホスティングのサーバー構成に合わせてrewrite設定を確認してください。サーバー種類が分からない場合は、自己判断で設定ファイルを書き換えるよりサポートへ確認する方が安全です。
プラグイン・テーマ・カスタムコードを切り分ける
カスタム投稿タイプ、独自のrewrite、SEO・リダイレクト系プラグインなどがURLルールを追加していると、競合で404になることがあります。
直前に追加・更新したものがあれば、検証環境やバックアップを用意したうえで切り分けます。本番で複数プラグインを一度に停止すると、フォームやECなど別機能まで影響するため避けます。
URL変更・削除・移行後に404になる場合
URLを変えたあとに旧URLが404になるのは、旧URLから新URLへの転送を設定していなければ自然な結果です。コンテンツが同じ目的の新URLへ移動したなら301リダイレクトを検討します。
サイト移行後に多数のURLが404になる場合は、ドメインやサブディレクトリだけでなく、パーマリンク構造、WordPressアドレス、Webサーバーのrewrite、移行時のURL置換も確認します。個別のリダイレクト設定はWordPressのリダイレクト設定へ分けます。
404を301リダイレクトするべきケース
| 旧URLの状態 | 基本的な考え方 |
|---|---|
| 同じ内容が新URLへ移動した | 新URLへの301を検討 |
| ページ統合で明確な代替先がある | 最も近い代替ページへの301を検討 |
| 完全削除で代替ページがない | 404または410を維持 |
| 入力ミスで存在したことがない | 原則404。頻発する誤URLだけ必要に応じて転送 |
存在しないURLをすべてトップページへ転送すると、ユーザーが期待した内容に到達できず、検索エンジンからsoft 404として扱われる原因にもなります。転送先は「同じ検索意図を満たすページ」がある場合に限定します。
Search Consoleで404を見つける
Google Search Consoleのページインデックス登録レポートでは、Googleが検出した404やsoft 404を確認できます。対象URLがサイトマップや内部リンクから送られている場合は、元のリンクも修正します。
404一覧をゼロにすること自体を目標にしません。削除済みで代替がないURLなら正しい404を返し、内部リンクやサイトマップからは除くという状態で問題ありません。
404とsoft 404のSEO上の違い
通常の404はHTTPステータスとして404を返します。soft 404は、実質的にはエラーページなのに200を返したり、無関係なページへ転送したりして、検索エンジンが「実質404」と判断する状態です。
独自デザインの404ページを作る場合も、見た目を整えるだけでなくHTTPレスポンスが404のままか確認してください。Googleは、存在しないURLに404または410以外を返したり、ホームページなどへ一律転送したりすることをsoft 404の原因として説明しています。
404ページ自体を作り直したい場合
「存在する投稿が404になる問題を直すこと」と「存在しないURLで表示する404ページをデザインすること」は別作業です。
404ページへホーム、検索、主要カテゴリーなどの導線を置きたい場合は、WordPressの404ページの作り方でブロックテーマとクラシックテーマに分けて確認してください。
よくある質問
現在のパーマリンク構造を変更せずに保存するだけなら、通常は既存スラッグを別の文字列へ変更する操作ではありません。ただし、構造自体を変更するとサイト全体の投稿URLに影響するため、現在値を確認してから操作してください。
いいえ。明確な移動先や代替ページがあるURLだけ301を検討します。代替がない削除URLや存在しないURLは404または410のままが適切な場合があります。
直りません。404ページのカスタマイズは、404になったときの表示を整える作業です。存在すべき投稿が404になる問題は、パーマリンクやrewriteなど別の原因を直す必要があります。
まとめ
WordPressの404は、まず「本来存在するURLか」を判断します。存在する投稿なら公開状態、パーマリンク、rewrite、URL変更、プラグイン競合を確認します。
削除済みで代替がないURLは正しい404として残し、移動先がある場合だけ301を検討してください。404を無理にゼロにするより、URLの実態とHTTPレスポンスを一致させることが大切です。