WPレスキュー365│WordPressのトラブル復旧・ハッキング修理・土日も緊急対応します!10年以上 2,000サイト以上の実績

未分類

【年末年始の緊急対応】WordPressパーマリンクが404になる原因と直し方

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設定も必ずチェックしましょう。 「原因が読めない」「直したはずなのに再発する」といった場合は、無理に進めず、調査・復旧の体制を整えるのが安全です。

対応事例を見る