WordPressWPMLなどのプラグインを使用すると、比較的簡単に多言語サイトを構築できます。 別の方法で WordPress マルチサイトで多言語サイトを作成できます。 WPMLにはブラウザ言語を検出して自動的に移動させる多言語リダイレクト機能が搭載されています。 マルチサイトで多言語サイトを構築する場合は、いくつかの方法を検討してください。
WordPress マルチサイト多言語リダイレクトの設定方法
最近一ヶ月くらい Avada テーマで作成したサイトをマルチサイトに変換し、各言語翻訳を入力する作業を担当しました。
タスクの一環として、ブラウザの言語を検出して各言語サイトにリダイレクトする機能を一緒に設定しました。 単にリダイレクトすることはそれほど難しい問題ではありませんが、お客様のニーズが厳しい場合は、JavaScriptの専門家の助けを借りる必要があります。
まず、どのように多言語リダイレクトを設定するかについての定義を明確にする必要があります。
多言語サイトリダイレクト要件
クライアントは最初は単にブラウザの言語を検出して各言語にリダイレクトするだけでよいと言いましたが、必要に応じてJavaScriptコードを作成して適用するたびに要件がXNUMXつずつ増えました。 最後に、次のように実装しました。
- 英語サイトホーム(example.com)に流入する訪問者をブラウザ言語を検出して
- 韓国語、日本語、ドイツ語...などの場合は、各言語ホームにリダイレクト(例:韓国語 - example.com/ja、日本語 - example.com/ja、ドイツ語 - example.com/de...)
- 英語を含む残りの言語はリダイレクトされません
- 英語のサブページ(例:example.com/about)に流入してもリダイレクトは発生しません
- 各言語サイトにリダイレクトされた後、英語のページに戻ってもリダイレクトは発生しません
- ブラウザを閉じた後に再接続すると、再度リダイレクトする必要があります。
マルチサイト構造計画
最初のサイトを作成するときに言語バージョンを作成する方法を計画することで、複雑なJavaScriptコードを作成する必要がなく、比較的簡単にマルチサイトリダイレクトを実装できます。
WordPress マルチサイト言語スイッチャープラグインで紹介した有料プラグイン WordPress Multilingual Multisiteでは、独自のリダイレクト設定があります。 ただし、このプラグインを使用すると、英語サイトホームにアクセスするたびにリダイレクトが発生しました。 これが問題にならない場合は、このプラグインを使用しても構いません。
無料のプラグインMultisite Language Switcherは独自のリダイレクト機能を提供していませんが、このプラグイン開発者が紹介する マルチサイト言語スイッチャーテーマ(Multisite Language Switcher Theme)を使用すると、同様の実装が可能です。

このテーマを使用するには、メインドメインにサイトを作成するのではなく、このテーマを適用し、英語、韓国語、日本語、中国語などの多言語サイトをサブディレクトリにするだけです。 つまり、
- テーマの適用
- メインドメインサイト(例:example.com)のMultisite Language Switcher Theme テーマの適用
- 残りのサブサイト(例:example.com/en、example.com/ja...)に元のテーマを適用してサイトを作成します。
- 多言語言語リダイレクト
- デフォルトのドメインアドレス(example.com)は、ランディングページとして言語ページに分岐する役割を果たします。 つまり、ランディングページに入った訪問者をブラウザの言語に応じてその言語のバージョンに移動する
- 韓国語ユーザーはexample.com/jaなどの韓国語サイトに移動し、残りの言語も同じ方法で移動します
- 英語と他の言語は英語サイト(例:example.com/en)にアクセスされます
この方法を使用すると、ランディングページへのアクセス時に無条件リダイレクトが発生し、適切な言語サイトに切り替えます。 そして、各言語サイトに移動した後、ランディングページに戻ることはありません。 したがって、リダイレクト後にデフォルトの言語サイトホームに戻るときにリダイレクトが発生するように対処する必要はありません。
この方法はきちんとしたようですが、サイトを作成する初期段階でマルチサイトにして、基本言語サイトをサブフォルダにして作業する必要があります。
Multisite Language Switcher Theme テーマを使用しない場合
通常は基本ドメインに英語などのサイトがインストールされているはずです。 たとえば、次のような構造にすることができます。
- example.com: 英語サイト
- example.com/ja: 韓国語サイト
- example.com/ja: 日本語サイト
- ...
上記のような場合、英語ホームに流入する訪問者をブラウザの言語によって韓国語、日本語、ドイツ語などのサイトに移動させ、他の言語と英語のユーザーは他の言語バージョンに移動しないようにする必要があります。
この場合、Multisite Language Switcherの開発者が推奨する jQueryプラグインを考えることができますが、これよりもJavaScriptコードを直接作成する方が望ましいかもしれません。 私はJavascriptをよく知っている人の助けを借りてコードを作成して適用しました。
このとき、デフォルトの言語サイトのホーム(ランディングページ)にのみ対応するJavaScriptコードを適用する必要があります。
マルチサイトを利用した多言語サイト構築
マルチサイトを利用して多言語サイトを構築する場合は、次のようなプロセスに進むことができます。
まず、デフォルトドメインをランディングページとして使用するのか、デフォルトの言語(たとえば、ゼロ)サイトにするのかを決定します。
基本言語サイトを一般 WordPress サイト作り方で製作します。
マルチサイトで構成し、デフォルトの言語サイトを各言語サイトに複製します。
各言語サイトのテキストをその言語翻訳に置き換えます。 テキストをコピーして貼り付ける方法で置き換えることができます。 ページビルダーで作成した場合、翻訳文を置き換える作業に時間がかかることがあります。
必要に応じて、ユーザーのブラウザ言語を検出して各言語サイトに移動するリダイレクトを設定できます。
最後に、
以上、マルチサイト言語のリダイレクト方法を見てきました。 少し詳しく説明しようとしましたが、文章の意図が正しく伝えられたかどうかはわかりません。
プラグインが提供する機能にお客様が満足すれば、特別な措置は必要ありませんが、お客様のニーズが厳しい場合には、上記の方法を代替として試してみることができます。 初めてサイトを作成するときにマルチサイト構造を適切に計画すると、リダイレクト操作が容易になります。
WPMLとして多言語サイトを構築する場合は、このような心配をする必要はありません。 私が引き受けた仕事では Avadaで作成したサイトにWPMLを適用したとき、カスタム部分にエラーが発生し、マルチサイトに切り替えた後に翻訳をすべて置き換えてリダイレクト設定をしました。
翻訳をコピーして貼り付ける作業がこんなに難しいのか今回実感するようになりました。 特にサイトの完成後に修正されることが多く、翻訳を交換した後に再作業することが繰り返し、特に大変でした。
こんにちは。
常に良い情報ありがとうございます。
コンテンツの中でプラグインなしでJavaScriptでのみ処理されたと言われましたが、その部分についてどのようなスクリプトなのか助けられますか?
実際に使用したJasコードは、次の記事で確認できます。
https://www.thewordcracker.com/intermediate/%EB%8B%A4%EA%B5%AD%EC%96%B4-%EC%82%AC%EC%9D%B4%ED%8A%B8-%EB%A6%AC%EB%94%94%EB%A0%89%EC%85%98-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0-%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8/