疑問点
- hreflangにはどのようなものが追加されるのか知りたい
「多言語化すると適切な状態のhreflangが自動で出力される」という回答では詳細説明として不足なので、もう少し具体的なことを明確にしたいという趣旨です。
パターン
以下前提で記載します。
- 主要マーケット: 日本
- ストアデフォルト言語: 日本語
言語追加のみ
<link rel="alternate" hreflang="x-default" href="https://example.myshopify.com/">
<link rel="alternate" hreflang="ja-JP" href="https://example.myshopify.com/">
<link rel="alternate" hreflang="en-JP" href="https://example.myshopify.com/en">
上記は以下前提に基づきます。
- 言語で英語を追加
hreflangの後半の地域コードJPは主要マーケットに基づき設定されるようです。
言語追加+マーケット追加(1カ国のみ)+主要マーケット設定を使用
<link rel="alternate" hreflang="x-default" href="https://example.myshopify.com/">
<link rel="alternate" hreflang="ja-JP" href="https://example.myshopify.com/">
<link rel="alternate" hreflang="en-JP" href="https://example.myshopify.com/en">
上記は以下前提に基づきます。
- 言語で英語を追加
- マーケット設定にて「アメリカ」だけを選んでマーケットを追加
- 追加したマーケットの「言語とドメイン」ページの「ドメインを管理する」で「主要マーケット設定を使用する」を選択する
マーケットが複数存在していても「主要マーケット設定を使用する」が選択されていれば、出力内容は前項「言語追加のみ」と同じになります。
言語追加+マーケット追加(1カ国のみ)+サブフォルダを使用
<link rel="alternate" hreflang="x-default" href="https://example.myshopify.com/">
<link rel="alternate" hreflang="ja-JP" href="https://example.myshopify.com/">
<link rel="alternate" hreflang="en-JP" href="https://example.myshopify.com/en">
<link rel="alternate" hreflang="ja-US" href="https://example.myshopify.com/ja-us">
<link rel="alternate" hreflang="en-US" href="https://example.myshopify.com/en-us">
上記は以下前提に基づきます。
- 言語で英語を追加
- マーケット設定にて「アメリカ」だけを選んでマーケットを追加
- 追加したマーケットの「言語とドメイン」ページの「ドメインを管理する」で「サブフォルダを使用する」を選択し「ドメインサフィックス」にusを設定
言語追加+マーケット追加(複数国)+サブフォルダを使用
<link rel="alternate" hreflang="x-default" href="https://example.myshopify.com/">
<link rel="alternate" hreflang="ja-JP" href="https://example.myshopify.com/">
<link rel="alternate" hreflang="en-JP" href="https://examplep.myshopify.com/en">
<link rel="alternate" hreflang="ja-AU" href="https://example.myshopify.com/ja-multiple">
<link rel="alternate" hreflang="en-AU" href="https://example.myshopify.com/en-multiple">
<link rel="alternate" hreflang="ja-CC" href="https://example.myshopify.com/ja-multiple">
<link rel="alternate" hreflang="en-CC" href="https://example.myshopify.com/en-multiple">
<link rel="alternate" hreflang="ja-CK" href="https://example.myshopify.com/ja-multiple">
<link rel="alternate" hreflang="en-CK" href="https://example.myshopify.com/en-multiple">
<!-- 以下略 -->
上記は以下前提に基づきます。
- 言語で英語を追加
- マーケット設定にて複数国を選んでマーケットを追加
- 追加したマーケットの「言語とドメイン」ページの「ドメインを管理する」で「サブフォルダを使用する」を選択し「ドメインサフィックス」にmultipleを設定
EUのように所属する複数国をまとめて一つのマーケットに入れた場合が想定されます。
設定したドメインサフィックスはhrefには使用され、hreflangの地域コードは自動で該当国の値が設定されます。
マーケット追加(1カ国のみ)+サブフォルダを使用
<link rel="alternate" hreflang="x-default" href="https://example.myshopify.com/">
<link rel="alternate" hreflang="ja-JP" href="https://example.myshopify.com/">
<link rel="alternate" hreflang="ja-US" href="https://example.myshopify.com/en">
上記は以下前提に基づきます。
- マーケット設定にて「アメリカ」だけを選んでマーケットを追加
- 追加したマーケットの「言語とドメイン」ページの「ドメインを管理する」で「サブフォルダを使用する」を選択し「ドメインサフィックス」にusを設定
多少特殊な例になりますが、言語を追加せずにマーケットだけ追加して「ドメインを管理する」で「サブフォルダを使用する」を選択するパータンです。
ストアでは1言語のみを使いつつ、各マーケット毎に内容などを変更したい場合に検討できる形です。
デフォルト言語が日本語だと違和感があるかもしれませんが、デフォルト言語が英語で越境ECを実現する状況としてはあり得るかなと思います。
まとめ
- 「設定>言語」で言語を追加することでhreflangが出力される
- hreflangの地域コードはマーケットの設定に基づく
- 「マーケット」でマーケットを追加し「ドメインを管理する」で「主要マーケット設定を使用する」以外を選ぶことで、言語とマーケットの組み合わせの数だけhreflangが出力される
補足
参考
「ドメインを管理する」の「個別のドメイン/サブドメインを使用する」
開発ストアでは試せないため実際に確認できていませんが、「ドメインを管理する」で「個別のドメイン/サブドメインを使用する」を選んだ場合は以下のようになると思います。
- hreflangの値は「サブフォルダを使用する」と同じで、hrefのURLが別ドメインやサブドメインに変更される
主要マーケットに変更できない場合
通常は主要以外のマーケットに入り「その他の操作」をクリックし「主要マーケットを作成する」を選択することで主要マーケットが変更できます。
しかし「言語とドメイン」ページの「ドメインを管理する」で「サブフォルダを使用する」を選択したマーケットは、「主要マーケットを作成する」の選択項目自体が表示されず主要マーケットに設定できません。
特定のマーケットを主要マーケットに変更できない場合は上記設定が疑えるかもしれません。
各マーケットで特定の言語が追加できない場合
原因が特定できていませんが以下のような状態を確認しています。
- ストアに複数言語を追加しているにも関わらず、「言語とドメイン」に表示されない言語がある
- 前項の状態でテキストリンク「言語を追加」をクリックした際に、表示されなかった言語に「このマーケットに追加されませんでした」と表示される
確認した際にはデフォルト言語が表示されていなかったのですが、以下操作で表示されるようになりました。
- 追加した言語を削除し、再度追加し直す
追加した言語を削除した時点でデフォルト言語がマーケットの「言語とドメイン」に表示されたので、言語やマーケットの追加/削除を繰り返していたために発生した問題だったのかもしれません。
結び
意図しないhreflangの出力や値が確認できた場合は、マーケットの設定を確認することで対応できる可能性が高いです。
0人がこの記事を評価
役に立ったよという方は上の「記事を評価する」ボタンをクリックしてもらえると嬉しいです。
連投防止のためにCookie使用。SNSへの投稿など他サービスとの連動は一切ありません。