WordPressのトップページがindex.phpでもfront-page.phpでもhome.phpでも問題はない。デザイナー、コーチ、ディレクター / いがわ

.

Memo

front-page.phpやhome.phpが表示されないとき。

WordPressのトップページのテンプレート。

トップページ用の3つのテンプレートファイル。
トップページにindex.phpを使うのは間違いなの?

会社やチーム、大規模なプロジェクトなどで「共通したルール」がある場合は別として、個人や少人数で制作する場合はindex.phpでも全然構わない。

トップページにfront-page.phpやhome.phpを使用。

front-page.phpやhome.phpを使ってももちろん良いが、index.phpを使うのが間違いというわけではない。


WordPressのindex.phpとは?

index」はそもそも「索引」という意味。
index.phpとindex.html。

WordPressが普及してきたころは、ネット上でも書籍や会社などでも、トップページはindex.phpで作るようにと言われていた。

静的サイトのトップページがindex.htmlというのは基本なので、それはすんなりと受け入れられていた。

そして、トップページのURLは、「example.com/index.html」と「example.com」の2通りとなる。

exampleは例。)

index.phpとhome.phpとfront-page.phpとは?

ユーザーにわかりやすいように。

「index.html」の文字列は自動的に省略され、ユーザーへわかりやすい「example.com」となるような仕組みになっている。

これはindex.phpでも同じ。

indexはそもそも索引という意味なので、サイトのトップになるのはごく自然なこと。

home.phpとfront-page.php。

home.phpとfront-page.phpは、後から出てきたテンプレートファイル。

WordPressが普及していくに伴い、制作者側からのニーズも増えてきた。

その結果として、

  • WordPress 1.5から、home.phpが導入。
  • WordPress 3.0から、front-page.phpが導入。

となった。

index.phpと同様に、home.phpとfront-page.phpの文字列も省略される。)


トップページへの、home.phpとfront-page.phpの優先度。

front-page.phpがある場合は、設定に関係なくトップページになる。
ホームページの表示。

同じテーマ内にfront-page.phpがある場合、表示設定は必須ではない。

固定ページの作成も必要ではなく、自動的にfront-page.phpがトップページ(ホームページ)になる。

  • front-page.phpがあれば、自動的にトップページに。
  • front-page.phpもhome.phpもない場合は、index.phpがトップページに。
WordPress.org。

これについてはWordPress.orgのテンプレートファイルのページに記載されている。

参照元:Template Files – Theme Handbook | Developer.WordPress.org

WordPressの管理画面。

「WordPress管理画面」 > 「設定」 > 「表示設定」 > 「ホームページの表示」 の画面。

固定ページでテンプレートとして指定しない限り、プルダウンの選択肢にはfront-page.phpは出てこない。

WordPressのホームページの表示設定の画面。

固定ページをトップページにしたいとき。
表示されないときのチェック項目。
front-page.phpと固定ページを作成してから、ホームページの表示設定へ。

トップページ用のfront-page.phpを作成し、固定ページのテンプレートからfront-page.phpを選択する。

「ホームページの表示」での設定は、その後に行う。

WordPressの固定ページの設定の画面。

投稿ページをトップページにしたいとき。
表示されないときのチェック項目。
home.phpを作成してから、ホームページの表示設定へ。

投稿用のhome.phpを作成し、「ホームページの表示」で「最新の投稿」を選択するとOK。

WordPressのホームページの表示設定の画面。


home.phpとfront-page.phpは必須ではない。

index.phpとstyle.phpだけが必須。
home.phpとfront-page.phpはサイトによっては不要。

WordPressで必須となるファイルは、index.phpとstyle.phpの2つ。

そしてWordPressのテンプレート階層は以下となっている。

「front-page.php」 > 「home.php」(表示設定が最新の投稿の場合) > 「index.php」 の順であり、その他のテンプレートファイルがない場合でも、最終的にindex.phpが使用される。

WordPressのテンプレート階層の図。

画像出典:WordPress.org 日本語

条件分岐はどうなる?

トップページをindex.phpで作った場合でも、

  • is_home()
  • is_front_page()

で分岐ができる。

そのため、サイトによっては、管理する固定ページやファイル数軽減のためにも、index.phpをトップページに使う場合がある。

ユーザビリティやアクセシビリティ、SEO的には全く問題がない。

WordPressのindex.phpとhome.phpとfront-page.phpを学ぶ。

以上、参考になれば幸いです。


Webデザインは実務数年、職業訓練校講師数年、フリーランス数年、計15年以上のキャリアがありますが、一気にがぁっと書いているので「です・ます調」ではありません。(元々はメモ書きでした。) 事実や経験、調査や検証を基にしていますが、万一なにかしら不備・不足などがありましたらすみません。お知らせいただければ訂正いたします。 写真は主にUnsplashPixabayのフリー素材を利用させていただいております。その他の写真や動画もフリー素材やパブリックドメイン、もしくは自前のものを使用しております。

デザイナー、ディレクター、講師、コーチ / 井川宜久

免責事項について

  • 記事ページ(Memosのページ)は当初は文字通りメモ書きでした。その後、修正や更新をしております。
  • 事実や経験、調査や検証を基にしていますが、万一なにかしら不備・不足などがありましたらすみません。お知らせいただければ早急に対応いたします。
  • 一個人のポートフォリオサイトですので、万一損害・トラブル等が発生した場合でも、一切の責任を負いかねます。