hreflangタグの正しい書き方と構文ルール
hreflangの主な記述方法
| 方法 | 対象 | 特徴 |
| HTML内の記述 | 通常のWebページ | 最も一般的。CMSやECシステムでも設定しやすい |
| HTTPヘッダーでの指定 | PDFや画像など | HTMLを持たないファイル向け。サーバー設定が必要 |
| XMLサイトマップでの記述 | 多ページ構成のサイト | サイト全体を一括で管理したい場合に有効 |
HTML内での記述(最も一般的な方法)
rel="alternate":代替ページであることを示します
hreflang=:対象となる言語コード(必要に応じて地域コードも)- 言語コード:ISO 639-1(例:
ja,en,fr) - 地域コード:ISO 3166-1(例:
US,GB,CA) - 例:
en-US,fr-CAなど
- 言語コード:ISO 639-1(例:
href=:絶対URLを使用(相対パスでは無効)
HTTPヘッダーでの指定(非HTMLファイル用)
Link: <表示するファイルURL1>; rel=”alternate”; hreflang=”言語・地域コード1″,<表示するファイルURL2>; rel=”alternate”; hreflang=”言語・地域コード2″, …
記述例
日本語と英語の言語でPDFファイルの場所を表示したい場合は以下のように記述します
Link: <https://example.com/ja.pdf>; rel="alternate"; hreflang="ja",<https://example.com/en.pdf>; rel="alternate"; hreflang="en"
<...>でURLを囲む- 複数の指定はカンマ
,で区切る
XMLサイトマップでの指定(大規模サイト向け)
記述例
<?xml version=”1.0″ encoding=”UTF-8″?>
<urlset xmlns=”http://www.sitemaps.org/schemas/sitemap/0.9″
xmlns:xhtml=”http://www.w3.org/1999/xhtml”>
<url>
<loc>https://example.com/</loc>
<xhtml:link rel="alternate" hreflang="ja" href="https://example.com/" />
<xhtml:link rel="alternate" hreflang="en" href="https://example.com/en/" />
</url>
<url>
<loc>https://example.com/page2.html</loc>
<xhtml:link rel="alternate" hreflang="ja" href="https://example.com/page2.html" />
<xhtml:link rel="alternate" hreflang="en" href="https://example.com/en/page2.html" />
</url>
<loc>:対象ページのURL
<xhtml:link>:各言語ページの対応関係を記述(自己参照も含める)
実装時の注意点
- すべての言語ページ間で双方向リンクを設定する
例:日本語→英語、英語→日本語のように互いを指定
- 言語コードと地域コードの組み合わせを正確に記述する
存在しない組み合わせ(例:
en-JP)は使用不可
- hrefには絶対URLを使う
相対パスでは認識されません
canonicalタグとの整合性を確認する特に「同じ言語・別地域」のページがある場合に重要