私は現在、複数の言語をサポートするASP.NET MVC 3 Webアプリケーションを作成しています。同じコントローラ/アクションへ
www.mysite.de/Kontaktとwww.mysite.de/Contact意志ルート: は、私はすでに通話などのように、すべてのルートを変換するために管理しました。ASP.NET MVC 3多言語SEO
www.mysite.deを呼び出すと、(セッションオブジェクトに格納された)言語が自動的に既定の言語(ここではドイツ語)に設定されるようになっています。それに応じて、サイトのナビゲーションが動的に設定されます。
セッションオブジェクト内の言語は、「英語版」リンクをクリックするか、手動で電話をかけるなどして変更できます。 www.mysite.de /連絡先。この場合、リンク(/ Contact)は英語として定義された のルートと一致するので、セッションオブジェクトの言語を英語に変更します。もちろん、サイトのコンテンツもローカライズされています。
今私の質問は、SEO、特にGoogleとどのように協力しているのですか? すでにContent-Languageメタタグを各ページに動的に追加しています。だから私は適切なsitemap.xmlで十分だと思う。
Googleはこれを正しく認識していますか?ドイツ語でGoogleを検索して、結果として「Kontakt」、英語で検索するときに「Contact」と表示されますか?
別の問題は、異なる言語でリンクが同じ場合どうなりますか?例えば。 "Jobs"へのリンクは、ドイツ語と同じように英語でも同じです。
私の問題はかなり複雑であるため、質問が理解できることを願っています。
乾杯、
サイモン
[OK]を、ありがとうございました。しかし、あなたが言ったように、Googleはまた、ページ自体の内容を分析します。 Googleが訪問した前のページに応じて、ページ/ジョブが両方の言語で存在することをGoogleが認識しないか? Googleがページ/ Kontaktを訪問することを示唆します。/ Kontaktは/セッションへのリンクであり、保存された言語(ドイツ語)は変更されず、変更されません。その後、Googleが/ Jobsへのリンクをたどります(現在は英語)。したがって、Googleは両方の/ジョブページを持っています。英語で1つ、ドイツ語で1つ。 –
前のページのセッション状態を持つクローラボットに頼るべきではありません。 Google自身が[ウェブマスター向けガイドライン](http://www.google.com/support/webmasters/bin/answer.py?hl=ja&answer=35769)に記載されているとおり、「検索ボットがセッションIDなしでサイトをクロールできるようにするか、サイトを通して彼らの道を追跡する議論。 – RickardN