やばい…一応プロなのにWordPressテーマのトップページテンプレートにindex.phpを使ってた。これは間違いというわけではなく、古来よりトップページのテンプレートはindex.phpだった。

現在のWordPressでは、トップページのテンプレートにindex.phpを使用するのは適切ではないことに今更気づきました。

なぜindex.phpがダメなのか

まず、index.phpはテンプレート階層の最下位である為。

トップページなのに一番最後にオマケで読まれるようなindex.phpはふさわしくない。

また、index.phpは汎用的に読まれてしまうのも問題です。もし、attachment.phpが無いのに、添付ファイルのページにクローラーボットが来たら、index.phpが読まれてしまい、意図しない結果をインデックスされかねません。

front-page.phpとhome.phpが適切

トップページに適切なテンプレートファイルは、

固定ページをトップページにしている場合は、front-page.php

最新の投稿をトップページにしている場合は、home.php

ということになります。

また、不適切なインデックスを防ぐためにも、index.phpは特別な理由がなければ作成しないのが一番です。

index.phpは作成しておく

index.phpがなくてもテーマは動作しますが、管理画面→外観でindex.phpが無いと怒られます。自分はindex.phpを404のテンプレートとして作成してます。index.phpなのに404というのもおかしいですが、テンプレート階層を見る限り、これが一番適切だと思います。