WordPressのトップページ、front-page.phpとindex.phpの違いと使い分け

WordPressでサイトを作っていると、ついつい「とりあえずindex.phpに書いちゃえばいいや」となってしまう瞬間、ありませんか?

実はこれ、私自身がWordPressを覚え始めた頃に何度もやってしまった”あるあるミス”なんです。

ノートパソコンを見ている男性

「動けばOK」と思っていた当時は、index.phpの中にトップページのHTMLを書きまくっていました。でも、いざ別のテンプレートファイルを追加しようとすると、干渉する、混乱する、管理がしづらい…。結局、自分の首を絞める結果になってしまいました。

WordPressは「テンプレート階層」という強力な仕組みがあります。これを正しく使えば、ページごとのテンプレートを明確に分けられ、サイトの構造も格段に分かりやすくなります。
特に「トップページ」はサイトの顔。ここを誤ると、見た目だけでなくSEOや運用効率にも大きな影響が出てしまいます。

本記事では、私の実体験も交えながら、front-page.phpの役割と使い方、index.phpとの違いを、初心者にもわかりやすく、かつ現場目線で徹底解説していきます。

front-page.phpとindex.phpの違いを正しく理解しよう

テンプレート階層とは何か?

WordPressには「テンプレート階層(Template Hierarchy)」と呼ばれる、非常にスマートなファイル読み込みルールがあります。

例えば、ある固定ページが表示されるとき、WordPressは以下のような優先順位でテンプレートファイルを探します。

テンプレートの種類 優先度
front-page.php トップページが固定ページに設定されている場合、最優先
home.php 投稿ページ(記事一覧)に指定されている場合に使用
page.php 個別の固定ページ表示に使用
index.php 全ての最後の手段。バックアップテンプレート

つまり、index.phpは「何もなければ最後に使われる」テンプレートなのです。

front-page.phpはトップページ専用テンプレート

WordPressの管理画面から「設定 → 表示設定」に進むと「ホームページの表示」という設定項目があります。ここで「固定ページ」を選択し、「ホームページ」に任意の固定ページを指定することで、そのページがトップページとして扱われます。

このときに読み込まれるテンプレートが、front-page.phpです。

ポイントは、その固定ページの本文が空であっても問題ないということ。表示される内容はfront-page.php内のコードで制御されるからです。

index.phpにトップページを書くべきでない理由

初心者の頃は「とりあえずindex.phpに書けば表示されるし問題ないじゃん!」と思いがちですが、実は多くのデメリットが潜んでいます。

  • 他のテンプレートのフォールバックとしても使われるため、想定外のページにも影響が出る
  • 構造が複雑になり、保守性が低下する
  • SEOやOGPの最適化がしづらくなる
  • テーマを他人に引き継ぐ際に混乱を招く

これはまさに、私が過去の案件で地獄を見たポイントでもあります(笑)

SEO対策や拡張性にも影響が出る

トップページは検索エンジンにとっても「最重要ページ」の一つ。そのため、titleタグ、meta description、構造化データなどもトップページ専用に調整すべきです。

しかし、index.phpを使ってしまうと、それらを条件分岐で書き分ける必要があり、コードが煩雑になりがちです。一方でfront-page.phpを使えば、トップページ専用の内容として明確に分離でき、SEO的にも理にかなっています。

また、ACF(Advanced Custom Fields)などを活用すれば、管理画面からトップページの内容を動的に変更できるようにもできます。ブロックエディタ対応のテンプレートを組み込めば、よりクライアントフレンドリーな設計も可能です。

よくある構成パターンとその理由

企業サイトやポートフォリオサイトでは、トップページをLPのように設計し、ブログやニュース一覧は別のページに分ける構成が主流です。

  • 固定ページ「ホーム」 → front-page.phpで静的コンテンツを表示
  • 固定ページ「ブログ」 → home.phpで記事一覧を表示

この構成にしておくと、管理画面からSEO設定を施したり、SNS連携(OGP)を柔軟に調整したりするのも簡単になります。

まとめ:トップページは「特別なページ」として設計すべき

WordPressにおける「トップページ」は、単なる1ページではありません。サイト全体の印象を決定づける重要な存在であり、SEOにも直結する重要エリアです。

index.phpは万能なファイルではありますが、そこに頼り切るのは構造的にリスクが大きすぎます。一方で、front-page.phpを使うことで以下のような恩恵があります。

  • コードの責任範囲が明確になる
  • SEO最適化がしやすくなる
  • 構造が整理され、他人に引き継ぎやすくなる
  • テンプレートパーツの再利用で保守性も向上

最初は少し面倒に感じるかもしれませんが、一度その恩恵を体験すれば「なぜ最初からそうしなかったのか」と思うはずです。WordPressは自由度が高い分、正しい使い方を知らないと”自己流”で苦しむことになります。front-page.phpを活用して、より良いWordPressライフを実現していきましょう!

コメントはこちら

コメントは管理人の承認後、反映されます。