SEO失敗
なんかGoogleさんから過去の記事がどんどん消えているので原因を考えてみたのですが、/archive/や/page/をrobots.txtでクロール拒否したせいで過去の記事がどこからもリンクされずに孤立していることが思い当たりました。最新の記事ならトップページからリンクされていますが、そこから流れた記事は/page/を拒否したせいでダメっぽい。
で、対策として、/archive/の拒否を解除して、代わりにヘッダに
<?php if (!have_posts() || preg_match('/^/?/', $_SERVER[REQUEST_URI]) || is_page()) { echo '<meta name="robots" content="noindex,follow" />'; } ?>
というPHPコードを挿入。(厳密には|| is_page()
のみ追加で、その他は以前からソースに含まれていました。)page(「archives」とか「about」とかのコンテンツページ)ならnoindex(検索結果には反映させず),follow(そこからのリンクをたどることを許可)。
BookmarkとかAboutとかも検索結果から消えるけど、特に問題ないしいいや。むしろメールアドレスを晒しているAboutのページが検索結果から消えたらスパムが減るかもしれない。