WordPressのカテゴリーページでは、子カテゴリーの記事も親カテゴリーの記事リストに表示されてしまいます。この仕様が重複コンテンツを作ってしまいやすいのです。
子カテゴリーの記事が親カテゴリーのリストに表示されないようにするTipsなど、カテゴリーページの重複化を防ぐ方法を紹介します。
なぜ重複コンテンツになるのか
例えば、「東京」という親カテゴリーの下に「渋谷」という子カテゴリーがあるとします。
渋谷カテゴリーに多くの記事をポストしてしまうと、東京カテゴリーに、渋谷カテゴリーの記事のリストが同じように掲載されてしまい、重複コンテンツと認識される可能性があるのです。
自分では意識していなくても、勝手にそうなってしまうので。注意が必要です。
子カテゴリー記事を削除するコード
テーマ内のカテゴリーページの表示をするファイル(index.php、category.phpなど)を編集します。
[php]
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
[/php]
上記のようなループの前に、下記のコードをコピペします。
[php]
<?php
if (is_category()) {
$current_cat = get_query_var(‘cat’);
if ($children = get_categories(‘child_of=’.$current_cat)) {
$exclude = array();
foreach ($children as $child)
$exclude[] = $child->term_id;
query_posts(array(‘cat’=>$current_cat, ‘category__not_in’ => $exclude));
}
}
?>
[/php]
これで、子カテゴリーの記事が親カテゴリーページに表示されることはなくなります。
カテゴリーの説明文をしっかり書く
カテゴリーの説明文をしっかり書きましょう。読者側としてもカテゴリーの説明が書いてあると、分かりやすいです。コンテンツの重複だけでなく、コンテンツファーム対策にもなります。
カテゴリーページをジャンル別の子ブログトップページと考えると、良いと思います。
一記事一カテゴリーが基本
一つの記事を複数のカテゴリーに入れたい気持ちは分かりますが、重複コンテンツの原因になります。
カテゴリーは多くても2つくらいまでにしておきたいです。多くのカテゴリーに属するということは、記事のテーマが絞り込めていなかったり、無駄なカテゴリーが多いことの裏返しです。
私はタグは利用していません。カテゴリーとの違いが良く理解できていないことと、重複コンテンツを避けるためです。もし利用したいのであれば、noindexをメタタグで設定したほうが無難だと感じます。
以上、参考になれば幸いです。
※重複コンテンツ対策にnofollowの指定は必要ないということで修正しました。参考:nofollow属性をリンクに付けるのはどんなとき?
@web_shufuさんご指摘ありがとうございます。
コメント