2026年5月20日

2026年5月20日

WordPressで404エラーが出る場合の解決方法【原因別フロー】

はじめに

WordPressのサイトにアクセスしたら「404 Not Found」が表示された。記事は存在しているのにリンクをクリックすると404になる——そんなとき、ほとんどの場合はパーマリンク設定の問題で、簡単に解決できます。しかし原因が複数考えられるため、確認する順番が重要です。

症状・原因

404エラーのパターンによって原因が異なります:

| 症状 | 疑われる原因 |

|------|------------|

| サイト全体が404 | .htaccessの設定ミス・削除 |

| 投稿・固定ページだけ404 | パーマリンク設定の不整合 |

| カスタム投稿タイプが404 | パーマリンク未更新 |

| 特定のページだけ404 | スラッグの重複・テンプレートの問題 |

| 移転後に一括404 | サイトURLの変更ミス・.htaccessの未設定 |

解決手順

ステップ1:パーマリンク設定を保存し直す(最も有効)

WordPressの管理画面にアクセスできる場合:

1. 「設定」→「パーマリンク設定」に移動

2. 何も変更せず「変更を保存」ボタンをクリック

3. これで.htaccessが再生成され、多くの404エラーが解消される

これだけで解決する場合が非常に多いです。

ステップ2:.htaccessを確認・再生成する

管理画面から保存しても直らない場合、.htaccessファイルに問題がある可能性があります。

FTPで.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

このコードがない、またはDeny from allなどが追加されている場合は修正が必要です。

ステップ3:mod_rewriteが有効か確認

.htaccessのRewriteルールが動作するには、Apacheのmod_rewriteが有効である必要があります。

// wp-config.phpに一時的に追加してmod_rewriteを確認
// または管理画面のヘルス情報(ツール → サイトヘルス)を確認

ホスティングサービスの管理画面(cPanelなど)でmod_rewriteを有効にできる場合もあります。

ステップ4:WordPressのサイトURLを確認

wp-config.phpに誤ったURLが設定されていると全ページが404になります:

// wp-config.phpで確認
define('WP_HOME', 'https://example.com');
define('WP_SITEURL', 'https://example.com');

管理画面で確認する場合:「設定」→「一般」→「WordPress アドレス」と「サイトアドレス」が正しいか確認します。

ステップ5:カスタム投稿タイプの場合

カスタム投稿タイプが404になる場合は、パーマリンクの再保存が必要です。カスタム投稿タイプを登録するコードにrewrite引数が正しく設定されているか確認します:

register_post_type('event', [
    'rewrite' => ['slug' => 'events'], // スラッグを指定
    'has_archive' => true,
    // ...
]);

登録コードを変更したらパーマリンクを再保存します。

ステップ6:テーマの404.phpを確認

テーマに404.phpが存在しない場合、デフォルトの404ページが表示されることがあります。テーマフォルダに404.phpがない場合は作成するか、親テーマのファイルを確認します。

Nginx環境の場合

Nginxサーバーでは.htaccessではなくnginx.confでリライトを設定します:

location / {
    try_files $uri $uri/ /index.php?$args;
}

この設定がないと全ての動的URLが404になります。

注意事項

  • .htaccessを編集する前に必ずバックアップを取ってください
  • パーマリンクを変更すると既存のURLが変わり、SEOに影響する場合があります
  • Google Search Consoleで404エラーを確認し、必要に応じてリダイレクトを設定してください

まとめ

WordPressの404エラーは「設定→パーマリンク→変更を保存」で解決するケースが最多です。それで解決しない場合は.htaccessの内容確認、サイトURLの確認、mod_rewriteの有効化を順番に試してください。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ