WordPressのトップページがindex.phpでもfront-page.phpでもhome.phpでも問題はない。
Contents - 目次
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.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は出てこない。
固定ページをトップページにしたいとき。
表示されないときのチェック項目。
front-page.phpと固定ページを作成してから、ホームページの表示設定へ。
トップページ用のfront-page.phpを作成し、固定ページのテンプレートからfront-page.phpを選択する。
「ホームページの表示」での設定は、その後に行う。
投稿ページをトップページにしたいとき。
表示されないときのチェック項目。
home.phpを作成してから、ホームページの表示設定へ。
投稿用のhome.phpを作成し、「ホームページの表示」で「最新の投稿」を選択するとOK。
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.org 日本語
条件分岐はどうなる?
トップページをindex.phpで作った場合でも、
- is_home()
- is_front_page()
で分岐ができる。
そのため、サイトによっては、管理する固定ページやファイル数軽減のためにも、index.phpをトップページに使う場合がある。
ユーザビリティやアクセシビリティ、SEO的には全く問題がない。
以上、参考になれば幸いです。
※Webデザインは実務数年、職業訓練校講師数年、フリーランス数年、計15年以上のキャリアがありますが、一気にがぁっと書いているので「です・ます調」ではありません。(元々はメモ書きでした。) ※事実や経験、調査や検証を基にしていますが、万一なにかしら不備・不足などがありましたらすみません。お知らせいただければ訂正いたします。 ※写真は主にUnsplashやPixabayのフリー素材を利用させていただいております。その他の写真や動画もフリー素材やパブリックドメイン、もしくは自前のものを使用しております。