多言語が見た目以上に重要な理由
地元の事業者は1つの言語で考えます。観光、宿泊、専門サービス、ECなど、海外の顧客を求める事業者には、実際の顧客が検索する言語で、ネイティブに存在するサイトが必要です。後から付け足すものではありません。母国の外にまで届きたいクライアントのサイトを作るときは、初日から多言語ルーティングを組み込みます。単一言語のサイトに後から追加しようとすると、メタデータもURL構造も、多くの場合コンテンツ戦略まで、ゼロからやり直しになるからです。
ありがちな2つの近道が、どちらも失敗する理由
誰もが最初に手を伸ばす近道が2つあり、どちらも本当のSEOでは失敗します。1つ目はフローティングの翻訳ウィジェット(Google翻訳の埋め込みなど)です。これはクライアント側で、ページが元の言語で読み込まれた後に動くため、検索エンジンがインデックスするのは元のテキストです。スペイン語で検索するスペイン語圏の訪問者は、Googleにとってスペイン語として読めるページに決してたどり着けません。2つ目は、?lang=esのようなクエリパラメータ付きの単一URLです。検索エンジンは、クエリパラメータ違いのバリエーションを、独立して順位付けできる別ページとして確実に扱うわけではありません。同じURLの重複コンテンツとして扱われることも多く、スペイン語のコンテンツが、スペイン語の検索で独立して順位を獲得するのではなく、英語のコンテンツと競合してしまいます。
解決策:言語ごとに1つ、本物のルート
言語ごとに、クロール可能な独自のパス(/it/、/en/、/es/)を持たせ、それぞれをサーバー側でレンダリングします。完全に翻訳されたコンテンツ、独自の<html lang>属性、独自のメタデータを備えます。Next.jsでは、localePrefixを「always」に設定したnext-intlが、これをそのまま提供してくれます。JavaScriptでテキストを差し替える1枚のページではなく、検索エンジンがクロール、インデックス、独立した順位付けを行える、本当に別々のページが手に入ります。それぞれが、その言語での本物の完全なページであり、同じコンテンツに翻訳の皮をかぶせたものではありません。
このサイトで実際にどう組んでいるか
これで実際に得られるもの
各言語バリエーションは、それぞれの条件で順位を獲得します。イタリア語の検索ならイタリア語のページが、スペイン語の検索ならスペイン語のページが表示され、Googleの目にはどちらも相手と競合せず、薄まることもありません。コンバージョンにとって同じくらい重要なのは、訪問者がたどり着くのが、本当にその言語で書かれたように読めるページであって、隅に翻訳ウィジェットが見えているページではないことです。国際的な読者に信頼される存在に見せたいレストラン、ホテル、専門サービスにとって、この違いはしばしば、離脱と顧客獲得の分かれ目になります。
このアーキテクチャをあなたのサイトで動かしたいですか?
お話ししましょう →About
Patrick Chen — Sublimearts.ioを手がける独立系デベロッパー兼ウェブデザイナー。このルーティング構成、つまりnext-intl、localePrefix always、言語ごとのメタデータこそが、あなたが今読んでいるこのページを、9言語のうちご覧の言語で描画しています。