ウェブマスターツールの「Duplicate, Google chose different canonical than user」の対処法
2018年08月14日
Googleのウェブマスターツールで、新しいバージョンのSearch Cosoleを使っていると、ウェブサイトごとの各ページのインデックスステータスを調べるとができます。
あるサイトのインデックス状況を調べていたところ、インデックスされていいないページの原因に
Duplicate, Google chose different canonical than user
というメッセージがあり、大量のページがインデックスされていないという状況になっていました。
このメッセージを日本語訳してみると
重複しているため、Googleは別の正規ページをユーザの指定より優先しました
といった意味になっています。
私の場合ですが、どういったページが対象になっているかというと、
https://ドメイン名/ディレクトリ名/?no=1
https://ドメイン名/ディレクトリ名/?no=2
https://ドメイン名/ディレクトリ名/?no=3
https://ドメイン名/ディレクトリ名/?no=4
https://ドメイン名/ディレクトリ名/?no=5
といった、ページURLの末尾にあるクエリストリングのパラメータが複数あり、パラメータの数字によってページの内容を変えるといった実装をしていたサイトがあったのですが、Googleの判断によって
https://ドメイン名/ディレクトリ名/?no=1
https://ドメイン名/ディレクトリ名/?no=2
https://ドメイン名/ディレクトリ名/?no=3
https://ドメイン名/ディレクトリ名/?no=4
https://ドメイン名/ディレクトリ名/?no=5
上記のように、canonicalでそれぞれのページを指定しているにもかかわらず、no=1が正規ページとしてGoogleに判断されてしまい、それ以外のページは全てインデックスから外されるといった処理がされていました。
※ 実際は1~5ではなく、1~2000くらいまであるページもあり、2から2000までのページが全てインデックスから除外されていました。
これは、私がそれぞれパラメータごとに個別のページと指定しているにも関わらず、Googleが全て同じページだという判断をするという、Google側の誤判断が原因となっています。
しかし、Google側が誤判断をしたところで、サイト管理者の私には為す術はありません。
暫定の対応方法として、以下の方法を行いました。
https://ドメイン名/ディレクトリ名/1
https://ドメイン名/ディレクトリ名/2
https://ドメイン名/ディレクトリ名/3
https://ドメイン名/ディレクトリ名/4
https://ドメイン名/ディレクトリ名/5
サイトURLを上記のように変更を行い、301リダイレクトで元のページからそれぞれ移転後のページへリダイレクトを行いました。
意味としては同じなのですが、GoogleがクエリストリングのGETパラメータを誤認識してしまったことが原因のようなので、仕方がありません。
上記のように対応したところ、全てが元通りといったわけではありませんが、一部のURLは再びインデックスされるようになりました。
問題が起こった発端
問題が起こった発端は、サイトのURLをHTTPからHTTPSへと移行したことが発端でした。
そうすることで、これまでは問題なくインデックスされていたページの一部がインデックスされないという状況が発生してきました。
また、上記のページのような現象は、クエリストリングを利用した全ての動的URLのページに発生したわけではなく、発生したページと、そうでないページが両方ありました。
そのため、HTTPSにして、動的URLにすると必ず上記の現象が起きるわけではなく、起きる場合とそうでない場合あり、それはGoogleのアルゴリズムによって左右されるというのが実情のようです。
また、SSLに変更することでこの問題は起こったページがあったので、SSLと動的パラメータのページの組み合わせがGoogleにとって誤認する原因の1つになる?ということも考えられます。