「投稿ページは普通に表示されるのに、固定ページだけが表示されない…」
- 固定ページにアクセスすると 404エラー になる
- 別のページに 勝手にリダイレクト される
- 管理画面では公開済みなのに、実際のURLでは表示されない
- さっきまで見れていた固定ページが、急に表示されなくなった
WordPressを使っていると、固定ページだけが表示されない現象は意外とよく起こります。
このトラブル、サーバー障害やWordPressの不具合を疑いがちですが、実際は以下のケースが多いです。
- 固定ページの URL(スラッグ)設定
- テーマやテンプレートの 表示ルール
- パーマリンクやリダイレクトの 設定ミス
- キャッシュやプラグインの 影響
上記のような設定の組み合わせが原因になっているケースがほとんどです。
「原因が分からない難しいエラー」ではなく、ポイントを押さえて確認すれば解決できる問題であることが多いです。
この記事では、WordPressで固定ページだけ表示されないときに考えられる原因と対処法を、初心者でも順番に確認できるように整理して解説します。
先に結論を言うと、原因は1つではありませんが、よくあるパターンは限られています。
「どこを見ればいいのか分からない」
「触っていい設定とダメな設定が分からない」
そんな状態でも、上から順にチェックしていくだけで原因を特定できる構成になっていますので、ぜひ最後まで確認してみてください。
【結論】WordPressで固定ページだけ表示されない主な原因はこの5つ
WordPressで「固定ページだけが表示されない」場合、原因はほぼ次の 5つのどれか に当てはまります。
先に全体像を把握しておくことで、「どこから確認すればいいか」が一気に明確になります。
① 固定ページのURL(スラッグ)が他と競合している
固定ページのスラッグ(URLの末尾)が、
- 投稿のスラッグ
- カテゴリー名
- 実際に存在するディレクトリ名
と 重複している と、WordPressが正しく表示できず、
- 404エラーになる
- 別ページにリダイレクトされる
といった現象が起こります。
👉 固定ページが表示されない原因として 最も多いパターン です。
② パーマリンク設定の不整合・未更新
パーマリンク設定が壊れていたり、変更後に正しく反映されていないと、
- 固定ページのURLだけ認識されない
- 投稿は見れるのに固定ページだけ404になる
といった状態になることがあります。
👉 設定を保存し直すだけで直るケースも多い ため、必ず確認すべきポイントです。
③ テーマやテンプレート(page.php)の影響
使用しているテーマによっては、
- 固定ページ専用テンプレートが存在しない
- 特定条件で固定ページを表示しない仕様になっている
ことがあります。特に、
- 自作テーマ
- 高機能テーマ
- 子テーマを使っている場合
は、テンプレートの影響を受けやすいです。
④ リダイレクト設定・プラグインの影響
以下のような設定・プラグインが原因になることもあります。
- Redirection系プラグイン
- SEOプラグインのURL正規化設定
- .htaccess のリダイレクト記述
この場合、
- アクセスすると別ページへ飛ばされる
- 意図しないURLに転送される
といった症状が出ます。
⑤ キャッシュ・サーバー側の影響
実際には修正できているのに、
- ブラウザキャッシュ
- WordPressキャッシュ
- サーバーキャッシュ
の影響で、古い状態が表示されているだけ というケースもあります。
👉 「さっき直したのに反映されない」と感じるときは要注意です。
まずはここから確認すればOK
固定ページが表示されない場合は、次の順番でチェックするのがおすすめです。
- スラッグ(URL)の重複チェック
- パーマリンク設定の保存し直し
- テーマ・テンプレートの影響確認
- リダイレクト・プラグインの確認
- キャッシュのクリア
闇雲に触る必要はありません。
上から順に確認していくだけで、ほとんどのケースは解決できます。
初心者でも「あ、これかも」と気づける構成で書きます。
原因①:固定ページのURL(スラッグ)が競合している
WordPressで固定ページだけが表示されない原因として、最も多いのが「スラッグ(URL)の競合」 です。
特に、
- 何もエラーが出ない
- 管理画面では普通に見えている
- なのにブラウザでは404や別ページに飛ぶ
という場合、ほぼこのパターンを疑ってOKです。
スラッグ競合とは?
スラッグとは、URLの末尾にあたる部分です。
例:https://example.com/contact
この場合のスラッグは「contact」
WordPressでは、このスラッグが 他の要素と被っていると表示できなくなる ことがあります。
よくある競合パターン
次のようなケースは非常に多いです。
投稿のスラッグと被っている
- 固定ページ:
/about - 投稿:
/about(同じスラッグ)
👉 投稿が優先され、固定ページが表示されない
カテゴリー名と被っている
- 固定ページ:
/news - カテゴリー:
news
👉 カテゴリーアーカイブが優先される
実在するディレクトリ名と被っている
- 固定ページ:
/wp-content - 固定ページ:
/blog - 固定ページ:
/images
👉 サーバー上のディレクトリが優先され、ページが表示されない
これは 特にサーバー移行後やテーマ変更後に起きやすい です。
なぜ固定ページだけ影響を受けやすいのか?
WordPressはURLを解釈する際に、次のような優先順位で処理します。
- 実在するディレクトリ・ファイル
- カスタムルール(リダイレクトなど)
- 投稿・カテゴリー
- 固定ページ
そのため、固定ページは「後回し」にされやすく、競合すると表示されなくなる のです。
スラッグ競合の確認方法(簡単)
① 固定ページのスラッグを確認
管理画面
👉 固定ページ一覧 → 対象ページ → URL(スラッグ)を確認
② 同じ名前の投稿・カテゴリーがないか確認
- 投稿一覧
- カテゴリー一覧
同じスラッグがあれば ほぼ原因確定 です。
③ サーバー上のディレクトリ名と被っていないか
FTPやファイルマネージャで、
blognewslpcontact
などのフォルダが存在しないか確認します。
解決方法:スラッグを変更するだけでOK
原因がスラッグ競合だった場合、
解決方法はとてもシンプル です。
例
変更前:
/contact
変更後:
/contact-form
または
/page-contact
👉 保存し直すだけで表示されるケースがほとんどです。
スラッグ変更後の注意点
すでに公開していたページの場合は、
- 旧URL → 新URL へのリダイレクト設定
を入れておくと、SEO的にも安全です。
※ 初期段階ならそこまで神経質にならなくてもOKです。
この原因に当てはまる人の特徴
- 固定ページを後から追加した
- 同じ名前のページやカテゴリーを作った覚えがある
- サーバー移行・テーマ変更をした直後
- 以前は表示できていたのに急に見れなくなった
1つでも当てはまれば、まずはスラッグ変更を試す価値あり です。
原因②:パーマリンク設定が正しく反映されていない
固定ページだけ表示されないとき、スラッグ競合の次に多い原因が「パーマリンク設定の不整合」 です。
この原因の厄介な点は、
- 設定を「触っていないつもり」でも起きる
- サーバー移行・SSL化・テーマ変更がきっかけになりやすい
というところです。
パーマリンクとは?
パーマリンクとは、WordPressのURL構造ルール のことです。
設定場所:
管理画面 → 設定 → パーマリンク
多くのサイトでは、以下が使われています。
https://example.com/sample-page/
これは「投稿名」形式のパーマリンクです。
なぜパーマリンクが原因で固定ページだけ表示されないのか?
WordPressでは、パーマリンク設定に基づいて URLの解析ルール(rewriteルール) を生成しています。
しかし、以下のタイミングでこのルールが壊れたり、更新されないことがあります。
- サーバー移行をした
- SSL(http → https)に変更した
- テーマを変更した
- プラグインを追加・削除した
- .htaccess が書き換えられた
結果として、
- 投稿は表示される
- トップページも表示される
- 固定ページだけ404になる
という状態が発生します。
よくある症状
- 固定ページを開くと404になる
- URLを直接入力しても表示されない
- 管理画面の「表示」からは見える
- スラッグを変えても直らない
👉 この場合、パーマリンクが原因の可能性が高いです。
解決方法:パーマリンクを「保存し直す」だけ
実はこの問題、ほとんどの場合ワンクリックで解決します。
手順
- 管理画面 → 設定 → パーマリンク
- 何も変更せず
- 「変更を保存」をクリック
これだけです。
👉 保存時に、WordPressがURLルールを再生成します。
それでも直らない場合
.htaccess が書き込めていない可能性
共有サーバーでは、
- .htaccess の権限
- サーバー側の制限
により、パーマリンクが正常に反映されないことがあります。
特に、
- 格安サーバー
- 無料サーバー
- 古い環境からの移行
では起きやすいです。
確認すべきポイント(中級者向け)
FTPやファイルマネージャで、public_html 配下にある .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
これがなかったり、途中で消えていると、固定ページが正しく表示されません。
※ 無理に触らず、バックアップを取ってからにしましょう。
この原因に当てはまる人の特徴
- サーバー移行・SSL化を最近した
- テーマやプラグインを変更した
- 固定ページだけ404になる
- スラッグ変更では解決しなかった
👉 まずはパーマリンク保存を試すのが最優先 です。
原因③:テーマ・テンプレート側の問題(page.php が原因)
固定ページだけ表示されない原因として、意外と見落とされがちなのが「テーマ側のテンプレート不具合」 です。
特に、
- テーマを変更した直後
- 子テーマを使っている
- 自作・カスタマイズテーマ
を使っている場合は要注意です。
固定ページは「page.php」で表示されている
WordPressでは、固定ページは基本的に page.php というテンプレートで表示されます。
テンプレートの優先順位は次の通りです。
page-{スラッグ}.phppage-{ID}.phppage.phpsingular.phpindex.php
この中のどれかに問題があると、固定ページだけが正常に表示されなくなります。
よくあるテーマ側のトラブル例
① page.php が存在しない・壊れている
- テーマに
page.phpがない - 中身が途中で途切れている
- PHPエラーが出ている
→ 固定ページが404や白画面になる
② page.php 内の記述ミス
以下のようなケースが多いです。
the_content()が書かれていないwhile ( have_posts() )が抜けている- PHPの閉じタグミス
- 不要なリダイレクト処理が入っている
👉 管理画面では存在しているのに、表示できません。
③ 特定の固定ページだけ表示されない
page-contact.phpだけがある- スラッグとテンプレート名が噛み合っていない
- 古いテンプレートが残っている
👉 「そのページ専用テンプレート」が原因 の可能性があります。
確認方法①:テーマを一時的に切り替える
一番簡単で安全な確認方法です。
- 管理画面 → 外観 → テーマ
- 公式テーマ(Twenty Twenty-Fourなど)に切り替える
- 固定ページを表示してみる
✔ 表示される → 現在のテーマが原因
✔ 表示されない → 他の原因の可能性
※ 表示確認後、必ず元に戻しましょう。
確認方法②:固定ページテンプレートを変更する
固定ページの編集画面で、
- 右サイドバー → テンプレート
- 「デフォルト」に変更
- 更新 → 表示確認
専用テンプレートが原因なら、これで表示されるようになります。
確認方法③:page.php の存在を確認
FTPまたはサーバーのファイルマネージャで、
/wp-content/themes/テーマ名/
に page.php があるか確認します。
- 無い → 親テーマを確認
- 子テーマ使用中 → 親テーマの page.php を確認
子テーマ利用時の注意点
子テーマに page.php がある場合、親テーマの page.php は無視されます。
つまり、
- 子テーマの page.php が古い
- コードが未完成
だと、固定ページだけ表示されません。
この原因に当てはまる人の特徴
- テーマ変更後から表示されなくなった
- 特定の固定ページだけ開けない
- 管理画面では問題ない
- プラグイン停止では直らなかった
👉 テーマ切り替えテストでほぼ切り分け可能 です。
原因④:プラグインの干渉による非表示・リダイレクト
固定ページだけ表示されない場合、プラグイン同士、またはテーマとの相性問題 も非常に多い原因です。
特に以下の系統のプラグインは要注意です。
影響が出やすいプラグインの種類
① キャッシュ系プラグイン
- WP Fastest Cache
- W3 Total Cache
- LiteSpeed Cache
- WP Rocket
古いキャッシュが残ることで、存在しないURLへリダイレクトされる ことがあります。
👉 管理画面で更新しても、表示が変わらない場合は疑いましょう。
② SEO・リダイレクト系プラグイン
- All in One SEO
- Yoast SEO
- Rank Math
- Redirection
- noindex設定
- canonical URL
- 自動リダイレクト
これらの設定が 固定ページだけに誤って適用されている ケースがあります。
③ セキュリティ系プラグイン
- XO Security
- Wordfence
- iThemes Security
不正アクセス防止の設定が強すぎると、
- 特定URLをブロック
- 管理画面以外へのアクセス制限
が発生し、固定ページが表示されません。
④ フォーム・会員制・制限系プラグイン
- Contact Form 7 + アドオン
- 会員制プラグイン
- アクセス制限系プラグイン
👉 「ログインしていないと見られない」設定が、固定ページにだけかかっている場合があります。
確認方法①:すべてのプラグインを停止する
最も確実な切り分け方法です。
- 管理画面 → プラグイン → インストール済み
- すべて停止
- 固定ページを表示確認
✔ 表示される → プラグインが原因
✔ 表示されない → 他の原因へ
確認方法②:一つずつ有効化して特定する
- 1つずつプラグインを有効化
- 都度、固定ページ表示を確認
👉 表示されなくなった時点のプラグインが原因です。
キャッシュプラグイン使用時の注意
- プラグインのキャッシュ削除
- ブラウザキャッシュクリア
- シークレットモードで確認
3点セットで確認 しないと、「直っているのに見えない」状態になります。
管理画面に入れない場合の対処
管理画面に入れない場合は、
- FTP接続
/wp-content/plugins/を開く- フォルダ名を一時変更(例:plugins_old)
これで全プラグインが強制停止されます。
プラグイン原因が多い人の特徴
- 最近プラグインを追加・更新した
- 固定ページだけ404になる
- トップや投稿ページは表示される
- キャッシュ削除しても直らない
👉 一括停止で切り分けが最短ルート です。
原因⑤:.htaccess やサーバー側設定の問題
固定ページだけ表示されない・勝手にリダイレクトされる場合、サーバー側の設定ファイル(.htaccess) が原因になっているケースも少なくありません。
特に次のような状態は要注意です。
.htaccess が原因で起こる症状
- 固定ページだけ 404 になる
- 特定URLだけ別ページに飛ばされる
- 「/page/」配下だけ表示されない
- 管理画面は正常、フロントだけおかしい
👉 WordPressのURL制御は .htaccess に強く依存 しています。
よくある .htaccess のトラブル原因
① リダイレクト設定の書き残し
過去にURL変更・SSL化をした際の
Redirect 301 /old-page https://example.com/new-page
などが 不要なまま残っている ケースです。
② 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
この中が
- 削除されている
- 重複している
- 途中で途切れている
と、固定ページだけ正しく処理されません。
③ 手動で追加した RewriteRule の影響
以下のような記述を追加していませんか?
- スマホ振り分け
- 特定ディレクトリ制限
- 独自のURLルール
RewriteRule ^(.+)/$ /index.php?name=$1 [L]
👉 正規のWordPressルールと競合しやすいです。
対処法①:.htaccess を一度リセットする
最も安全で効果的な方法 です。
手順
- FTPでサーバー接続
- ルートディレクトリの
.htaccessをバックアップ - 中身をすべて削除
- 管理画面 → 設定 → パーマリンク設定
- 「変更を保存」をクリック
👉 WordPressが自動で正しい .htaccess を再生成します。
対処法②:サーバー側の簡単設定を確認
Xserver / ConoHaなどでは、
- 常時SSL化
- 独自リダイレクト
- WAF設定
が 管理画面側で有効 になっている場合があります。
👉 .htaccess と二重設定になっていないか確認しましょう。
対処法③:WAF(Web Application Firewall)を確認
WAFが原因で、
- 特定URLをブロック
- 固定ページへのアクセス遮断
が起きることもあります。
✔ 一時的にWAFをOFF
✔ 表示確認
✔ 問題なければONに戻す
この手順で切り分けできます。
.htaccess を触るときの注意点
- 必ずバックアップを取る
- 1行ずつ変更する
- 変更後は必ず表示確認
👉 間違えると サイト全体が表示不能 になります。
サーバー原因が多い人の特徴
- サーバー移行をした
- SSL化・URL変更を行った
- 複数ドメインを使っている
- サーバー管理画面で設定変更をした
👉 この場合、.htaccess とサーバー設定の二重管理が原因です。
原因⑥:テーマ・テンプレート側の設定ミス
固定ページだけ表示されない原因として、テーマ(WordPressテーマ)側の不具合や設定ミス も意外と多いです。
特にカスタマイズ済みテーマや有料テーマを使っている場合は要注意です。
テーマが原因で起きる代表的な症状
- 特定の固定ページだけ真っ白になる
- URLは存在するのに本文が表示されない
- 固定ページだけレイアウトが崩れる
- テーマを切り替えると表示される
👉 この場合、WordPress本体やサーバーではなくテーマが原因 です。
よくあるテーマ側の原因
① 固定ページ用テンプレートの不具合
テーマ内に次のようなファイルはありませんか?
page.phppage-〇〇.phptemplate-〇〇.php
これらに
- PHPエラー
- 不正な条件分岐
the_content()の書き忘れ
があると、固定ページが表示されません。
<?php
// the_content() がない例
get_header();
// 本文が出ない
get_footer();
② 固定ページテンプレートの指定ミス
固定ページ編集画面の右側(または下部)で、テンプレートが指定されている 場合があります。
- 使っていないテンプレート
- 削除済みテンプレート
- 途中で名前変更したテンプレート
👉 これが指定されていると表示されません。
③ 条件分岐(is_page)の誤り
テーマ内で次のような条件分岐をしていませんか?
if ( is_page('contact') ) {
// 表示しない処理
}
スラッグ・ID・日本語ページ名の指定ミスで、意図せず固定ページを除外 しているケースがあります。
④ functions.php の記述ミス
functions.php に追加したコードが原因で、
- 固定ページだけ表示不可
- 404扱いになる
- リダイレクトされる
ことがあります。特に注意したいのは、
pre_get_poststemplate_redirectwp_redirect
👉 固定ページのクエリを書き換えてしまうことがあります。
対処法①:一時的にテーマを切り替える
最も簡単で確実な切り分け方法です。
手順
- 管理画面 → 外観 → テーマ
- 公式テーマ(Twenty Twenty系)に切り替える
- 固定ページを表示確認
✔ 表示される → テーマが原因
✔ 表示されない → 別の原因
対処法②:固定ページテンプレートを「デフォルト」に戻す
固定ページ編集画面で
- テンプレート → デフォルト
に変更して保存し、再表示してみましょう。
対処法③:エラーログを確認する
テーマ内のPHPエラーは 画面に出ないことが多い です。
- サーバーのエラーログ
- WP_DEBUG を一時的に ON
で確認できます。
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
👉 表示は抑えて、ログだけ確認するのがおすすめです。
テーマ原因が多い人の特徴
- 有料テーマを使っている
- 独自カスタマイズをしている
- 子テーマで修正している
- 固定ページテンプレートを作った
👉 「最近触った箇所」から疑う のが鉄則です。
ここまでの原因チェックまとめ
固定ページだけ表示されない原因は、次の順で切り分けると効率的です。
- URL・スラッグの重複
- パーマリンク設定
- noindex / 非公開設定
- プラグイン競合
- .htaccess / サーバー設定
- テーマ・テンプレート
👉 7割以上はここまでで解決します。
それでも固定ページだけ表示されないときの最終チェックポイント
ここまでの原因①〜⑥をすべて確認しても解決しない場合、かなりレアだけど見落とされがちなポイントをチェックします。
「もうお手上げ…」という前に、必ずここまで確認してください。
チェック①:WordPressのキャッシュが原因
表示されない原因が 実はキャッシュ というケースは意外と多いです。
確認ポイント
- キャッシュ系プラグインを使用している
- サーバーキャッシュが有効
- CDN(Cloudflareなど)を使っている
👉 固定ページだけ古い情報が表示されないことがあります。
対処法
- キャッシュプラグインのキャッシュ削除
- サーバー管理画面からキャッシュ削除
- CDNのキャッシュパージ
※ シークレットモードで確認するのも有効です。
チェック②:REST API / JSONエラーが出ていないか
固定ページ編集画面で次のような警告が出ていませんか?
- 「公開に失敗しました」
- 「更新に失敗しました」
- 「REST API エラー」
👉 実は保存はできているが、正しく反映されていない ケースがあります。
対処法
- HTTPS(SSL)が正しく有効か確認
- mixed content(http/https混在)を修正
- サーバーのPHPバージョンを変更してみる
チェック③:PHPバージョンとの相性問題
テーマ・プラグイン・WordPressの組み合わせによっては、特定のPHPバージョンでだけ不具合 が起きることがあります。
対処法
サーバー管理画面から
- PHP 8.2 → 8.1
- PHP 8.1 → 8.0
など 1段階下げて動作確認 してみてください。
※ Xserver・ConoHa WINGなら数クリックで変更可能です。
チェック④:データベースの不整合
まれにですが、
- 固定ページのレコードが壊れている
- post_status が異常
- meta情報が不正
といったケースもあります。
確認方法(簡易)
- 固定ページを複製して新規作成
- 同じ内容をコピペして公開
✔ 新しいページは表示される
→ 元ページのDB情報が原因
チェック⑤:サーバー側のWAF・セキュリティ制限
セキュリティが強いサーバーでは、
- 特定の文字列
- フォーム構造
- JavaScript
が原因で ページがブロック されることがあります。
対処法
- 一時的にWAFをOFF
- 表示確認
- 問題なければルール調整
※ 本番ではOFFしっぱなしにしないよう注意。
それでも解決しない場合の現実的な選択肢
正直に言うと、「環境依存のバグ」や「テーマ固有の不具合」 は、
- 個人での切り分けが困難
- 時間だけが溶ける
こともあります。
おすすめの行動
- テーマのサポートに問い合わせる
- サーバーサポートに状況を伝える
- 一度ステージング環境で再現確認
👉 特に Xserverのサポート は、WordPressトラブルの切り分けが非常に慣れています。
原因が特定できないまま悩むより、安定性の高いサーバー環境に変えるだけで解決するケースも少なくありません。
最終まとめ|固定ページだけ表示されない原因は必ず特定できる
WordPressで「固定ページだけ表示されない」 トラブルは、
- 原因が1つとは限らない
- 複数要因が絡むこともある
のが厄介なポイントです。
解決までの王道ルート
- URL・スラッグ・パーマリンク
- noindex・非公開設定
- プラグイン停止
- テーマ切り替え
- サーバー・キャッシュ
- PHP・DB・WAF
👉 この順で確認すれば、ほぼ確実に原因に辿り着けます。
「原因不明」で終わらせず、必ず切り分ければ解決できるトラブル なので、落ち着いて一つずつ確認してください。





コメント