HowTo

MagentoのサイトURLを国や言語ごとにカスタマイズ!(前編)

言語ごとに異なるURL

世界中で越境ECのソリューションは多種多様で、もし自社で越境ECサイトの立ち上げをお考えでしたら弊社では機能が一番豊富なMagento2(以下「2」略)がおすすめです。Magentoでユニークなところは標準で多言語、多通貨に対応することはもちろん、実際のビジネス環境に合わせて、細かいところまでカスタマイズもできます。

本記事では異なるURLで、日本語(メイン)、英語、中国語、3つの言語に分けるサイトを作る例のご紹介となります。

URLを工夫して、en、cnなどで言語を切り替えるのはおすすめ!

前編は比較的にシンプルな方法を紹介します

★ドメイン名の違いでサイトを言語ごとに分ける★

	日本語(デフォルト)→maruweb.com/...
	英語→en.maruweb.com/...
	中国語→cn.maruweb.com/...

大部分の設定はバックエンドで、サーバーソフトウェア設定の編集も簡単ですが。ウェブサイトごとに新しいドメインを割り当てる必要があります。

今回の例では、ドメイン名maruweb.comをベースにして、既存の日本語サイト(デフォルト)の上に、英語サイトと中国語サイトを追加します。

1. ウェブサイトと店舗の追加

まずは、バックエンドで、店舗→すべてのストアを開いて、「ウェブサイトを作成」をクリック。

ウェブサイトを作成ウェブサイトを作成

名前はご自由に設定してください。
コードはほかのウェブサイトと重複不可で、後でサーバーソフトウェアに入れる”code”となります。
表示順は自身の環境に合わせて設定すればOK、とくに重要ではありません。

続いて、店舗→すべてのストアのところに戻って、「店舗を作成」。

店舗を作成店舗を作成

ウェブサイトはさっき作成したウェブサイトの名前(ここはEnglish)で、
ルートカテゴリも自身の環境に合わせて選択します。

最後に、店舗→すべてのストアのところで、「ストアビューを作成」。

ストアビューを作成ストアビューを作成

店舗は前のステップで作成した店舗の名前(ここはEnStore)となります。

最終的に、以下の画像のウェブサイト/店舗構成にすればよいです。

ウェブサイト 店舗構成ウェブサイト 店舗構成

2. URLを設定

店舗→設定→ウェブまで進みます。ここで、スコープをさっき作成したウェブサイト(緑枠)に変更します。ちなみに、青枠のストアビューもOKです。

URL設定URLを設定

続いで、画像のように、ベースURLを設定します。ここでは、http://en.maruweb.comを例をします。セキュアベースURLを設定するのも忘れないでね。画像ではhttpを使っているが、必ずご自身の環境、例えば、全サイトSSL化やVarnish有効などを考慮した上で設定してください。

3. 店舗の言語などをカスタマイズ

店舗→設定→全般で、スコープを目標ウェブサイトに変更して、言語やタイムゾーンを設定します。それ以外に何か変更する必要があるかも併せて確認してください。

言語を設定言語を設定

4. ApacheとNginxのコンフィグレーションの変更箇所

Apacheのメインconfig

<VirtualHost *:80>
    ...省略...
    ServerName maruweb.com
    ServerAlias en.maruweb.com cn.maruweb.com
    ...省略...
</VirtualHost>

.htaccess

...省略...
SetEnv MAGE_RUN_TYPE "website"
SetEnvIf Host "^maruweb\.com$" MAGE_RUN_CODE=base
SetEnvIf Host "^en\.maruweb\.com$" MAGE_RUN_CODE=en
SetEnvIf Host "^cn\.maruweb\.com$" MAGE_RUN_CODE=cn
...省略...

注意:アップグレードやパッチを適用すると、.htaccessは上書きされるので、バックアップを忘れずに!

nginx.conf

http {
    ...省略...
    map $http_host $mage_run_code {
        default base;
        maruweb.com base;
        en.maruweb.com en;
        cn.maruweb.com cn;
    }
    ...省略...
}
server {
    ...省略...
    server_name maruweb.com en.maruweb.com cn.maruweb.com
    location <@your_handler> {
        fastcgi_param MAGE_RUN_CODE $mage_run_code if_not_empty;
        fastcgi_param MAGE_RUN_TYPE website;
    }
    ...省略...
}

シンプルな方法と紹介しましたが、実際の手順はそこそこかかる場合も御座います。最も重要なのはご自身のウェブサイト環境に合わせて設定する必要があり弊社は設定のヒントを提示してるまでです。

次回はちょっと複雑な方法で実現しましょう。複雑と言っていますが、需要があり何よりも新規ドメイン(サブドメイン含む)を作らず、既存の1つのドメインで解決できます。
では、またこのシリーズで会いましょう。

弊社ではMagento2を利用した多機能ECサイトの構築・越境EC/中国越境ECの開発をして企業様をサポートしています。 ご興味ある方は是非問い合わせください。

ABOUT ME
ジェームス
オーストラリアでプログラミングを勉強しました。ずっとMagento 1の開発をやっていましたが、今年からようやくMagento 2を扱うことになりました。

※注意

本ブログの投稿内容に関するお問い合わせをして頂いてもご返信できませんので、何卒ご了承ください。