【WP】カテゴリーページの親子階層の重複URLの対処方法

2021/2/27

2021/10/5

5822 views

カテゴリー重複URL対処

カテゴリーページ等では2つのURLが存在する!

ワードプレスのパーマリンク設定で、「/%postname%/」をしようした場合には以下のような構造のURLが本来のカテゴリーページのURLとなります。

https://zigzow.com/category/親カテゴリースラッグ/子カテゴリースラッグ

しかし!
気づいた人は少ないかもしれませんが、実は以下のように親カテゴリースラッグを省略したURLでも同様の内容が表示されるという重複ページが存在しているのです。

https://zigzow.com/category/子カテゴリースラッグ

一度自身のサイトで確認してみてください。

WordPressのデフォルト仕様だった・・・

じつはこれ調べてみると、困ったことにWordPressのデフォルトの仕様でのようなのです。
本来、親子階層のリンクしか自動では出力しないため問題ないだろうという考えらしいです。

けど、何か気持ち悪いよね

ただ、SEO的にこれってどうなの!?って思いますよね・・・。
なぜんら検索エンジンがこの2つのURLを重複コンテンツと判断された場合にはサイト全体がマイナスの評価を受けてしまうからです。
重複コンテンツを気にしながらサイトを構築している立場からしたらとても気持ち悪いです。

対策方法は2つ

この問題をいろいろ調べた結果の対策としては以下の2つの方法があるようです。

1. リダイレクトをかける方法

この方法は、URLリダイレクトをかけて1つのURLに統一するというものです。
たとえば、「https://zigzow.com/category/子カテゴリースラッグ」へのアクセスがあった場合に「https://zigzow.com/category/親カテゴリースラッグ/子カテゴリースラッグ」へ飛ばす方法です。
リダイレクト設定は「Redirection」というWPプラグインで設定ができます。

【WorPress】URLリダイレクトを適用できるプラグイン「Redirection」の使い方

しかし、この方法はリダイレクトさせるURLが多い場合に非常に面倒なのと新たなカテゴリーを追加したときにも手動で追加しなければならずあまりおすすめではありません・・・。

2. canonicalタグを自動で出力する方法

もうひとつの方法は、カテゴリーページにcanonicalタグを自動で出力する方法です。
以下のコードをfunction.phpに記述することで、カテゴリーページに正規のURLへ設定されたcanonicalタグを生成してくれます。
こちらは、URL自体は2つ存在してしまいますが検索エンジンには正規URLのみ評価対象となるので問題を解決できることになります。

function.php

/* @ カテゴリーページの親子階層重複URLのためのcanonicalタグ生成
----------------------------------------------------------------------------- */
add_action( 'wp_head', 'add_canonical_to_category_pages' );
function add_canonical_to_category_pages() {
  if(is_category()) {
    echo '<link rel="canonical" href="'. get_category_link( get_query_var('cat') ) .'"/>';
  }
}

こちらの方法は、以下のサルワカさんの記事を参考とさせて頂きました。
詳しくは以下のリンクをご確認くださいませ。

カテゴリー重複について「サルワカ」

まとめ

以上、カテゴリーページでの親子階層で重複URLができてしまうことの対策方法の解説になります。
ご質問などありましたらお気軽にコメントください。

この記事へのコメント

  • まだ書き込みはありません

コメントを残す



このサイトの表示速度はどうですか?

当サイトはレンタルサーバーにConoHa WING(コノハウイング)を使っていますよ。

ページの先頭に戻る