URLに言語を表示するのに最適な場所は何ですか?
-
05-10-2019 - |
質問
私は、いわゆるSearch-Engineに優しいURLを使用する、きれいなURLを使用する多言語Webサイトを持っています。
これで、URLに言語を定義する場所がいくつかあります。
www.example.com/en/articles/random
www.example.com/nl/articles/random
en.example.com/articles/random
nl.example.com/articles/random
www.example.com/articles/random?lang=en
www.example.com/articles/random?lang=nl
これを示すための好ましい方法はありますか、それとも私が含めなかった別のより良い方法はありますか?
解決 4
いいものを見つけました Googleからのリソース あなたがすることができる選択について。使用できる各方法の長所と短所を含むセクションがあります。
私はしばらくの間、多言語のウェブサイトに苦労しています。
記事には、言及された回答に記載されていないいくつかのポイントが間違いなくあります。だから私はこれを答えとして投稿する必要性を感じました。これが誰かを助けることを願っています。
他のヒント
ベストプラクティスではないものをお伝えします - パラメーターを使用します(3番目)。ユーザーのタイプに複雑なURLにトラブルを求めています。
ページは内部的に使用してパラメーターを取得してラングを見つけますが、Webサーバーで利用可能なURL書き換えモジュールを使用して、1つのwww.mydomain.com/en/articles/random
ほとんどのユーザーがドメイン名をタイプし、Ctrl + Enterをヒットすることを除いて、2番目のものでさえ大丈夫です。
https://addons.mozilla.org/en-us/firefox/
http://msdn.microsoft.com/en-us/default.aspx
Mozilla、Microsoft、Appleは、ソフトウェア開発の世界の3つの異なるコーナーにあります。時々、私はこれらの3人の大物がお互いに反対するためだけに何かをしていると思う傾向があります。しかし、場合 彼ら 一般的な慣行に従っています、それは理にかなっている必要があります...
あなたの心配が検索エンジンのかなりのURLについてである場合、最初のメモ ほとんどの主要な検索エンジンは、解析中に言語を検出できます。 したがって、特定の言語であることが本当に重要な側面でない限り、検索エンジンに優しいことを心配する必要はありません。
- アプローチ1: 私見は、すべての言語のすべての記事を同時に起動したい場合に適しています。しかし、その後、1つの場所で変更を加えると、すべての場所に移動して同じ変更を行う必要があります。
- アプローチ2: Wikipediaのような用途にはきちんとしています。言語によって実際の異なるWebサイトを意味する(記事は互いに翻訳されるのではなく、別のコンテンツです)
- アプローチ3: 通常、何らかの言語で起動し、翻訳が後で来る場合は良い選択です(たとえば、Googleケース)。言語が指定されていない場合に備えて、デフォルトとして言語を使用するか、セッションで保存してページの変更を保存することもできます。
www.openimages.euに選択したものを追加したいと思います。
4)
www.mydomain.com/articles/random.en
www.mydomain.com/articles/random.nl
しかし、もちろん、ブラウザがその要求で通信する好ましい言語を聞くことはもちろんです。
Accept-Language nl,en;q=0.7,en-us;q=0.3
そして、デフォルトごとに、利用可能な場合はその言語でページを提供します。ユーザーが「.en」または '.nl'-thingを実行できるようにスイッチを提供できます。
それはあなたの環境に依存すると思います。データベースを使用してWebフレームワークを使用して複数の言語で同じページを生成していますか、それとも静的ページがありますか?
多くの一般的なWebフレームワーク(RailsまたはSymfony)では、コントローラーが適切なコンテンツを生成するために使用する言語にパラメーターを自動的に入力する#1のルーティングルールを設定できます。もちろん、3つも機能しますが、私の意見では少し気を散らしています。
2は、Webサーバーレベルでリダイレクトを引き起こしており、ユーザーの言語設定を「失う」可能性のあるURLを許可するという利点がある場合に特に適しています。言い換えれば、 /家へのリンクは、「ホーム」ページの正しい言語バージョンにあなたを連れて行きます。
最後のオプションの1つは、Cookieでユーザーの好みとして言語を保存し、URLにまったく入力しないことです。
最初のものはもっと理にかなっています。誰かがあなたに直接行きたい場合は、ページをblabla.com/enに入力して、彼/彼が望むものに到達できるからです...
この場合、「ベストプラクティス」があるかどうかはわかりません。なぜなら、それはおそらく個人的な意見に帰着するからです。
私にとって、私は3番目のオプションを好む傾向があります。なぜなら、それは本当に同じページでロードされているので、あなたはGETパラメーターでコンテンツを変更しているだけです。 (パラメーターではなく)個別のURLを使用すると、完全に個別のページ/リソースであることを意味します。この場合はそうではありません。また、おそらく、さまざまな言語などで複数回ページをインデックスする検索エンジンを取得するでしょう(ただし、それはあなたが望むものかもしれませんが)。
検索エンジンは、サブドメインが独立したWebサイトであると考えています。しかし、それがSEOにどのような影響を与えるかはわかりません。
私は「正しい」答えを知ることから遠く離れています(私は何もないと思います)が、あなたがコメントを求めるとき、ここに私のものがあります:
URL(またはURI)は、 資源. 。私が正しく覚えていれば、URLはに依存してはいけません どうやって リソースを表示する必要があります(HTML、XML、JSONなど)。
あなたも考慮することができます 言語 指定する方法として どうやって リソースを表示する必要があります。
私の意見では、最後のオプション、つまり言語をで指定することは パラメーター もっと適切です。
「検索エンジンに優しい」と「きれいな」URLを探している場合は、マスクされていないパラメーターを避ける必要があります。彼らはサブドメインやサブディレクトリのように目に良く見えず、正確にSEOに優しいものではありません。
それを念頭に置いて、私はサブドメインを選択します。表示されている言語を変更するためのシンプルで従来の「スイッチ」を取得しますが、URLの中央に埋められていません。見つけやすくなり、変更できます。
私は間違いなく行きます
www.mydomain.com/articles/random?lang=en
www.mydomain.com/articles/random?lang=nl
「このリンク(完全なリンク)は英語またはオランダ語です」と言うのは自然なことだからです。
それ以外の場合は、(domain/lang/restof url)は、ENとNLのさまざまなものを含む何らかの構造があるという印象を与えます。同じことがLang.domain/...にも当てはまります