hreflang(言語別URLの宣言)
あるページの言語違いのURLを検索エンジンに伝えるlinkメタデータです。Riebeckiteはノートに存在する翻訳からこれを生成します。
出力
<link rel='alternate' hreflang='en' href='https://example.com/docs/hello/'>
<link rel='alternate' hreflang='ja' href='https://example.com/ja/docs/hello/'>
翻訳から生成
リンクはノートの翻訳から作られるため、言語版を追加すればその代替リンクも自動的に加わります。
hreflangの生成
Riebeckiteはl10nプラグインのaddLocalizationHeadTags関数(packages/plugins/l10n/src/l10n.ts)を通じてhreflangのlinkメタデータを生成します。翻訳の関係を持つノートについて、存在する翻訳言語ごとに1つの<link rel="alternate" hreflang="…">を出力します。これらのheadタグはマニフェストの作成中にノートのentry.headTagsへ追加され、サイトのシェルがページの<head>内に描画します。
hreflangの形式はBCP 47に従い、en、ja、en-US、zh-CNなどの言語タグを使います。hrefの値は各言語版の解決済みパーマリンクで、解決済みの設定のbuildPostUrlを使って構築します。
<link rel='alternate' hreflang='en' href='https://example.com/docs/hello/'>
<link rel='alternate' hreflang='ja' href='https://example.com/ja/docs/hello/'>
これはSEOプラグインと組み合わせて、検索エンジン最適化のための言語別の代替URLを提供します。