私は持っています:
これを使用する場合:
ページ上のマークアップHTMLタグで
lang
属性を使用します:<html lang="en">
rel
alternateを使用して、Googleが推奨する他の言語の同じページにリンクします。<link rel="alternate" hreflang="en" href="http://www.example.com/en/product-a-en" /> <link rel="alternate" hreflang="es" href="http://www.example.com/es/product-a-es" /> <link rel="alternate" hreflang="ru" href="http://www.example.com/ru/product-a-ru" />
各langパスexample.com/lang-path
にGoogleサイトマップを送信する必要がありますか?または、英語のサイトマップサブディレクトリ(example.com/en/
)を送信するだけで、HTMLを見て「オーケー、多言語で、他の言語だけのサイトマップを作成しますか?」
私は17の言語と2000以上のリンクを持っているので、私は尋ねています。
最善かつ簡単な方法にする方法はありますか?
すべての言語で行うのが最善です。 (参照: hreflang:Yoastの究極のガイド )
以下に、例のサイトマップxmlファイルを示します。
<url>
<loc>http://www.example.com/</loc>
<xhtml:link rel="alternate" hreflang="en" href="http://www.example.com/en/"/>
<xhtml:link rel="alternate" hreflang="es" href="http://www.example.com/es/"/>
<xhtml:link rel="alternate" hreflang="ru" href="http://www.example.com/ru/"/>
</url>
<url>
<loc>http://www.example.com/en/</loc>
<xhtml:link rel="alternate" hreflang="en" href="http://www.example.com/en/"/>
<xhtml:link rel="alternate" hreflang="es" href="http://www.example.com/es/"/>
<xhtml:link rel="alternate" hreflang="ru" href="http://www.example.com/ru/"/>
</url>
<url>
<loc>http://www.example.com/es/</loc>
<xhtml:link rel="alternate" hreflang="en" href="http://www.example.com/en/"/>
<xhtml:link rel="alternate" hreflang="es" href="http://www.example.com/es/"/>
<xhtml:link rel="alternate" hreflang="ru" href="http://www.example.com/ru/"/>
</url>
<url>
<loc>http://www.example.com/ru/</loc>
<xhtml:link rel="alternate" hreflang="en" href="http://www.example.com/en/"/>
<xhtml:<link rel="alternate" hreflang="es" href="http://www.example.com/es/"/>
<xhtml:link rel="alternate" hreflang="ru" href="http://www.example.com/ru/"/>
</url>
<url>
<loc>http://www.example.com/product</loc>
<xhtml:link rel="alternate" hreflang="en" href="http://www.example.com/en/product"/>
<xhtml:link rel="alternate" hreflang="es" href="http://www.example.com/es/product"/>
<xhtml:link rel="alternate" hreflang="ru" href="http://www.example.com/ru/product"/>
</url>
<url>
<loc>http://www.example.com/en/product</loc>
<xhtml:link rel="alternate" hreflang="en" href="http://www.example.com/en/product"/>
<xhtml:link rel="alternate" hreflang="es" href="http://www.example.com/es/product"/>
<xhtml:link rel="alternate" hreflang="ru" href="http://www.example.com/ru/product"/>
</url>
<url>
<loc>http://www.example.com/es/product</loc>
<xhtml:link rel="alternate" hreflang="en" href="http://www.example.com/en/product"/>
<xhtml:link rel="alternate" hreflang="es" href="http://www.example.com/es/product"/>
<xhtml:link rel="alternate" hreflang="ru" href="http://www.example.com/ru/product"/>
</url>
<url>
<loc>http://www.example.com/ru/product</loc>
<xhtml:link rel="alternate" hreflang="en" href="http://www.example.com/en/product"/>
<xhtml:link rel="alternate" hreflang="es" href="http://www.example.com/es/product"/>
<xhtml:link rel="alternate" hreflang="ru" href="http://www.example.com/ru/product"/>
</url>
必要に応じて、サイトでカバーされていない言語のx-defaultを追加できます。
<xhtml:link rel="alternate" hreflang="x-default" hreflang="http://www.example.com/en/"/>
これをすべてのページ(urlタグ内)に追加する必要があります。
私の見方では、sitemap.xmlを使用して、最もクロールするURLをロボットに伝えます。 Googlebotや他のクローラーがあなたが望むようにあなたのサイトをナビゲートするのに役立ちます。代替言語のページをクロールしてインデックスを作成することを優先する場合は、英語のページのみを介してサイトマップに追加すると、クロールの優先順位付けに役立ちます。
それらをサイトマップに追加しない場合、特にrel = "nofollow"属性なしでリンクされている場合、Googleは言語の代替ページを検出してクロールできるはずです。
ただし、サイトマップに現在すべての英語ページがあり、代替言語ページをより頻繁にクロールする場合は、サイトマップに追加することを強く検討する必要があります。そうしないと、Googlebotや他のクローラが、サイトマップ内の英語のページを他の言語のページよりも優先させることになります。