Written by Kasumi

親子階層の設定をしているworpdressカテゴリーページでページ内容が重複してしまうのを対処する方法。【canonicalを設定しよう】

wordpressのカテゴリーページで親子階層を設定しているページがある。

親子階層ページ・親ページ・子ページが生成されてしまい、ページ内容が重複してしまう。

親子階層ページが正しいページだとgoogleに認識させたい。

このような悩みを解決します。

functions.phpでcanonicalタグを設定

//-----------------------------------------------------
// 【カテゴリーページの親子階層を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') ) .'"/>';
  }
}

親子階層ページ・親ページ・子ページが生成されてしまうのは、wordpressのデフォルト仕様になります。

上記コードをfunctions.phpに記述します。

記述する事で、親子階層ページのURLをcanonicalタグで各カテゴリーページに設置し、URLの正規化を行う事ができます。

これにより、googleの検索エンジンに親子階層ページが正しいURLだと認識させます。

以上で完了です。

まとめ

本記事のcanonicalの設置に加えリダイレクトも行うと良いですが、1件ずつリダイレクト処理をしなければいけません。

地域検索ページなどカテゴリー数が多いとやっかいですし、カテゴリーを増やしたらその度にリダイレクトしなければいけません。

なのでとりあえずcanonicalで様子を見てみる事をお勧めします。

個別にリダイレクトするやり方は以下記事を参考にしてください。

以上で解説を終わります。

目次

関連記事

WordPress

【PHP】配列から重複した値を削除する方法

2023.02.28
864
WordPress

テンプレート直書きでショートコードを呼び出す方法

更新日:2019.11.28
1259
WordPress

【WordPress】URL設定を間違えて管理画面にログイン出来ない。【即解決】

2022.06.13
1142
プログラミング

MANPローカルサーバーで400 Bad Request errorになりサイトが表示されない【解決!ローカルのドメイン・ディレクトリ名が原因かも?】

2022.04.18
917