canonical タグあり と Google Search Console
概要
Google のサーチコンソールで 代替ページ(適切な canonical タグあり)というページが検出された際にどのように考えたらよいか迷いましたので、調べてみた内容をまとめておきます。
そもそも canonical タグとは
canonical という単語の意味は 「正規の」となります。
canonical タグは、サイト内に重複した内容や似たような内容のページが複数ある場合に、どの URL を正規のページとするかを検索エンジンに伝えるために利用する html タグとなります。
タグ自体はページのソースを見ると ヘッダー部分に確認できます。
<head> ... <link rel="canonical" href="正規ページURL"> ... </head>
Google Search Console での検出
Google Search Console で Web サイトを分析の対象としている場合、左側 [インデックス] 作成 – [ページ] から、ページのインデックス登録状況が確認できます。
ページがインデックスに登録されなかった場合、その理由とともにどのページがインデックスに登録されなかったのか確認できます。
例)
この際、この canonical タグに関連して、ページがインデックスに登録されない [代替ページ (適切な canonical タグあり)] が検出されます。
私の場合は、自分で canonical タグを設定したつもりがないにも関わらず、この検出のされ方だったので疑問でした。
WordPress の場合
結局 canonical タグは WordPress の機能によって挿入されていることがわかりました。
WordPress の 投稿でも固定ページでもよいのですが、ページの編集画面の下のほうに Canonical URL の変更 (rel canonical) という部分があり、これに関連しています。
通常は、そのページの URL = Canonical URL の変更 (rel canonical) となっていて、特に食い違いは発生しません。
WordPress においては、投稿や固定ページのパーマリンク (そのページ個別のURL) を設定できます。
私の場合は、一度パーマリンクを設定して公開した後に、パーマリンクを変更したくなったページが発生したため、パーマリンクを変更したことにより、この Canonical URL の変更 (rel canonical) というページとして検出された形となります。
WordPress では、デフォルトでその投稿や固定ページの URL = canonical URL として設定されます。
ただし、一度ページを公開したのちに、パーマリンクを変更した場合、そのページの URL は変更されますが、そのページに対して設定していた canonical URL は、パーマネント変更前の URL のままとなる場合があります。(実際の URL と canonical URL で指定されている URL が異なる状況)
この結果として、Search Console 上で、Canonical URL の変更 (rel canonical) と検出されると考えられます。
対処
検索してみると function.php に remove_action('wp_head’, 'rel_canonical’); を記載するとよいみたいな情報も見つかりましたが、闇雲に function.php で何か行うのではなく、状況を確認して、ヘッダーに記載されている内容が適切な形となるように変更するのがよいと考えます。
具体的には
まずは、Google Search Console で Canonical URL の変更 (rel canonical) 検出されている自分のサイトのページを確認します。
ページのソースを確認し、canonical タグがある場合は、その URL とそのページに関して、紐づけが適切かどうか確認します。
その canonical タグが不要な場合は、WordPress でそのページの編集画面を開き、下のほうにある Canonical URL の変更 (rel canonical) を編集します。
そのページの URL と一致させるには、初期値に戻す形でよいので、記載されている通り 空白にして保存します。
これで、意図しない (パーマリンクの変更後に canonical URL が変更前をさしたまま など) canonical URL の修正ができました。