WordPressのパーマリンクが404になるのはなぜ?
WordPressを運用していると、記事URLを開いたときに突然「404 Not Found」になることがあります。特に
パーマリンク設定の変更後や
サーバー移行後に起きやすく、放置するとユーザーの離脱だけでなく、検索エンジンからの評価(SEO)にも悪影響が出る可能性があります。
このページでは、Web担当者の方が
原因を切り分けながら復旧できる手順を、できるだけシンプルにまとめます。
パーマリンク404エラーの主な原因
404の原因は「WordPress側の設定」か「サーバー側の書き換え設定」に分かれることがほとんどです。まずは代表的なパターンを押さえましょう。
1. パーマリンク設定の反映不良
管理画面でパーマリンク設定を変更したのに、サーバー側の書き換えルール(rewrite)が更新されず、URLの解釈が合わなくなるケースです。
2. .htaccess の破損・欠落
Apache環境では、パーマリンクの書き換えルールを
.htaccessに記述します。このファイルが消えている/壊れている/別の設定で上書きされていると、記事URLが正しく処理されず404になります。
3. プラグインの競合
リダイレクト、キャッシュ、セキュリティ系プラグインが、書き換えルールやURL処理に干渉して404を引き起こすことがあります。アップデート直後に発生した場合は特に疑います。
4. サーバー移行・環境変更による rewrite 設定の不備
サーバー移行後に起きやすい代表例です。Apacheで
mod_rewriteが無効、NginxでWordPress向けの設定が未反映、またはドキュメントルートが変わって
RewriteBaseが合わない…など、環境側の設定が原因になります。
Web担当者がすぐに試せる復旧手順
基本は「簡単・安全なものから順に試す」のがコツです。まずは以下を上から実行してください。
1. パーマリンク設定を再保存する
- WordPress管理画面にログイン
- 「設定」→「パーマリンク」へ移動
- 何も変更せずに「変更を保存」をクリック
これだけで書き換えルールが再生成され、直るケースが多いです。
2. .htaccess を確認・修正する
WordPressの設置ディレクトリ(多くはルート)にある
.htaccessを確認します。編集前に必ずバックアップを取り、以下が基本形です。
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
※ WordPressをサブディレクトリに入れている場合は、
RewriteBaseやパスが変わることがあります(例:
/blog/ など)。
3. プラグインを一時停止して原因を切り分ける
- 全プラグインを一時停止し、404が解消するか確認
- 解消した場合は、1つずつ有効化して「犯人」を特定
- 原因が特定できたら、代替プラグイン検討/設定見直し/開発元へ問い合わせ
特に
リダイレクト系・キャッシュ系・セキュリティ系は影響が出やすい傾向があります。
4. テーマを一時的にデフォルトへ切り替える
- 一時的にデフォルトテーマ(例:Twenty Twenty-Four)へ切り替えて確認
- 直る場合は、テーマ側の機能(独自リダイレクト/カスタムルーティング等)が関与している可能性
テーマが原因のときは、テーマ更新や、functions.phpの改修が必要になることがあります。
今後のための恒久対策
その場しのぎで直しても、サーバー移行やアップデートのたびに再発すると運用が苦しくなります。次の対策をセットで入れておくのがおすすめです。
1. バックアップを復旧できる形で定期取得
ファイルとデータベースを定期バックアップし、外部ストレージにも保存しておくと、トラブル時の復旧が一気に楽になります。
2. サーバーの rewrite(Apache/Nginx)を点検する
Apacheなら
mod_rewrite、NginxならWordPress用のlocation設定が正しいか確認します。移行後に404が出る場合は、WordPress側よりもサーバー側が原因のことも多いです。
3. プラグイン・テーマは必要最小限+継続メンテ
不要なプラグインは削除し、利用するものは定期的に更新して最新状態を維持します。URLまわりに関与するプラグインは特に、導入目的と設定をドキュメント化しておくと安心です。
4. 解決が長引くときは早めに専門家へ
上記を試しても直らない場合、サーバー設定やディレクトリ構成、移行時の設定差分などが絡んでいる可能性があります。無理に触り続けるより、原因調査をプロに切り替えた方が早いこともあります。
まとめ
WordPressのパーマリンク404は、よくあるトラブルですが、
パーマリンク再保存 → .htaccess確認 → プラグイン切り分けの順で多くは解決できます。特にサーバー移行後は、WordPress側の設定だけでなく、サーバー側のrewrite設定も必ずチェックしましょう。
「原因が読めない」「直したはずなのに再発する」といった場合は、無理に進めず、調査・復旧の体制を整えるのが安全です。