自社のブログを見ていたら、日付別のアーカイブページが表示されなくなっていることに気づきました。
原因がわかるまで、結構ハマってしまい数日間月別のアーカイブページが表示されない状態を余儀なくされてしまったので、備忘録としてここに記しておきます。
どんな症状か?
まず、どんな現象が起こっていたかというと、サイドバーにウィジェットで設定したアーカイブのリンクをクリックすると、なぜかトップページへリダイレクトされてしまいます。
最初は、アーカイブページが作成されていないのかと思いましたが、ページ存在しなければ、404エラーのページが表示されるはずで、トップページへリダイレクトされるのが引っかかるところでした。
以前は、月別のアーカイブページは表示されていたはずだったのに、気づいたらこうなっていたというのも解せないところで、あとからインストールしたプラグイン周りが怪しいのでは?と思いググってみたところビンゴでした。
原因はプラグインのYoast SEOだった
日付別アーカイブページがリダイレクトされてしまう原因は、プラグインのYoast SEOでした。
ご存知の方も多いと思いますが、Yoast SEOとはWordPressのサイトのSEOをサポートしてくれる便利なプラグインで、ページタイトルの最適化やXMLサイトマップの作成など、SEOに必要な機能をほとんどカバーしています。
同じSEO対策系のプラグインとしては、All in One SEO Packが有名ですが、1、2年前からは管理しているサイトにはYoast SEOを使うようになっていました。
日付別アーカイブが表示されなかったのは、決してYoast SEOが悪いわけではなく、アーカイブページの取り扱いについて、私が間違った設定をしていたためでした。
しかし、Yoast SEOのアーカイブの設定はちょっと紛らわしいので、注意した方がいいです。
正しいYoast SEOのアーカイブ設定
アーカイブの取り扱いの設定をするには、「Search Appearance」の「アーカイブ」タブから行います。
私は、日付別のアーカイブページは、検索エンジンにインデックスさせたくなかったので、ここの設定を無効にしていましたが、これがアーカイブが表示されなくなった原因でした。
正しい設定は、「日付アーカイブ」を「有効」にして、その下の「Show date archives in search result?」のところを「いいえ」にします。日付アーカイブのページはGoogleなどの検索エンジンの結果には出さないが、日付アーカイブそのものは無効にしないという設定になります。
検索結果に出しても構わないのなら、どちらも有効にしておけばOKです。
SEO系のプラグインは非常に便利ですが、設定を間違うと表示されなかったり、検索エンジンのクローラーを排除してしまうなどの致命傷になってしまうので、導入の際は慎重に設定を行わないといけませんね。