ASP.NET MVC 3 многоязычный SEO - PullRequest
4 голосов
/ 22 июля 2011

В настоящее время я пишу веб-приложение ASP.NET MVC 3, которое поддерживает несколько языков. Мне уже удалось перевести все маршруты так, чтобы звонки вроде:
www.mysite.de / Kontakt и www.mysite.de / Contact будут направлены на тот же контроллер / действие.

По замыслу это так, что при вызове www.mysite.de язык (сохраненный в объекте сеанса) автоматически будет установлен на язык по умолчанию (здесь немецкий). Навигация по сайту затем динамически настраивается соответственно.
Язык в объекте сеанса можно изменить, нажав ссылку «Английская версия» или вручную, например, www.mysite.de / Контактная информация . В этом случае признается, что ссылка (/ контакт) соответствует маршруту, который определяется как английский, и поэтому я меняю язык в объекте сеанса на английский. Конечно, содержание сайтов также локализовано.

Теперь у меня вопрос: как это связано с SEO, особенно с Google? Я уже добавляю метатег Content-Language динамически на каждую страницу. Поэтому я думаю, что с правильным sitemap.xml должно быть достаточно.
Google распознает это правильно? При поиске в Google на немецком я получаю "Kontakt" как результат и "Contact" при поиске на английском?

Другая проблема заключается в том, что происходит, когда ссылка одинакова для разных языков? Например. ссылка на "Работа" будет / может быть такой же на английском и немецком.

Я надеюсь, что вопрос понятен, поскольку моя проблема довольно сложна.
Cheers,
Simon

Ответы [ 2 ]

2 голосов
/ 22 июля 2011

Google не только полагается на то, что вы говорите им, на каком языке ваш сайт, вы только подсказываете им. Страницы будут проанализированы и представлены в виде страницы на «немецком» или страницы на «английском» в зависимости от языка содержимого.

Но ваше базовое предположение верно.
Да, если я ищу вашу страницу на немецком языке, и Google проиндексировал страницу как страницу на немецком языке, Google вернет Контакт .

Что касается вашего второго вопроса, если вы не предоставите другое средство для изменения языка, кроме пути (строка запроса или язык в настройках браузера), эти ссылки будут только на вашем языке по умолчанию (немецкий).
Если вы хотите, чтобы они отображались на английском языке, используйте другой дополнительный URL-адрес: Jobs-EN , который имеется только в вашем SiteMap.xml (и, конечно, в маршруте).

0 голосов
/ 22 июля 2011

Другая проблема заключается в том, что происходит, когда ссылка одинакова для разные языки? Например. ссылка на "Работа" будет / может быть на английском и на немецком.

Вы можете рассмотреть вопрос о включении языка в ваш URL, например:

  • www.mysite.de / де / Kontakt
  • www.mysite.de / EN-US / Контактная информация
  • www.mysite.de / ан-гб / Контактная информация
...