ヘルプなどのドキュメントのみでは不明瞭だった点を、サポートに確認して概ね理解できたように思うのでメモとして。
ただし実際に操作や設定を行って試していないため正確性には疑問がある内容となります。
実現したいこと
- Shopifyで英語用にサブドメインを使いたい
サブディレクトリ型であれば簡単なのですが、サブドメイン(や別ドメイン)の場合は不明点が多く、ヘルプの内容では理解できませんでした。
参考資料
Shopifyサポートの回答に基づく留意点
- 言語用のサブドメインの設定には独自ドメインの追加が必要(myshopify.comしかない状態では選択項目自体が表示されない)
- 仕様としては「言語用サブドメイン」ではなく「マーケット用サブドメイン」となる
- 言語スイッチャーで言語用サブドメインにリダイレクトさせたい場合は、1マーケットに1言語(=デフォルト言語)のみにする
以下補足などです。
独自ドメインの必要性
ストアの「myshopify.com」ドメインから海外ドメインを作成することはできません。Shopifyまたは外部サービスのドメインプロバイダーを通じて購入した、カスタムドメインを使用する必要があります。
上記のように記載があり、開発ストアを作成してサブドメインに関する調査試作を行おうとしても、myshopify.comドメインのままではサブドメインを選べず調査できません。
「言語用サブドメイン」ではなく「マーケット用サブドメイン」
サブディレクトリ型とは明確に異なり、マーケットに対してサブドメインを追加するというマーケットを主軸とした認識をもつ必要があります。
具体的には以下のような状態を作る必要があります。
- 前提
-
- デフォルト言語は「日本語」
- 独自ドメイン「example.com」を追加
- 英語用にサブドメイン「en.example.com」の追加を想定
- exampl.com
-
- 主要マーケット
- デフォルト言語を日本語で設定
- en.exampl.com
-
- USのみを追加したマーケット
- デフォルト言語を英語で設定
マーケットに追加する国は1つでも複数でも問題ない。
サブドメインに複数言語を追加した場合
前項の前提で、他の言語を追加した場合は以下のようになるようです。
- exampl.comの主要マーケットに、英語とフランス語を追加した場合
-
exampl.comに表示される言語スイッチャーで英語やフランス語を選ぶと以下のようになります。
- 日本語を選ぶと、exampl.comのまま変化しない
- 英語を選ぶと、exampl.com/en/にリダイレクトされる
- フランス語を選ぶと、exampl.com/fr/にリダイレクトされる
- en.exampl.comの主要マーケットに、日本語とフランス語を追加した場合
-
en.exampl.comに表示される言語スイッチャーで英語やフランス語を選ぶと以下のようになります。
- 日本語を選ぶと、en.exampl.com/ja/にリダイレクトされる
- 英語を選ぶと、en.exampl.comのまま変化しない
- フランス語を選ぶと、en.exampl.com/fr/にリダイレクトされる
上記は以下のShopifyの仕様の結果となります。
- 言語を追加すると、自動でサブディレクトリが作られる
- マーケット毎にドメインを設定した場合、言語を追加するとその設定したドメイン毎にサブディレクトリが作られる
- 言語スイッチャーは言語サブディレクトリが優先されるため、別ドメイン(en.exampl.com)が存在しても無視される
「日本マーケットの日本語と、USマーケットの日本語でコンテンツを変えたい」などの要望を満たすことができるので有益な仕組みではあると思いますが、そこまで細かい要求がない状態で想定外の仕様に思えます。
ここまでを踏まえ、言語スイッチャーの選択で言語別のドメインにリダイレクトさせたい場合は以下のように設定する必要があります。
- 各ドメインに紐づくマーケットには、1言語のみを設定する
言語スイッチャー
テーマデフォルトの状態であれば前述の動作になると思いますが、アプリや独自での実装の場合はまた違う可能性もあります。
結び
冒頭に記載しましたが、実際に設定して確認したわけではないのため内容が間違っている可能性があります。
ヘルプに手順などの情報が記載されていますが、実際に実行しようとすると不明点が多く出てくる印象です。
サブディレクトリ型が簡単なのでサブドメインや別ドメインも同様ではと思ったのですが、そう簡単ではなさそうでした。
マーケットを主軸にした仕様である点を理解していないと不都合が起きそうなので、事前に色々検討した方が良いと思われます。
0人がこの記事を評価
役に立ったよという方は上の「記事を評価する」ボタンをクリックしてもらえると嬉しいです。
連投防止のためにCookie使用。SNSへの投稿など他サービスとの連動は一切ありません。



