web-dev-qa-db-ja.com

rel-alternate-hreflangの誤った実装

Googleウェブマスターツールは、次のことをアドバイスしました。

サイトの多くのページで、rel-alternate-hreflangの実装が正しくないことに気付きました。特に、双方向リンクの欠落または不正確な問題があるようです(ページAがhreflangからページBにリンクする場合、BからAに戻るリンクも必要です)。これらのページのように、アルゴリズムが競合する信号を検出すると、意図したものと一致しないインデックス作成とランキングの決定を行う場合があります。

彼らが特に言及しているリンクは次のとおりです。

http://www.kogan.com/au/careers/

http://www.kogan.com/au/sitemap-pages.xml で特定のURLのサイトマップを見ることができます

特に:

<url>
<loc>http://www.kogan.com/au/careers/</loc>
<changefreq>daily</changefreq>
<priority>0.5</priority>
<xhtml:link rel="alternate" hreflang="en-AU" href="http://www.kogan.com/au/careers/"/>
</url>

またはURL http://www.kogan.com/au/shop/collection/mac-mini/ のサイトマップは http://www.kogan .com/au/sitemap-collections.xml

特に:

<url>
<loc>http://www.kogan.com/au/shop/collection/mac-mini/</loc>
<xhtml:link rel="alternate" media="only screen and (max-width: 640px)" href="https://m.kogan.com/#!/au/shop/collection/mac-mini/"/>
<xhtml:link rel="alternate" media="only screen and (max-width: 640px)" href="https://m.kogan.com/au/shop/collection/mac-mini/"/>
<changefreq>daily</changefreq>
<priority>0.9</priority>
<xhtml:link rel="alternate" hreflang="en-AU" href="http://www.kogan.com/au/shop/collection/mac-mini/"/>
<xhtml:link rel="alternate" hreflang="en-AU" media="only screen and (max-width: 640px)" href="https://m.kogan.com/#!/au/shop/collection/mac-mini/"/>
<xhtml:link rel="alternate" hreflang="en-US" href="http://www.kogan.com/ii/shop/collection/mac-mini/"/>
<xhtml:link rel="alternate" hreflang="en-US" media="only screen and (max-width: 640px)" href="https://m.kogan.com/#!/ii/shop/collection/mac-mini/"/>
<xhtml:link rel="alternate" hreflang="en-NZ" href="http://www.kogan.com/nz/shop/collection/mac-mini/"/>
<xhtml:link rel="alternate" hreflang="en-NZ" media="only screen and (max-width: 640px)" href="https://m.kogan.com/#!/nz/shop/collection/mac-mini/"/>
<xhtml:link rel="alternate" hreflang="en-GB" href="http://www.kogan.com/uk/shop/collection/mac-mini/"/>
<xhtml:link rel="alternate" hreflang="en-GB" media="only screen and (max-width: 640px)" href="https://m.kogan.com/#!/uk/shop/collection/mac-mini/"/>
</url>
<url>
<loc>https://m.kogan.com/#!/au/shop/collection/mac-mini/</loc>
<xhtml:link rel="canonical" href="http://www.kogan.com/au/shop/collection/mac-mini/"/>
<xhtml:link rel="alternate" href="https://m.kogan.com/au/shop/collection/mac-mini/"/>
<changefreq>daily</changefreq>
<priority>0.9</priority>
<xhtml:link rel="alternate" hreflang="en-AU" href="https://m.kogan.com/#!/au/shop/collection/mac-mini/"/>
<xhtml:link rel="alternate" hreflang="en-US" href="https://m.kogan.com/#!/ii/shop/collection/mac-mini/"/>
<xhtml:link rel="alternate" hreflang="en-NZ" href="https://m.kogan.com/#!/nz/shop/collection/mac-mini/"/>
<xhtml:link rel="alternate" hreflang="en-GB" href="https://m.kogan.com/#!/uk/shop/collection/mac-mini/"/>
<mobile:mobile/>
</url>

仕様を読んで、どこが間違っているのか、私にはよくわかりません。モバイルURLがデスクトップURLにリンクしていないことが原因ですか?または、URLがhreflang="en-AU"の同じURLにリンクされていますか?

Googleウェブマスターツールのrel-alternate-hreflang実装の警告メッセージが間違っています で同様の質問を知っていますが、これはGoogle側のバグであることを示唆していますが、確認または知りたい私の実装で露骨なエラーが発生した場合。

2
Gaurav Dadhania

これを正しく行うサイトはほとんどなく、複雑な順列は非常に混乱します。

ここには2つの異なる問題があるようです。

最初の例(キャリア):
rel=alternate参照を使用して、URLが1つしかない場合、そのURLには他のバージョンがあることを示しています。他の代替手段がある場合にのみ自己参照する必要があります。この循環参照は、「双方向」(A-> B、B-> A)エラーを引き起こしている可能性があります。

指定したサンプルコードの修正は次のとおりです。

<url>
<loc>http://www.kogan.com/au/careers/</loc>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>

2番目の例(コレクション):
間違い#1:各URLのモバイルバージョンに2つの代替URL(ハッシュバンと非ハッシュバン)を提供し、それらのモバイルURLの代替言語バージョンを提供しています。

間違い#2:デスクトップXMLサイトマップの<loc>要素でモバイルURLを参照している-これはrel=alternate media=が処理するため必要ありません。 モバイルXMLサイトマップ でモバイルURLのみを提供する必要があります。

間違い#3:デスクトップXMLサイトマップで<mobile:mobile>マークアップを使用していました。これはfeature phoneまたはsmartphoneのみに制限する必要がありますXMLサイトマップ。仕様(上記のリンク)を再度詳細に読み直す価値があります。

間違い#4:最大の問題は、<loc></loc>内の他のバージョンを独自のエンティティとして参照しているnotである- 仕様による 、および「双方向」注釈に関する警告による。

モバイルの代替URLマークアップをドキュメントの<head></head>に制限することを検討する必要があります。デスクトップのURLへのrel=canonical必須 をモバイルページのヘッドに含めることを忘れないでください

2番目のサンプルコードの修正は次のようになります。

<url>
     <loc>http://www.kogan.com/au/shop/collection/mac-mini/</loc>
     <xhtml:link rel="alternate" media="only screen and (max-width: 640px)" href="https://m.kogan.com/au/shop/collection/mac-mini/"/>
     <xhtml:link rel="alternate" hreflang="en-AU" href="http://www.kogan.com/au/shop/collection/mac-mini/"/>
     <xhtml:link rel="alternate" hreflang="en-US" href="http://www.kogan.com/ii/shop/collection/mac-mini/"/>
     <xhtml:link rel="alternate" hreflang="en-NZ" href="http://www.kogan.com/nz/shop/collection/mac-mini/"/>
     <xhtml:link rel="alternate" hreflang="en-GB" href="http://www.kogan.com/uk/shop/collection/mac-mini/"/>
     <changefreq>daily</changefreq>
     <priority>0.9</priority>
</url>
<url>
    <loc>http://www.kogan.com/ii/shop/collection/mac-mini/</loc>
    <xhtml:link rel="alternate" media="only screen and (max-width: 640px)" href="https://m.kogan.com/ii/shop/collection/mac-mini/"/>
    <xhtml:link rel="alternate" hreflang="en-AU" href="http://www.kogan.com/au/shop/collection/mac-mini/"/>
    <xhtml:link rel="alternate" hreflang="en-US" href="http://www.kogan.com/ii/shop/collection/mac-mini/"/>
    <xhtml:link rel="alternate" hreflang="en-NZ" href="http://www.kogan.com/nz/shop/collection/mac-mini/"/>
    <xhtml:link rel="alternate" hreflang="en-GB" href="http://www.kogan.com/uk/shop/collection/mac-mini/"/>
    <changefreq>daily</changefreq>
    <priority>0.9</priority>
    </url>
<url>
    <loc>http://www.kogan.com/nz/shop/collection/mac-mini/</loc>
    <xhtml:link rel="alternate" media="only screen and (max-width: 640px)" href="https://m.kogan.com/nz/shop/collection/mac-mini/"/>
    <xhtml:link rel="alternate" hreflang="en-AU" href="http://www.kogan.com/au/shop/collection/mac-mini/"/>
    <xhtml:link rel="alternate" hreflang="en-US" href="http://www.kogan.com/ii/shop/collection/mac-mini/"/>
    <xhtml:link rel="alternate" hreflang="en-NZ" href="http://www.kogan.com/nz/shop/collection/mac-mini/"/>
    <xhtml:link rel="alternate" hreflang="en-GB" href="http://www.kogan.com/uk/shop/collection/mac-mini/"/>
    <changefreq>daily</changefreq>
    <priority>0.9</priority>
    </url>
<url>
    <loc>http://www.kogan.com/uk/shop/collection/mac-mini/</loc>
    <xhtml:link rel="alternate" media="only screen and (max-width: 640px)" href="https://m.kogan.com/uk/shop/collection/mac-mini/"/>
    <xhtml:link rel="alternate" hreflang="en-AU" href="http://www.kogan.com/au/shop/collection/mac-mini/"/>
    <xhtml:link rel="alternate" hreflang="en-US" href="http://www.kogan.com/ii/shop/collection/mac-mini/"/>
    <xhtml:link rel="alternate" hreflang="en-NZ" href="http://www.kogan.com/nz/shop/collection/mac-mini/"/>
    <xhtml:link rel="alternate" hreflang="en-GB" href="http://www.kogan.com/uk/shop/collection/mac-mini/"/>
    <changefreq>daily</changefreq>
    <priority>0.9</priority>
    </url>

また、この状況でrel=canonicalを使用する場合は十分に注意する必要があります(この投稿への回答を参照してください: https://plus.google.com/+RichardHearne/posts/SpSnNfv3f1a

2
Mike Hudson