Open for new projects · sublimearts.io
← Blog
Web Design2026年5月28日·8分で読めます

すべての案件でデフォルトとして、ネイティブな多言語Next.jsルート (IT/EN/ES)を設計する理由。

Next.js/Astroで国際SEOのルートを設計しておくと、レンダリングの遅延を防げ、遅い自動翻訳ツールを使ったときに見つかる欠陥もなくせます。これは、まさに今このウェブサイトを9言語で動かしているアーキテクチャそのものです。

気に入りましたか?最後に❤️が待っています。

多言語が見た目以上に重要な理由

地元の事業者は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枚のページではなく、検索エンジンがクロール、インデックス、独立した順位付けを行える、本当に別々のページが手に入ります。それぞれが、その言語での本物の完全なページであり、同じコンテンツに翻訳の皮をかぶせたものではありません。

このサイトで実際にどう組んでいるか

1対応するロケールを定義し、next-intlのルーティング設定でlocalePrefix: 「always」を指定します。デフォルト言語も含めてすべてのURLに/it/、/en/、/es/という明示的なプレフィックスが付き、曖昧なルートがなくなります
2翻訳文字列は言語ごとに1つのJSONファイル(messages/en.json、messages/it.jsonなど)に保存します。UI文字列もページ本文もロケールごとの居場所があり、コンポーネントに散らばりません
3generateMetadata()で、alternates.canonicalに現在のロケールのURLを、alternates.languagesに全ロケールの対応するURLの完全なマップを設定します。これが、検索エンジンが同じページの言語バリエーションを結びつけるのに使うhreflangタグを実際に出力します
4ページごとにopenGraph.localeと適切なog:imageを設定し、どの言語バリエーションが共有されても、共有されたリンクが正しくプレビューされるようにします
5リクエスト時に機械翻訳は決してしません。一度翻訳して保存し、ロケールごとに静的に配信します。これにより最初のバイトまでの時間が速く保たれ、重要なレンダリング経路に翻訳APIが入りません

これで実際に得られるもの

各言語バリエーションは、それぞれの条件で順位を獲得します。イタリア語の検索ならイタリア語のページが、スペイン語の検索ならスペイン語のページが表示され、Googleの目にはどちらも相手と競合せず、薄まることもありません。コンバージョンにとって同じくらい重要なのは、訪問者がたどり着くのが、本当にその言語で書かれたように読めるページであって、隅に翻訳ウィジェットが見えているページではないことです。国際的な読者に信頼される存在に見せたいレストラン、ホテル、専門サービスにとって、この違いはしばしば、離脱と顧客獲得の分かれ目になります。

このアーキテクチャをあなたのサイトで動かしたいですか?

お話ししましょう →

About

Patrick Chen — Sublimearts.ioを手がける独立系デベロッパー兼ウェブデザイナー。このルーティング構成、つまりnext-intl、localePrefix always、言語ごとのメタデータこそが、あなたが今読んでいるこのページを、9言語のうちご覧の言語で描画しています。

Did you find this helpful?