サイトマップURLとcanonicalが一致しない時は、まず正規URLを1つに決める
Search Consoleでサイトマップに送ったURLが登録されない、代替ページになる、Googleが別のcanonicalを選ぶ。そんな時は、サイトマップURLとcanonicalが別々のURLを指していないか確認します。
サイトマップは「このURLを見てください」と伝える一覧で、canonicalは「代表URLはこちらです」と伝えるシグナルです。両方が違うURLを指していると、Googleに渡る情報が分かれます。
先に結論
- 検索結果に出したい正規URLを1つ決める
- そのURLが200で開き、noindexではないか確認する
sitemap.phpに入っているURLを確認する- HTMLソースのcanonicalを確認する
- 内部リンクがどのURLへ向いているか見る
- リダイレクトの最終URLも確認する
- 修正後にURL検査でユーザー指定canonicalとGoogle選択canonicalを見る
5つのURLを同じ方向へ揃える
canonicalやサイトマップの問題は、1か所だけ直しても残ることがあります。次の5つを並べて、同じURLへ向いているか確認します。
| 確認するURL | 見る場所 | よい状態 |
|---|---|---|
| 検索結果に出したいURL | 自分で決める正規URL | 200で開き、noindexではない |
| サイトマップURL | sitemap.php | 正規URLが入っている |
| HTMLのcanonical | ページソース | 正規URLを指している |
| 内部リンクURL | トップ、ハブ、関連記事 | 正規URLへリンクしている |
| リダイレクト最終URL | ブラウザ、URL検査、HTTP確認 | 正規URLへ直接到達する |
よくあるズレ
| 状態 | 起きること | 対応 |
|---|---|---|
| サイトマップはA、canonicalはB | Googleに伝える代表URLが分かれる | 出したいURLへ両方を揃える |
| サイトマップはリダイレクト前URL | 毎回転送をたどらせる | リダイレクト後の最終URLを入れる |
| canonicalはhttp、サイトマップはhttps | URL表記が揺れる | httpsへ統一する |
| wwwありなしが混在 | 別URLとして扱われる可能性 | リダイレクト、canonical、サイトマップを統一する |
| canonical先がnoindexや404 | 代表URLが検索に出しにくい | 先にcanonical先を200でインデックス可能にする |
| 内部リンクだけ古いURL | サイト内シグナルが古いURLへ向く | ハブ、関連記事、HTMLサイトマップを直す |
Search Consoleで見る項目
URL検査では、サイトマップに入れたURLだけでなく、canonical先URLも必要に応じて検査します。
- URL検査の対象URL
- ユーザー指定canonical
- Googleが選択した正規URL
- サイトマップに登録されているか
- 参照元ページや内部リンクの有無
- ライブURLテストで取得できるか
- noindex、robots.txt、404、5xxがないか
Googleが別URLを選んでいる場合は、Googleが別のcanonicalを選んだ時の確認順へ進みます。
sitemap.phpで確認すること
PHPサイトで sitemap.php を使っている場合、固定URLリストやDB登録、ローカルファイル補完によってURLが出ていることがあります。載っているかだけでなく、載っているURLが正規URLかを見ます。
- httpsの本番URLになっている
- リダイレクト前のURLではない
- テスト環境や古いファイル名ではない
- canonical先と同じURLである
- 重複して2回出ていない
新規記事そのものが sitemap.php に出ていない場合は、sitemap.phpに新規記事が出ていない時の確認方法を先に見ます。
どちらを直すか迷う時
サイトマップURLとcanonicalが違う時は、機械的に片方へ合わせるのではなく、検索結果に出したいURLを先に決めます。
| 出したいURL | 直すもの |
|---|---|
| サイトマップに入っているURLを出したい | canonical、内部リンク、リダイレクトをサイトマップURLへ揃える |
| canonical先URLを出したい | サイトマップ、内部リンクをcanonical先へ揃える |
| リダイレクト後のURLを出したい | サイトマップとcanonicalを最終URLへ変える |
| どちらも古い | 新しい正規URLを決め、古いURLを整理する |
AIに渡す調査メモ
相談する時は、サイトマップURL、canonical、Google選択canonical、内部リンク、リダイレクト最終URLを分けて書きます。
サイトマップURLとcanonicalが一致しているか確認したいです。
検索結果に出したいURL:
sitemap.phpに入っているURL:
HTMLのcanonical:
Search Consoleのユーザー指定canonical:
Googleが選択した正規URL:
内部リンクが向いているURL:
ブラウザで開いた時の最終URL:
対象URLのHTTP状態:
200 / 301 / 404 / 500 / 未確認
noindex:
あり / なし / 未確認
確認してほしいこと:
1. サイトマップURLとcanonicalが矛盾していないか
2. どのURLを正規URLにすべきか
3. sitemap.php、canonical、内部リンク、リダイレクトのどれを直すべきか
4. Search Consoleで次に見る項目