まず範囲を分類する
トップ、固定ページ、記事、カテゴリ、管理画面を確認します。一つだけなら削除・下書き・slug変更、全記事ならrewriteやサーバー設定を疑います。ページが表示されてもステータスが404のままなら、テンプレート表示とHTTP応答を別に調べます。
設定の確認と再保存
現在のパーマリンク設定と.htaccessなどを控えます。管理画面から再保存するとWordPressのルールを再生成できますが、カスタム投稿タイプの登録漏れやNginxの設定は別の問題です。保存で一時的に直っても、再発するなら原因を調べます。
ApacheとNginxの違い
Apacheでは.htaccessの適用条件、Nginxではserver設定やtry_filesなどを確認します。別環境の設定をそのまま貼らず、サブディレクトリ、HTTPS転送、既存ルールを含めて検証します。
URL変更時の対応
新旧URLを一覧化し、必要なリダイレクトと内部リンクを調整します。全ての404をトップへ飛ばすのではなく、該当する移転先があるか判断します。検索・カテゴリ・ページ送りまで確認し、再発条件を記録します。
再発する404を調べる
管理画面で保存するたび一時的に直り、しばらくすると戻る場合は、投稿タイプ・分類の登録タイミング、ルールの再生成、製品の有効化・更新を調べます。定期的な保存し直しを運用にする前に、どの処理がルールを変えるかを追跡します。
一覧のページ送りだけ失敗する場合
ページ数、URL、クエリ条件、カスタムテンプレートを確認します。カテゴリトップが正常でも、二ページ目のルールや投稿数に問題がある場合があります。公開記事、検索、分類ごとに確認します。
よくある質問
管理画面へ入ると直ったように見えるのはなぜですか?
特定の処理が管理画面で実行され、ルールなどを更新する構成があります。ただし現象だけで断定せず、登録と再生成の処理を調べます。
404は全てリダイレクトすべきですか?
誤URLや削除済みで移転先がない内容まで一律に転送するのは適切とは限りません。実際の移転と不要なURLを分け、該当する場合だけ設計します。