2026年5月20日
2026年5月20日
パーマリンク設定が原因の404エラーの解決方法【保存し直すだけ】
はじめに
「投稿を開こうとすると404エラーになる」「カテゴリページが見つからない」という問題の多くは、WordPressのパーマリンク設定の不整合が原因です。解決策は非常にシンプルで、管理画面から「変更を保存」するだけで直ることがほとんどです。
なぜパーマリンク設定を保存し直すと直るのか
WordPressのURLはmod_rewriteという機能を使って、/post/123のような実際のファイルを返します。この設定は.htaccessファイルに書かれており、パーマリンク設定を保存するたびに更新されます。
.htaccessが古い・不正・存在しない場合、WordPressはURLを正しく処理できず404エラーになります。
症状・原因
パーマリンク起因の404の特徴:
- トップページは表示されるが、投稿・固定ページ・カテゴリが404
- プラグインをインストール・更新した後に発生
- WordPressをアップデートした後に発生
- サーバーを移転した後に発生
- テーマを変更した後に発生
解決手順
ステップ1:管理画面でパーマリンクを保存し直す
1. WordPress管理画面にログイン
2. 「設定」→「パーマリンク設定」をクリック
3. 現在の設定を確認(変更しなくてOK)
4. 「変更を保存」ボタンをクリック
これで.htaccessが自動的に更新されます。多くの場合、これだけで解決します。
ステップ2:パーマリンクの構造を確認する
パーマリンク設定で「カスタム構造」を使っている場合、正しく設定されているか確認します:
| 設定名 | URLの形式 | 推奨度 |
|--------|-----------|--------|
| 基本 | ?p=123 | 低(SEO不利) |
| 日付と投稿名 | /2024/01/01/post-name/ | 中 |
| 投稿名 | /post-name/ | 高(推奨) |
| カスタム構造 | 任意 | 設定次第 |
SEOの観点から「投稿名」(/%postname%/)が最も推奨されます。
ステップ3:管理画面にアクセスできない場合
管理画面自体も404になっている場合は、FTPから直接.htaccessを修正します。
.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
書き換え後、管理画面にアクセスできるようになります。
ステップ4:サブディレクトリにインストールされている場合
WordPressがhttps://example.com/wp/のようなサブディレクトリにインストールされていて、トップページURLがhttps://example.com/の場合、.htaccessのRewriteBaseを調整します:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wp/ ← サブディレクトリのパス
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wp/index.php [L]
</IfModule>
# END WordPress
ステップ5:Nginx環境の確認
Nginxの場合は.htaccessが動作しないため、Nginx設定ファイルを確認します:
server {
location / {
try_files $uri $uri/ /index.php?$args;
}
}
この行がないと投稿・ページが全て404になります。Nginxの設定変更後はsudo nginx -s reloadを実行します。
パーマリンク変更時の注意点
パーマリンクの構造を変更すると、既存のURLが全て変わります。Googleにインデックスされている場合はSEO順位に影響するため、301リダイレクトの設定が必要になります。
すでに多くのページがインデックスされているサイトでのパーマリンク変更は慎重に行ってください。
まとめ
パーマリンクが原因の404エラーは「設定→パーマリンク設定→変更を保存」で解決できます。管理画面にアクセスできない場合はFTPで.htaccessを標準的な内容に書き換えてください。
関連記事: