theonehub.app

WEB — Webサイトの基礎

canonicalで伝える正規URLと実際の表示を分ける

canonicalで伝える正規URLと実際の表示を分けるのアイキャッチ

同じ内容が複数のURLで開くとき、canonicalは代表として扱ってほしいURLを検索エンジンへ伝える方法です。ブラウザを転送したり、指定通りの選択を強制したりするものではありません。

この記事の目次

重複する組み合わせを特定する

不要なパラメーター付きURLなど、実質的に同じページの候補を整理します。似たテーマというだけの別記事をまとめないようにします。内容、用途、残す必要があるURLを先に比べます。

公開する代表URLを指定する

代表にするURLは開けるページを使い、HTMLのheadなどに指定します。以下は形式の例で、自分のページの完全なURLへ置き換えます。

<link rel="canonical" href="https://example.com/guide/">

代表ページ自身にも自己参照のcanonicalを置き、テンプレートを流用して全記事が同じURLを指さないか確認します。

ほかの手がかりを揃える

サイト内リンク、サイトマップ、リダイレクトで異なる代表を案内しないようにします。別言語の本文を持つページでは、その言語の正規URLと多言語の対応を整理し、日本語を英語へ一律にまとめないようにします。

Googleが選んだURLを確認する

canonicalは指定が必ず採用される保証ではありません。Search Consoleでユーザー指定とGoogle選択の正規URLを確認します。違いがある場合は、本文の重複、公開状態、リンクの整合性を調べます。

重複候補を整理し、代表URLの指定とサイト内の案内を揃える
重複候補を整理し、代表URLの指定とサイト内の案内を揃える
画像を選ぶと拡大できます。
  1. 実質的に同じ内容のURLを整理します。似たテーマだけではまとめません。
  2. 公開する代表URLをcanonicalで示します。自動転送を行う指定ではありません。
  3. 内部リンクやサイトマップも、同じ代表URLを案内するように確認します。

内容の対応から代表を決める

canonicalを置く前に、二つのURLが何を表示しているかを比べます。余分な追跡用パラメーターの有無で本文が同じなのか、それとも検索条件や言語によって内容が違うのかを確認します。URLが似ているだけでは、まとめてよいページか分かりません。

代表URLに選ぶページは、読者へ主に案内したい内容と一致させます。別テーマの記事や、全記事のトップを代表にするような一律の設定にしないことが大切です。テンプレートへ組み込む場合は、記事ごとの値が入るかを複数の記事で確認します。

追跡用の値が付いた記事URLの例

同じ記事に、通常のリンクと、案内の経路を示すパラメーター付きリンクがある場面を考えます。両方の本文が実質的に同じで、通常のURLを主に使う設計なら、代表としてそのURLを示す案を検討できます。実際にはパラメーターが内容を変えていないかを先に確認します。

設定後、ブラウザのアドレスが変わらないことを不具合とは考えません。canonicalは転送の操作ではないためです。利用者のURLをそろえたい要件が別にあるなら、リダイレクトなどの設計を別途行います。検索向けに伝える代表と、利用者が通る経路を分けて確認します。

指定と観察の違いを整理する

項目意味
ページのcanonical運営側が伝えている代表URL
サイト内リンク読者へ案内しているURL
サイトマップ掲載した公開URL
Google選択の正規URL検索側で選ばれた結果

これらが違う場合は、どれか一つの値を書き換えて終えるのではなく、意図した代表を決め直して整合性を見ます。英語本文を持つ別言語版は、単に日本語の重複としてまとめないようにします。両言語それぞれの正規URLと、言語間の対応を分けて扱います。変更後は本番の指定を確認し、検索側の結果はその後の観察として追います。

参考リンク