ChatGPT、有能すぎるだろ。。。感謝しかない。
質問
Webアプリケーションの多言語化で、選択リストによって言語を切り替えられるようにします。この時選択した言語を各ページでも引き継ぐにはどのような方法(URLパス、URLパラメタ、クッキーなど)がありますか?それぞれの特徴・長所・短所を教えてください。
回答はMarkdownテーブル形式でお願いします。
回答/GPT4
方法 | 特徴 | 長所 | 短所 |
---|---|---|---|
URLパス (サブディレクトリ) |
言語コードがURLの一部として含まれる 例) /ja/ /en/
|
- SEOに有利 - シンプル - ブックマークや共有が容易 |
- ルーティングが複雑 - URLの長さ増加 |
URLパラメータ | 言語がURLのクエリパラメータとして追加される 例) &lang=ja &lang=en
|
- URL構造の大きな変更なし - 言語切り替えが容易 |
- SEO問題 - URLが煩雑に見える可能性 |
クッキー | 言語設定がブラウザのクッキーに保存される | - URLがクリーン - サーバーサイドでの取得が容易 |
- クッキー無効時に動作しない - プライバシーの懸念 - 設定のブックマークや共有が困難 |
セッション | 言語設定をユーザーセッションに保存する | - 長期間の設定保持 | - 設定のブックマークや共有が困難 - サーバーリソースの使用増加 |
補足説明/Web検索結果より
有用記事
こちらの記事は、上述した方式以外の方法、トップレベルドメイン(例.sample.jp
,sample.en
)やサブドメイン(例.jp.sample.com
,en.sample.com
)とサブディレクトリ方式を比較した記事です。
費用と分析(Analytics)の観点も記載されています。世界のTOP10サイトの方式がまとまっているので興味深かったです。
- トップレベルドメイン方式/ccTLD・・・多言語化として理想的。短所はドメインの取得・維持費用が「高価」であること
- サブドメイン方式・・・SEO面で不利(検索エンジンはサブドメインごとにサイトを評価するので、評価の高いサイトがあってもその評価が他のサブドメインでは加味されない)
- サブディレクトリ方式・・・SEO面はGood。Analytics面が不利(混在してしまう)
Webサイト | 多言語URL方式 |
---|---|
Wikipedia | サブドメイン |
Google* | ccTLD |
Airbnb | ccTLD |
Nestlé | ccTLD |
Philips | ccTLD |
Spotify | サブディレクトリ |
Adobe | サブディレクトリ |
IKEA | サブディレクトリ |
Netflix | サブディレクトリ |
Uber | サブディレクトリ |