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の有効化を順番に試してください。
関連記事: