日付アーカイブってそもそも何か
WordPress には「日付アーカイブ」という仕組みがあります。/2015/01/ や /2015/01/15/ のような URL で、その年月・その日付に公開された記事だけを一覧表示するページのことです。
ブログっぽいサイトでは、サイドバーに「2015年1月」「2014年12月」といったアーカイブ一覧が出ていて、そこをクリックすると、その月の記事一覧が表示されます。
これがまさに「日付アーカイブ」です。
仕組みとしては便利ですが、サイトの種類によっては「ほとんど価値がないどころか、むしろ邪魔」になることがあります。
なぜ「無効化」を考える必要があるのか
ユーザーは本当に「年月」で記事を探したいのか
まず一番大事な視点は、「ユーザーはどうやって情報を探したいか」です。
技術ブログなら「WordPress」「PHP」「セキュリティ」などのテーマ(カテゴリ・タグ)で探したいはずです。
企業サイトなら「お知らせ」「採用」「プレスリリース」といった内容で探したいはずです。
「2014年10月の記事が読みたい」と思ってサイトに来る人は、正直かなり少ないです。
つまり、多くのサイトにとって「日付」という軸は、ユーザーにとってそこまで重要ではありません。
それなのに、
カテゴリアーカイブ
タグアーカイブ
著者アーカイブ
日付アーカイブ
と、似たような一覧ページが増えすぎると、
サイト構造が無駄に複雑になり、ユーザーも迷いやすくなります。
重複コンテンツが増えやすい
日付アーカイブを有効にしていると、同じ記事がいろんな場所から一覧に出てきます。
カテゴリ別アーカイブ
タグ別アーカイブ
トップページの一覧
日付アーカイブ
結果として、「ほぼ同じ中身の一覧ページ」が大量に増えます。
検索エンジンから見ると、どのページを優先して評価すべきか分かりにくくなり、SEO 的にもあまりおいしくありません。
特に、コンテンツ量が少ないうちから日付アーカイブを開放していると、
「中身が薄いアーカイブページ」が量産されることになります。
これは避けたいパターンです。
サイトの“印象”としてもマイナスになることがある
日付アーカイブは、「古い年月」がそのまま残り続けます。
例えば、サイドバーに「2010年」「2011年」「2012年…」と並んでいて、
直近の年がスカスカだったりすると、
更新止まってる?
このサイト、今も動いてるのかな?
という印象を与えかねません。
「日付で見せること」に価値があるニュースサイトならまだしも、
そうでないサイトでは、日付アーカイブが“古さ”を強調してしまうこともあります。
どんなサイトは「日付アーカイブを無効化」した方がいいか
無効化した方がいいケース
一人運営のブログで、記事数がそこまで多くない
企業サイト・サービスサイトで、情報を「カテゴリ」で整理したい
コンテンツの鮮度より「内容そのもの」が重要なサイト
こういったサイトでは、日付アーカイブはほぼ不要です。
ユーザーは「いつ書かれたか」より「何について書かれているか」で探したいからです。
この場合、
カテゴリ・タグ・検索機能をしっかり整え、
日付アーカイブはそもそも使わない、という設計の方がスッキリします。
残した方がいいケース
ニュースサイト・メディアサイトで、「いつのニュースか」が重要
「月別アーカイブ」から読み返す文化があるブログ
「毎日更新」「◯年続いている」こと自体を見せたいサイト
こういうサイトでは、日付アーカイブに意味があります。
ユーザーが「2013年のニュースだけ見たい」「先月の記事をまとめて見たい」と思うことがあるからです。
つまり、「日付アーカイブを無効化するかどうか」は、
サイトのコンセプトとユーザーの行動パターンで決めるべき話です。
無効化の基本的な考え方(やり方のイメージ)
SEO プラグインやテーマの設定でオフにするパターン
Yoast SEO や All in One SEO などの SEO プラグインには、
「日付アーカイブを無効化」「日付アーカイブを noindex にする」といった設定が用意されていることが多いです。
この場合、管理画面から
日付アーカイブを完全に無効化(404 やリダイレクト)
インデックスさせない(noindex)
といった制御ができます。
コードを書かずに済むので、プログラミング初心者にはこの方法がいちばん現実的です。
テーマによっては、アーカイブの表示設定の中に「日付アーカイブを使わない」といったオプションがあることもあります。
コードでリダイレクトするイメージ
もう少し踏み込んで、functions.php などで制御する場合は、
「日付アーカイブにアクセスされたら、トップページなどにリダイレクトする」という書き方がよく使われます。
イメージとしては、こんな感じです。
add_action( 'template_redirect', function() {
if ( is_date() ) {
// 日付アーカイブに来たらトップページへ 301 リダイレクト
wp_redirect( home_url(), 301 );
exit;
}
} );
PHPこのコードは、
「もし今表示しようとしているページが日付アーカイブなら、
トップページに 301 リダイレクトする」
という意味です。
プログラミング的には、
「特定のルート(/2016/01/ など)へのアクセスを、別のルートに転送するミドルウェア」
のようなイメージで捉えると分かりやすいです。
無効化するときに意識しておきたいポイント
404 にするか、リダイレクトするか
日付アーカイブを無効化するとき、挙動としては大きく二つに分かれます。
404(ページが存在しない)を返す
トップページやブログ一覧にリダイレクトする
まだ立ち上げ直後で、日付アーカイブが検索エンジンにほとんどインデックスされていないなら、
404 にしてしまっても問題はほぼありません。
すでにインデックスされている場合は、
301 リダイレクトでトップや適切な一覧に飛ばす方が、
検索エンジンにもユーザーにも親切なことが多いです。
どちらにせよ、「日付アーカイブを本番の導線として使わない」と決めたなら、
中途半端に残さず、挙動をはっきりさせるのがポイントです。
サイドバーやメニューから「月別アーカイブ」を消す
日付アーカイブを無効化するなら、
ウィジェットやメニューから「月別アーカイブ」リンクも外しておくべきです。
外観 → ウィジェット で「アーカイブ」ウィジェットを外す
メニューに「アーカイブ」が入っていれば削除する
こうしておけば、ユーザーが日付アーカイブに迷い込むことも減ります。
ルート(URL)を閉じるだけでなく、
「そこに行くリンク」もちゃんと片付ける。
これは情報設計としてとても大事な一手間です。
プログラミングの感覚で整理してみる
これは「不要なビューとルートを削る」リファクタリング
フレームワークでアプリを作ると、
最初から「月別一覧」「日付別一覧」みたいなルートやビューが用意されていることがあります。
でも、自分のアプリにとって不要なら、
そのビューを使わない
そのルートを閉じる
リンクも出さない
というリファクタリングをしますよね。
WordPress の日付アーカイブも、まさにそれと同じです。
「フレームワークが最初から用意してくれているから」ではなく、
「自分のサイトの設計に必要かどうか」で判断して、不要なら削る。
それだけで、
サイト構造がシンプルになる
重複コンテンツが減る
ユーザーの導線が分かりやすくなる
という、かなり大きなメリットが得られます。
まとめ:日付で見せないサイトなら、日付アーカイブはいらない
「日付アーカイブを無効化」というテーマの本質は、
このサイトは“いつ”より“何を”で記事を探してほしいのか
日付という軸は、このサイトの情報設計に本当に必要か
重複した一覧ページを量産していないか
を一度ちゃんと考えることです。
ニュースサイトやメディアとして「日付」が主役なら残す。
そうでないなら、思い切って無効化してしまう。
やること自体はシンプルで、
SEO プラグインやテーマの設定で日付アーカイブをオフにする
必要なら is_date() を使ってリダイレクトする
ウィジェットやメニューから「月別アーカイブ」を外す
これだけです。
でも、この小さな決断が、
あなたの WordPress サイトを「なんとなくブログっぽいサイト」から
「情報設計までちゃんと考えられたサイト」に一段引き上げてくれます。


