canonicalタグの相談が長引く案件は、実装の細部より前段の意思決定で止まりがちです。並び替えURLが増えた、旧URLへの内部リンクが残った、商品バリエーションごとに別URLを切った。そうした状態で `rel="canonical"` だけを足しても、Google が選ぶ正規URLと、事業側が検索流入の受け皿にしたいURLはそろいにくい。
先に結論を置きます。canonicalタグは「残すURLを決めたあと」に使うべきで、URL整理の代わりに使うものではありません。 Google の 重複 URL の統合 でも、redirect と `rel="canonical"` は強いシグナル、サイトマップは弱いシグナルとして扱われています。つまり、正規URLの意思表示はタグだけで完結しません。内部リンク、サイトマップ、構造化データ、redirect の向きまでそろって初めて、検索評価が集まり始めます。
canonicalは残すURLを決めてから使う
canonicalタグの役割は、似た内容のURLを複数残さざるを得ないときに、「どれを代表URLとして扱ってほしいか」を示すことです。逆に言えば、残すべきURLが決まっていない段階で canonical を入れても、判断を先送りしているだけでしょう。Google の 重複した URL の正規化 を読むと、Google 側でも複数のシグナルを総合して正規URLを選ぶ前提です。設計が曖昧なサイトほど、その総合判断が事業側の期待から外れやすくなります。
私が先に固めるのは、次の三条件です。
- 同じ検索意図を受けるURLが一つに絞れていること。
- 半年後も更新責任者が残るURLであること。
- キャンペーン名や年度のような短命な要素をURLに含まないこと。
この三条件を満たさないURLを正規URLにすると、半年から1年の運用で手戻りが起きやすくなります。特に、月間PV10万未満で重複候補URLが50本未満のサイトは、まず手作業でURL台帳を作るべきです。ここで自動ルールだけに頼ると、例外ページを見落とします。月間PV10万から100万のサイトなら、記事詳細、商品詳細、主要カテゴリだけを index 対象にするテンプレート設計へ寄せたほうが収束は速い。月間PV100万超で複数部署がURLを増やせる体制なら、URL命名の承認権限を一本化しない限り、canonical では増殖を止められません。
判断を整理しやすいよう、URL統合の手段を最初に比べておきます。
手段 | まず選ぶ場面 | 避けるべき場面 | 実務上の推奨 |
|---|---|---|---|
`canonical` | ユーザー都合で副URLを残す必要がある | 恒久的に旧URLを捨てられる | 副URLを残す事情が明確なときだけ使う |
`301 redirect` | 旧URLを今後見せる必要がない | 一時的な比較検証だけで残したい | 恒久移転なら第一候補にする |
`404 / 410` | 代替先がない削除URL | 近い内容の移転先がある | 無理に関連の薄いURLへ寄せない |
`noindex` | 検索結果に出したくないが閲覧は残す | 正規URLを一つに示したい | canonical の代用品として使わない |
ここで最も重要なのは、検索意図が同じならURLを減らし、役割が違うなら無理に束ねないという線引きです。Google の URL 構造のガイドライン が単純で分かりやすいURLを勧めているのも、クローラだけでなく運用者の判断ミスを減らせるからです。複雑なURL設計は、それだけで canonical の事故率を押し上げます。
redirectとcanonicalの境界を先に決める
この二つを混同すると、旧URLが長く残り、内部リンクも外部リンクも割れたままになります。判断基準は単純です。ユーザーにも検索エンジンにも今後見せたいURLが一つなら redirect、複数URLを残す事情があるなら canonical。この順序を逆にしないほうが安全です。
Google の 301 リダイレクトの使い方 でも、恒久的なURL変更にはサーバーサイドの恒久redirectが勧められています。リニューアル、CMS移行、末尾スラッシュの統一、英数字URLへの置き換え。こうした変更は canonical ではなく `301` で処理すべきです。事業側が「念のため旧URLも残したい」と言い出しやすい場面ですが、本番公開後も旧URLを見せ続ける理由がないなら、迷わず redirect を選ぶほうが安定します。
特に、URL 変更を伴うサイト移行 の案件では、旧URLから新URLへの一対一対応表が欠かせません。旧記事100本を一括でトップページへ飛ばす処理は避けるべきで、Google に soft 404 と受け取られる余地が残ります。経験上、移行対象が100URLを超えるなら、公開前に少なくとも20URLを抜き出し、旧URL、転送先、canonical、サイトマップ掲載先が一致しているかを確かめないと危険です。
一方で、redirect を選ばないほうがよい例外もあります。
- 印刷用ページを営業資料として残す必要がある。
- アプリ共有URLを配布済みで、アプリ内導線に影響が出る。
- 計測パラメータ付きURLが広告運用上どうしても残る。
- 外部システムの都合で副URLが消せない。
この場合は主URLへ canonical を向ければよいのですが、条件があります。主URLと副URLの本文差分が小さいこと、主要内部リンクが主URLを向いていること、テンプレート単位で自己参照canonicalが崩れないことです。どれか一つでも欠けるなら、canonical より設計変更を先に進めたほうがいい。
削除URLの扱いも、この段階で切り分けておきます。HTTP ステータス コード に沿えば、代替先がないURLは `404` か `410` を返すのが筋です。終売商品、終了キャンペーン、統合先のない古いお知らせを、無理に近いカテゴリへ canonical するのは避けるべきでしょう。検索評価を継承したい気持ちは分かりますが、関連の薄いページへ寄せる処理は、結局ユーザー体験も損ねます。
こんな場面では判断を迷わないほうがよいでしょう。
- サイト移行後に旧URLを見せる理由がないなら `301` を選ぶべきです。
- 削除ページに代替先がないなら `404` か `410` を返すべきです。
- 印刷用や計測用など副URLを残す事情があるときだけ canonical を使うべきです。
- 検索結果に出したくないだけなら noindex を使い、canonical の役割を混ぜないほうが安全です。
パラメータURLは需要で残す範囲を見極める
ここを一律で「全部カテゴリトップへ canonical」とすると、取れる流入まで消してしまいます。パラメータURLの判断は、計測用なのか、並び替えなのか、絞り込みなのか、ページ分割なのかで分けるべきです。同じ「?」付きURLでも役割は同じではありません。
最初に切るべきなのは、`utm_source`、`gclid`、表示モード切り替え、アプリ識別子のように本文や商品集合を変えないパラメータです。これらは主URLへ寄せて問題ありません。可能ならサーバー側で吸収し、難しければ canonical を置く。ここに迷いは不要です。
難しいのは絞り込みと一覧ページです。Google の e コマースの SEO と ページ分割と段階的ページ読み込み を踏まえると、意味のない並び替えは検索対象から外し、需要のある条件ページだけを残すのが基本になります。ページ2をページ1へ canonical する設計も避けるべきです。ページ2にしか存在しない商品や記事がある限り、それは別ページだからです。
実務では、次の基準を置くと迷いが減ります。
URLの種類 | 残す判断基準 | 推奨処理 | 例外 |
|---|---|---|---|
計測パラメータ | 本文も集合も不変 | 主URLへ canonical か正規化 | 外部配信先の都合でURL固定が必要なとき |
並び替えURL | 商品集合が同じ | index 対象から外す | 新着順そのものに需要が継続してあるとき |
絞り込みURL | 月間検索需要100以上、かつ一覧内商品8件以上 | 独立URLとして残す | 在庫変動が激しく常時薄い場合 |
ページ分割URL | 2ページ目以降に固有商品がある | 各ページを自己参照canonical | ページ2以降が空ページ化しているとき |
数値を入れる理由は単純です。「状況による」と言い始めた瞬間に、不要URLが際限なく残るからです。月間検索需要100は万能の線ではありませんが、小規模から中規模のサイトで「残すか切るか」を決める基準としては使いやすい。さらに、90日間で自然検索流入ゼロ、内部導線でもクリックがほぼ発生しない絞り込みURLが一カテゴリ内で200本を超えるなら、そのテンプレートは整理対象と見てよいでしょう。
例外もあります。たとえば「地域名+サービス」「勤務地+職種」「ブランド名+カテゴリ」のように、絞り込みに見えて実質は独立した検索意図を持つページです。こうした条件ページは安易に canonical で潰すべきではありません。反対に、価格順やレビュー順のように集合が同じ並び替えは、検索流入の受け皿にしないほうが管理しやすい。
無限スクロールや `load more` も注意が必要です。モバイル ファースト インデックスのベスト プラクティス を踏まえると、モバイル表示だけで商品一覧の取得方法が変わる構成は危険です。見た目が同じでも、裏側ではページ分割URLを持たせ、HTML上のリンクでたどれるようにしておくべきでしょう。ボタン操作に依存する一覧は、クロールの再現性が落ちます。
ECとCMSは量産される重複を元から止める
ECとCMSでは、重複URLの発生源がほぼテンプレートに埋め込まれています。だからこそ、1ページずつ直すのではなく、量産元から止める必要があります。
ECで先に決めるべきは、商品バリエーションをどこまで別URLで残すかです。色違い、サイズ違い、容量違い、型番違いをすべて個別URLにして、あとから親商品へ canonical を向ける設計は勧めません。差分の小さいバリエーションを増やすほど、在庫切れ、レビュー差、画像差し替え、内部リンクの揺れが連鎖し、管理コストだけが膨らみます。型番ごとの検索需要が月間100以上あり、価格差か仕様差が明確で、レビューも分かれるなら別URLで残す。そこまで差がないなら親商品へ集約する。 この基準を最初に引くべきです。
商品ページの厚みの作り方そのものは ECサイト商品ページSEOの実務基準 商品情報と構造設計で評価を積み上げる でも整理していますが、canonical の観点でも結論は同じです。差分の小さいSKUを全部 index させるより、主力商品ページに情報を集約したほうが評価も運用も安定します。SKUが1,000を超えるサイトで色違いを全件 index させる設計は、よほどの理由がない限り避けたほうがよいでしょう。
CMSで重複源になりやすいのは、タグページ、月別アーカイブ、著者別一覧、印刷用ページ、AMPの残骸、転載先URLです。ここで曖昧にしてはいけないのは、記事詳細を主役にするのか、一覧ページを主役にするのかという点です。記事詳細で検索流入を取りに行くなら、薄いタグ一覧や月別一覧を index 対象に残すべきではありません。反対に、カテゴリ一覧そのものに比較価値があり、一覧ページが月間検索需要を持つなら、そこは独立ページとして設計し直す余地があります。
転載にも例外があります。原本を優先したいなら、転載先は原本へ canonical を向けるべきです。ただし、転載先が大幅に加筆して別の検索意図を取りに行くなら、その時点で別記事です。原本と転載先の差分が本文の3割を超えるなら、私は canonical を前提にしません。別URLとして育てるか、転載条件を見直したほうが安全です。
ここでも判断しやすい場面を三つに分けておきます。
- SKU1,000未満で差分の小さい色違いが中心なら、親商品へ集約するべきです。
- タグや月別アーカイブが100本以上あるCMSなら、記事詳細を主役にして周辺URLを整理するべきです。
- 転載先が本文の3割以上を書き換えるなら、原本への canonical を前提にしないほうがよいです。
「全部残してあとで canonical」という発想は、ECでもCMSでも失敗しやすい。重複を量産するテンプレートを残したままでは、運用担当が変わるたびに同じ問題が再発します。
hreflangと構造化データの整合を崩さない
多言語サイトでは canonical と `hreflang` の役割を混ぜないことが大切です。多言語サイトの管理 と 複数地域向けサイトの管理 を見ると分かる通り、言語違いのページ同士は別ページとして扱う前提です。英語版を日本語版へ canonical する、繁体字版を日本語版へ canonical する、といった処理は避けるべきです。 それは重複整理ではなく、言語別ページの存在を自分で否定することになります。
例外は、同じ言語で地域だけが違い、内容差がごく小さいケースです。英語US版と英語UK版、日本語のURLが複数地域向けに分かれているケースでは、同一言語内の実質重複を canonical で寄せつつ、地域違いを `hreflang` で補助する判断が成り立ちます。ただし、この場合も地域ごとの差分が見出し、価格、配送条件、問い合わせ窓口など重要要素に及ぶなら、別ページとして維持したほうが自然です。
もう一つ見落とされやすいのが、canonical先と周辺メタデータの食い違いです。構造化データの `url`、パンくずのリンク先、OGPのURL、XMLサイトマップ、alternate タグ。ここがそろっていないと、Google へのシグナルが散りますし、社内確認にも手間がかかります。構造化データの実装整理は JSON-LDの書き方を実務で整理 ツールを使って安全に実装する基本手順 や Schema.orgマークアップの最新トレンド Google対応と実務設計のずれを埋める で詳しく扱っていますが、canonical の観点でも結論は同じです。残すと決めたURLを、head と本文周辺情報の両方で一致させる。 まず守るべきは、この一点です。
JavaScriptサイトでは、さらに慎重に確認します。SSRや静的生成を使っていても、クライアント側の head 更新で canonical があとから書き換わる構成は珍しくありません。管理画面で正しいURLを設定していても、ビルド後HTMLに別URLが出ていれば意味がない。公開前に「ソースHTML」「レンダリング後DOM」「サイトマップ」の三点を突き合わせるべきでしょう。ここを怠ると、数百URL単位で誤った canonical が量産されます。
実務では、次の原則を守ると事故が減ります。
- 異なる言語同士を canonical で束ねない。
- 同一言語の地域差分だけを canonical の検討対象にする。
- canonical先と構造化データのURLを必ず一致させる。
- JavaScriptで canonical をあとから上書きしない。
実装前に誤設定を洗い出す具体的な確認手順
canonicalの相談で先に確かめるべき誤設定は、だいたい決まっています。ここを実装前に潰しておくと、公開後の修正回数は大きく減ります。
- 一覧2ページ目以降を1ページ目へ canonical していないか。
- 並び替えURLと絞り込みURLを一律でカテゴリトップへ寄せていないか。
- 削除済みページを無関係な現役ページへ canonical していないか。
- HTMLの canonical、XMLサイトマップ、内部リンクの正規URLが一致しているか。
- robots.txt でブロックしたURLを canonical で整理しようとしていないか。
- `noindex` を canonical の代わりに使っていないか。
- JavaScript実行前と実行後で canonical が変わっていないか。
- 旧URLへの内部リンクがパンくず、関連記事、フッターに残っていないか。
- 多言語サイトで異言語ページへ canonical を向けていないか。
- 構造化データの `url` と canonical先が食い違っていないか。
この十項目は、実務での確認順としてもそのまま使えます。1から4まではインデックス判断に直結し、5から7は実装上の事故、8から10は運用上のずれを見つけやすい。特に4は重要で、Google の 重複 URL の統合 でも、異なる手段で別のURLを示さないことが勧められています。
私なら、公開前の点検を次の手順で進めます。
- 代表テンプレートごとに20URLを抽出する。
- 各URLについて「自己参照canonicalか」「別URLを向けるか」を表にする。
- 非推奨URLは `301`、`canonical`、`404/410` のどれで処理するかを確定する。
- サイトマップ、パンくず、主要ナビ、関連記事のリンク先を同時に見直す。
- ソースHTMLで canonical、`hreflang`、構造化データのURL一致を確認する。
- モバイル表示でも同じ head 情報が出るかを確認する。
- 旧URLへの内部リンクが残っていないかをテンプレート単位で洗う。
- 例外ページの発生源がCMSか外部連携かを特定する。
- 監視対象URLを20件決め、公開後の確認表を先に作る。
- redirect を1年以上維持する担当者を決める。
この手順まで決めてから実装に入るべきです。タグを書いたあとでチェックリストを作るやり方では、例外が漏れます。
公開後8週間で見るcanonicalの五つの指標
canonical の成否は、公開翌日に判断しないほうが賢明です。Google が旧URL、新URL、重複URLを再評価するには時間がかかります。URL 変更を伴うサイト移行 でも、処理速度は一定ではありません。だからこそ、監視項目は絞って見るべきです。
私が追うのは、次の五つだけです。
- Google が選択した正規URLと指定canonicalの一致率。
- 検索結果に実際に表示されるURLの変化。
- 旧URLへの内部リンク残存数。
- テンプレート別のクロール対象URLの増減。
- クエリごとの着地ページと成果ページの寄り方。
この五つ以外まで増やすと、ダッシュボードは立派でも判断は鈍ります。短期で見るべき指標と、中期で見るべき指標も分けたほうがよいでしょう。
- 公開後2週間: 指定canonicalとGoogle選択URLのずれ、旧URLの再クロール、主要内部リンクの修正漏れを確認する段階です。ここでは流入増減より整合性を見ます。
- 公開後4週間: 検索結果に表示されるURLがどちらへ寄り始めたか、ページ2や絞り込みURLが意図せず残っていないかを見る段階です。
- 公開後8週間: クエリ単位で、狙ったURLに着地が集まったかを確認する段階です。流入だけでなく、問い合わせや購入など成果ページへの寄り方まで見ないと判断を誤ります。
ここで大事なのは、設定変更を短期間で繰り返さないことです。公開から1週間で canonical を変え、2週間後に再び redirect へ切り替えるような運用は避けるべきでしょう。変えるたびに観察期間がリセットされます。
運用体制ごとの推奨も明確にしておきます。
- 月間PV10万未満で専任SEO担当がいないなら、週1回20URLの目視確認を続けるべきです。
- 月間PV10万から100万で編集、広告、開発が分かれているなら、テンプレート単位の監視表を作るべきです。
- 月間PV100万超でURL生成経路が複数あるなら、ログや自動抽出で canonical 差分を監視するべきです。
設定そのものより、例外URLの再発を止められるかどうかが成果を分けます。JPSM SEO 編集事業部でも、長く効く改善は、head の修正だけでなく URL生成ルールまで止められた案件でした。
迷ったら単一URLへ寄せる順番で着手する
canonicalタグの実務で迷ったときは、複雑に考えないほうがうまくいきます。検索意図ごとに残すURLを一つ決め、そのURLに向かってシグナルをそろえる。 これが基本です。パラメータURL、ページ分割、ECのバリエーション、多言語、移行、転載。論点はいろいろありますが、順番を守れば判断はかなり楽になります。
着手順は、次の七つで十分です。
- 検索意図ごとに残すURLを一つ決める。
- 残さないURLを `301`、`canonical`、`404/410`、`noindex` のどれで処理するか決める。
- パラメータURLを「計測用」「並び替え」「絞り込み」「ページ分割」に分ける。
- ECとCMSの量産テンプレートを先に止める。
- canonical先と `hreflang`、構造化データ、サイトマップ、内部リンクを一致させる。
- 公開前の20URL点検表を作る。
- 公開後2週、4週、8週の確認項目を先に共有する。
この順で進めれば、canonical はようやく効く状態になります。逆に、この順序を飛ばすなら、タグが増えても検索評価は安定しません。判断が難しい案件ほど、JPSM SEO 編集事業部のようにURL台帳、テンプレート設計、公開後監視を一気通貫で見る進め方のほうが失敗は少ないはずです。
最初の一歩は大きくありません。今日やるべきことは、代表テンプレートを一つ選び、20URLだけ表にして「残す」「寄せる」「消す」を確定することです。 その表が作れないなら、canonical を書く段階ではありません。まずはURLの意思決定から始めてください。
