私は多くの異なる言語(約24)があるサイトで作業しています。コンテンツが英語で作成されると、すべての言語サイトに自動的にコピーされ、後で適切な言語に翻訳されます。現在、hreflang
のhead
<link>
要素を次のように使用しています。
<link rel="alternate" hreflang="da" href="http://server/da/wiki/some-page/" />
<link rel="alternate" hreflang="de" href="http://server/de/wiki/some-page/" />
<link rel="alternate" hreflang="et" href="http://server/et/wiki/some-page/" />
<link rel="alternate" hreflang="en" href="http://server/en/wiki/some-page/" />
<link rel="alternate" hreflang="x-default" href="http://server/en/wiki/some-page/" />
<link rel="alternate" hreflang="es" href="http://server/es/wiki/some-page/" />
<link rel="alternate" hreflang="fr" href="http://server/fr/wiki/some-page/" />
<link rel="alternate" hreflang="is" href="http://server/is/wiki/some-page/" />
<link rel="alternate" hreflang="it" href="http://server/it/wiki/some-page/" />
<link rel="alternate" hreflang="lv" href="http://server/lv/wiki/some-page/" />
<link rel="alternate" hreflang="lt" href="http://server/lt/wiki/some-page/" />
<link rel="alternate" hreflang="hu" href="http://server/hu/wiki/some-page/" />
<link rel="alternate" hreflang="nl" href="http://server/nl/wiki/some-page/" />
<link rel="alternate" hreflang="no" href="http://server/no/wiki/some-page/" />
<link rel="alternate" hreflang="pl" href="http://server/pl/wiki/some-page/" />
<link rel="alternate" hreflang="fi" href="http://server/fi/wiki/some-page/" />
<link rel="alternate" hreflang="sv" href="http://server/sv/wiki/some-page/" />
<link rel="alternate" hreflang="tr" href="http://server/tr/wiki/some-page/" />
<link rel="alternate" hreflang="ru" href="http://server/ru/wiki/some-page/" />
<link rel="alternate" hreflang="ar" href="http://server/ar/wiki/some-page-2/" />
<link rel="alternate" hreflang="th" href="http://server/th/wiki/some-page/" />
<link rel="alternate" hreflang="ja" href="http://server/ja/wiki/some-page/" />
私の理解では、x-default
の使用はcanonical
よりも好まれます-これは正しいですか?また、まだ翻訳されていないページ(noindex
やnofollow
など)に追加のタグが必要ですか?私が見つけた多くのリソースは、互いに矛盾しているか、未翻訳の(重複した)コンテンツの場合の対処方法が明確ではありません。
HTML5の場合:
alternate
リンクタイプ のリンクは、リンクされたドキュメントがリンクドキュメントの代替表現であることを示します。
hreflang
属性 のリンクは、リンクされたドキュメントの言語を示します。
alternate
+ hreflang
のリンクは、リンクされた文書がリンク文書の翻訳であることを示します( 仕様書からの引用とともに私の答えを参照してください ;および参照用に、 1つの例外 )があります。
同じコンテンツ(まだ翻訳されていないため、同じ言語)を含むページにリンクする場合は、
hreflang
を使用できますが、値はコンテンツの現在の言語である必要があり、将来翻訳される言語ではありません(¹)alternate
を使用できますalternate
+ hreflang
を使用できます(上記のリンクの例外のため、リンク文書のlang
要素のhtml
属性がリンクのhreflang
属性と同じ値を持つ場合、翻訳とは見なされません)言い換えれば、質問のマークアップは無効です。a)hreflang
は間違った言語を示し、b)これから、リンクされたドキュメントは翻訳されていない(少なくともまだ)ことを示すからです。
私の意見では、最良の解決策は、翻訳されていないページにリンクするnotでしょう。通常、このようなリンクは訪問者には役立ちません。ドイツのユーザーが英語のページにアクセスし、ドイツ語の翻訳にリンクしていることをメモし、そのリンクをたどると、同じコンテンツがまだ英語のままで別のページに移動します。ボットについても同じ考えです。間違ったシグナルを送信します。
代わりに、ページが翻訳されたらすぐにリンクを追加してください。
それが不可能な場合は、meta
-robots
要素をnoindex
値または同等のX-Robots-Tag
ヘッダー( examples )を使用して、未翻訳ページのインデックス作成を禁止することは理にかなっています。特にコンテンツの翻訳に時間がかかる場合は、未翻訳ページへのリンクでnofollow
リンクタイプを使用します( 使用する意味によって異なります )。
(¹)hreflang
の場合、HTML5仕様は「リンクされたリソースの言語」を提供することだけを定義しているため、ドイツ語のページ(ヘッダー、フッター、ナビゲーション、サイドバー)にどの値を使用するかは明確ではありません英語のメインコンテンツ。ヘッダー/フッターなどのために、値がde
であると思われる場合。 (メインコンテンツのため、en
の代わりに)、翻訳先の言語に言語タグを使用することが適切な場合があります。その場合、alternate
+ hreflang
の例外は無関係です。実際に翻訳をリンクするのと同様です(ただし、メインコンテンツは翻訳されません)。
FWIW、Googleは hreflang
ガイドライン の最初の例として同様のケースをリストしています:
メインコンテンツを単一の言語で保持し、ナビゲーションやフッターなどのテンプレートのみを翻訳します。フォーラムのようなユーザー生成コンテンツを特徴とするページは、通常これを行います。
別のhreflangでまだターゲットに設定していないWebサイトのデフォルトバージョンにはx-defaultを使用します。参考までに、Googleはcanonicalについて言及していません。
参照: https://googlewebmastercentral.blogspot.fr/2013/04/x-default-hreflang-for-international-pages.html
あなたがあなたの質問に追加したコードから、私は設定ミスを見ることができます
<link rel="alternate" hreflang="en" href="http://server/en/wiki/some-page/" />
<link rel="alternate" hreflang="x-default" href="http://server/en/wiki/some-page/" />
X-default行はすでに英語を指しています。そのため、地域についても言及する場合を除いて、再度追加する必要はありません。たとえば、英語を話す世界中の人にデフォルトページを表示させたい場合や、イギリスの人に特定のページを表示させたい場合:
<link rel="alternate" hreflang="en-gb" href="http://server/en/wiki/some-page/" />
<link rel="alternate" hreflang="x-default" href="http://server/en/wiki/some-page/" />
これはonlyであり、検索エンジンとサイトの検索場所の通信のためです-このコードのすべてをSitemap選択したウェブマスターインターフェースの検索エンジンで送信します。
利点:
デメリット:
Googleの公式ドキュメントは次のとおりです。 https://support.google.com/webmasters/answer/2620865?hl=en
以下は、投稿の最初の3つのリンクを含むXMLの例です。
<url>
<loc>http://server/en/wiki/some-page/</loc> <!--The Original Page-->
<xhtml:link
rel="alternate"
hreflang="da" <!--Alternate language code-->
href="http://server/da/wiki/some-page/" <!--Link to alt page-->
/>
<xhtml:link
rel="alternate"
hreflang="de"
href="http://server/de/wiki/some-page/"
/>
<xhtml:link
rel="alternate"
hreflang="et"
href="http://server/et/wiki/some-page/"
/>
</url>