hreflangとcanonicalの同居は現在推奨されていない…

久しぶりにSEOまわりのサポートをお願いされタスクで溢れかえっているのですが、グローバルに展開されているサイトでhreflangとcanonicalってどう実装するんだっけ?と調べてみたところ…Googleのヘルプ上で両方を一緒に説明しているページが存在していない。(たぶん前から)

じゃあ、日本語でhreflangとcanonicalを同時に併用することを説明しているサイトは何かというと、GoogleのオフィシャルWebmaster blogを引用していた。

以前書かれていたのがこの記述。
Optionally, for pages that have substantially the same content in the same language and are targeted at multiple countries, you may use the rel="canonical" link element to specify your preferred version. We’ll use that signal to focus on that version in search, while showing the local URLs to users where appropriate. For example, you could use this if you have the same product page in German, but want to target it separately to users searching on the Google properties for Germany, Austria, and Switzerland.
即ち同一言語サイトならば重複コンテンツとなるため、canonicalで1サイトを特定できるよと。
例えば全く同一の英語コンテンツだけれどもイギリス支社とアメリカ支社でURLが異なり、売上の計上の仕方もイギリスとアメリカでそれぞれ行っている、そして内容は一緒みたいなパターンの場合、所謂カニバリズムが発生するのですね。同一会社が運営するサイトにも関わらずアクセスを食い合って、結果売上も食い合うような。

従来の指示では、例えばbotに対してアメリカサイトを正として、イギリスサイトを副とし、ただしイギリス国内からのアクセスに関してはイギリスサイトを表示してね!と指示を出します。
即ち、アメリカサイト側にcanonicalを指定し、アメリカサイト・イギリスサイトともにrel="alternate"でhreflangを指定してあげると。

その後blog記事の訂正がかかっています。
Update: to simplify implementation, we no longer recommend using rel=canonical.
なるほど。hreflangを利用する場合はcanonicalは指定してくれるなと。
事故の元でもあったので結構反発もあったのかもしれないですね。

以前canonicalとhreflangを両方キレイに導入されていたのはredbullサイトですが、現状はhreflang側を全て削除し、canonicalを選択しました。個人的にもそっちの方が良いと思っています。重複コンテンツのほうが致命的ですし。
redbullさんのhreflang、とてもキレイだったんですけどね。