2026年10月4日

2026年10月4日

WordPressの重複コンテンツ(Duplicate Content)対策:原因の見つけ方と直し方

WordPressの重複コンテンツは、多くの場合「同じ記事が複数のURLで開ける」状態から生まれます。まず Search Console で Google がどのURLを正規とみなしているかを確かめ、原因の多い順に、URLの統一(301リダイレクト)、canonical の確認、不要なページの noindex や統合で直していきます。この記事では、症状の読み方から、WordPressで起きやすい原因ごとの確認方法と直し方までを順に説明します。

重複コンテンツは「罰」ではなく「選ばれ方」の問題

Google 検索セントラルの説明では、同じ内容が複数のURLにあること自体は、だます意図がない限りペナルティの対象ではありません。Google は似たページをまとめ、その中から1つを正規URL(canonical)として選んで検索結果に表示します。

困るのは、選ばれるURLを自分で制御できていない場合です。

  • 意図しないURL(パラメータ付き、http版、添付ファイルページなど)が検索結果に出る
  • 被リンクや評価が複数のURLに分散する
  • クロールの手間が重複URLに割かれ、新しい記事の発見が遅れることがある

つまり対策の目的は、「正規URLを1つに決め、Googleにその意図を正しく伝えること」です。

まず症状を読む:Search Console の確認ポイント

Search Console の「ページ」(インデックス作成)レポートには、インデックスされなかった理由が分類されて表示されます。重複に関係するのは主に次の理由です(表記は変わることがあるので、意味で判断してください)。

  • 重複しています。ユーザーにより、正規ページとして選択されていません:canonical の指定がなく、Google が別のURLを正規として選んだ状態。
  • 重複しています。Google により、ユーザーがマークしたページとは異なる正規ページが選択されました:canonical を指定したのに、Google が別のURLを選んだ状態。指定と実態(リダイレクトや内部リンク)が食い違っていることが多いです。
  • 代替ページ(適切な canonical タグあり):正しく別URLを正規として指定できている状態。問題ではありません。

個別のURLは「URL検査」で調べます。結果にある「ユーザーが指定した正規URL」と「Google が選択した正規URL」が違えば、そのページは調査対象です。

原因と直し方(起きやすい順)

1. ホスト名・プロトコルの揺れ(www の有無、http と https)

最も多い原因です。http://example.com/ と https://www.example.com/ がどちらも200で開けると、同じサイトが丸ごと重複します。

確認はターミナルで行えます。

curl -sI http://example.com/ | head -n 5
curl -sI https://www.example.com/ | head -n 5

正規でない側が 301 と Location: で正規URLへ転送されていれば問題ありません。200 が返る場合は、サーバー(.htaccess や Nginx の設定)かホスティングの管理画面で301リダイレクトを設定します。あわせて「設定」→「一般」の「WordPress アドレス(URL)」と「サイトアドレス(URL)」が正規のURLになっているか確認してください。ここを間違えて保存すると管理画面に入れなくなることがあるので、変更前にバックアップを取り、wp-config.php で戻せることを確認してから作業します。

2. 同じ記事を指す別のURL(パラメータ、末尾スラッシュ、?p=ID)

WordPressには redirect_canonical() という仕組みがあり、?p=123 のような形式や末尾スラッシュの違いを、パーマリンク設定に合ったURLへ自動で301転送します。また、投稿・固定ページでは rel_canonical() が <link rel="canonical"> を出力します。

確認方法は、記事のHTMLにある canonical を見ることです。

curl -s "https://example.com/sample-post/?utm_source=test" | grep -i 'rel="canonical"'

パラメータ付きで開いても、canonical がパラメータなしのURLを指していれば正常です。canonical が出ていない、または2つ出ている場合は、テーマやプラグインの重複を疑います。SEOプラグイン(Yoast SEO、Rank Math、All in One SEO など)は通常コアの canonical 出力を置き換えるので、複数のSEOプラグインを同時に有効化していないか確認してください。

自動転送を止めるプラグインやカスタムコード(redirect_canonical フィルターで false を返すもの)が入っていると、この仕組みが働きません。原因の切り分けでは、そうしたコードの有無も確かめます。

3. 添付ファイルページ

画像をアップロードすると、その画像だけを表示する添付ファイルページが作られる設定のサイトがあります。中身はほぼ画像1枚なので、内容の薄いページが大量にできます。

WordPress 6.4 以降の新規インストールでは添付ファイルページは標準で無効になり、添付ファイルのURLはファイル本体へ転送されます。一方、それ以前から運用しているサイトは、更新後も従来の動作が続く場合があります。この挙動は wp_attachment_pages_enabled というオプションで管理されており、WP-CLI では次のように確認・変更できます(変更前にバックアップを取ってください)。

wp option get wp_attachment_pages_enabled
wp option update wp_attachment_pages_enabled 0

SEOプラグインにも添付ファイルページを転送する設定があります。どちらで行うかを決め、二重に設定しないようにします。

4. 内容の薄いアーカイブ(タグ、日付、投稿者)

1記事しか属さないタグのアーカイブや、1人で書いているサイトの投稿者アーカイブは、個別記事とほぼ同じ内容になります。対処は2通りです。

  • タグを整理して、記事が複数集まる意味のあるタグだけを残す
  • 残すが検索には出さない場合は noindex にする

SEOプラグインを使っていればその設定で行います。プラグインを使わない場合は、WordPress 5.7 以降のコアにある wp_robots フィルターで指定できます。

<?php
// 子テーマの functions.php(SEOプラグインで設定している場合は不要)
add_filter( 'wp_robots', function ( $robots ) {
    if ( is_date() || is_author() ) {
        $robots['noindex'] = true;
        $robots['follow']  = true;
    }
    return $robots;
} );

サイト内検索の結果ページも、同じ理由で検索エンジンに出さない設定にするのが一般的です。

5. ページ分割とコメントページ

/page/2/ のような一覧の2ページ目以降に、1ページ目への canonical を付けるのは誤りです。2ページ目には別の記事が並んでいるので、それぞれ自己参照の canonical のままにします。Google は現在 rel="prev" と rel="next" をインデックスの判断に使っていないので、それを足しても重複の解消にはなりません。

コメントを分割表示している場合の /comment-page-2/ も重複の原因になります。「設定」→「ディスカッション」でコメントの分割が必要か見直してください。

6. サイト内の似た記事どうし

同じテーマで書いた記事が複数あると、どちらも中途半端に評価されることがあります。これはURLの技術的な問題ではなく、内容の重複です。より充実した1本に内容を統合し、残りのURLから統合先へ301リダイレクトします。リダイレクトの管理には Redirection などのプラグインが使えます。統合した後は内部リンクも新しいURLに張り替えます。

7. ステージング環境やコピーサイトがインデックスされている

ステージング環境が公開状態だと、本番と同じ内容が別ドメインに存在することになります。「検索エンジンでの表示」のチェック(noindex の指示)だけでは不十分で、Basic 認証などでアクセス自体を制限するのが安全です。他サイトに無断転載されている場合は、自分の記事に自己参照の canonical があることを確認したうえで、転載先の運営者や、必要に応じて Google の著作権侵害の申し立て手続きに連絡します。

直した後の確認

修正後は、主要なURLを「URL検査」で調べ、「インデックス登録をリクエスト」します。「ページ」レポートの数値が変わるには、数週間かかることがあります。(2026年10月現在)Search Console の画面表記は随時変わっているので、項目名が違っていても、正規URLの指定と選択の状態を確認するという目的で読み替えてください。

canonical はあくまで Google へのヒントで、指示ではありません。canonical、301リダイレクト、内部リンク、サイトマップのURLがすべて同じ正規URLを指している状態が、意図どおりに選ばれやすい状態です。どれか1つでも別のURLを指していると、Google が独自に判断する余地が残ります。

まとめ

  • 重複コンテンツは罰ではなく、どのURLを正規として選ばせるかの問題です。
  • Search Console の「ページ」レポートとURL検査で、指定した正規URLと Google の選択を比べて症状を読みます。
  • 起きやすい原因は、ホスト名・プロトコルの揺れ、パラメータなどの別URL、添付ファイルページ、薄いアーカイブ、ページ分割の誤設定、似た記事どうし、ステージングの公開です。
  • 301リダイレクト、canonical、noindex、記事の統合を原因に合わせて使い分けます。
  • canonical・リダイレクト・内部リンク・サイトマップのURLを揃え、変更前にはバックアップを取ります。

お気軽にご相談ください

お見積りへ お問い合わせへ
▲