先日ドメイン名で検索して見ると、トップページは引っかかるのに記事だけ除外されたかのように出てこない現象を発見しました。
調べてみると、PHPのSimpleXML拡張機能をインストールし忘れていたためこのようなことが起こったようです。
検索エンジンとWordpressの仕様
検索エンジンは新しいサイトを発見したとき、それぞれのページをデータベースに登録する前にまず最上位にあるrobots.txtを確認します。このブログのものならここにあります。
robots.txtには、このサイトのページを検索エンジンに登録してほしいかどうかが書かれています。Googleなどはそれを読み取り、「登録してほしい」と書いてあれば検索結果に表示するようにします。
また、その他にもrobots.txtにはサイトマップ(サイトの構成)を表すファイルへのURLを示すことにより、より効率的な登録が可能になるという機能もあります。WordPressはこれを自動で生成してくれるはずでした。
しかし、サイトマップは実際には生成されず、そのためにGoogleもページを見つけることができない状態にありました。
PHPとSimpleXML拡張機能
サイトマップはXMLで記述されるため、WordpressがXMLを生成するためのSimpleXML拡張機能が必要だったのです。
しかし、これはデフォルトでインストールされておらず、なくてもブログ機能には支障をきたさないため見つけるのが遅れてしまいました。
これをインストールすることにより、無事にサイトマップが表示されるようになりました。