やばい…一応プロなのに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というのもおかしいですが、テンプレート階層を見る限り、これが一番適切だと思います。