多言語にローカライズされたコンテンツを持つサイトを構築するには、多くの側面があります。SEOを最適化するためには、ページには別のローカライズされたバージョンを指すリンク要素が必要です。
Remixにはリンク関数がありますが、この関数にはローダーからのデータが含まれていません。ブログの記事などの動的なルートがある場合、スラッグ /blog/some-article
に基づいたURLを使用する場合、リンク関数を使用すると、ルートの動的な部分にアクセスできないため、ローカライズされたリンクタグを生成することができません。
解決策は、代わりにRemixのメタ関数を使用することです。メタ関数にはローダーからデータが渡され、tagName
プロパティを使用して <link>
タグをレンダリングできます。Googleのガイドラインでは、各言語バージョンは自身だけでなく、他のすべての言語バージョンもリストする必要があるため、すべての言語のすべてのリンクを含める必要があります。
以下がその方法です:
ユーティリティ関数
すべてのローカライズされたページにこれらのリンクを含める必要があるため、これらのリンクタグを返すユーティリティ関数を作成するべきです。
そして、それをルートのメタ関数にインポートします。
以上です!