2014-02-12 8 views
0

Я нашел несколько вариантов, как правильно локализовать мой проект asp.net mvc, но все же есть некоторые сомнения в выборе правильного.ASP.NET MVC Локализация с SEO в виду

Хочу отметить, что мне нужно локализовать сайту так, как я бы до сих пор в состоянии сделать SEO оптимизации для каждого языка отдельно

Вот варианты я найдено:

  1. Первые: создать субдомен для различной культуры:

    mysite.com - по умолчанию язык и

    it.mysite.com - для итальянского языка

  2. Второй: Создать новый маршрут с подпапки строки запроса, как

    mysite.com/default - для языка по умолчанию и

    MySite .com/it/default - для итальянского языка

Нет проблем с реализацией Первый вариант.

И если предпочтительнее второй вариант ... может ли кто-нибудь описать, как он должен быть реализован?

ответ

1

Зависит от того, какой SEO-эффект вы хотите достичь. Но в целом, если все страницы находятся в одном домене, лучше для SEO => mysite.com/it/default лучше

За исключением случаев, когда у вас есть настоящий локальный бизнес, вы можете даже пойти с разными доменами верхнего уровня. Например. mysite.de и mysite.it

В термах MVC:

routes.MapRoute(
    name: "Default", 
    url: "{languageCode}/{controller}/{action}/{id}", 
    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }, 
    constraints: new { languageCode = @"de|fr|en|it" }, 
    namespaces: new[] { "SupertextMvc.Controllers" } // only map routes to controllers in the specified namespace 
    ); 

Это наша конфигурация маршрутизации

+0

Спасибо за ответ. Еще один вопрос, чтобы прояснить ситуацию: все ссылки на сайте устанавливаются без части языка. Например: вы просматриваете сайт www.site.com/it, а затем хотите перейти на внутреннюю страницу, например, на сайт www.site.com/it/about. Но ссылка, которую вы собираетесь направить, написана следующим образом: www.site.com/about. Должен ли я перенаправлять пользователей в атрибут фильтра действия на правильную ссылку, добавляя/it/about? Или все ссылки должны быть восстановлены, чтобы отобразить действительный полный путь для текущего языка? – SkSirius

+0

Извините, misclicked) – SkSirius

+0

Я бы не сделал перенаправления. Если вы можете, я бы просто использовал относительные ссылки вместо абсолютных. Тогда вам будет легче. В противном случае, да, восстановите их. – Remy

Смежные вопросы