Страница, посвященная географическому положению, для Австралии

Я прочитал эту статью от Google .

и добавил эти теги meta в заголовок каждой страницы.

<link rel="alternate" href="http://www.theaustralianwebsite.com.au/" hreflang="en-au" />
<link rel="alternate" href="http://www.thegeneralwebsite.com/" hreflang="x-default" />

как видите, у нас есть другой домен для австралийских посетителей с совершенно другим веб-сайтом. Не просто локализован тот же контент, но все по-другому.

Как лучше всего перенаправить австралийцев, попавших на общий веб-сайт, на австралийский веб-сайт? SEO-специалист посоветовал мне использовать базу данных, которая сопоставляет ip-адреса со странами и перенаправляет на их основе. Я бы предпочел решение, основанное на настройках языка первого клиентского браузера. Например, http://www.w3.org/International/questions/qa-accept-lang-locales

Итак, что было бы для меня лучшим решением для перенаправления пользователей? и должен ли я использовать javascript или серверное решение (в моем случае С# .net, что-то вроде этого https://support.microsoft.com/en-us/kb/208935)

protected void Page_Init(object sender, EventArgs e)
{
    if (HttpContext.Current != null && HttpContext.Current.Request.UserLanguages != null)
    {
        string culture = Request.UserLanguages[0].ToLower();
        if (culture.Contains("au"))
             Response.Redirect("http://www.theaustralianwebsite.com.au/");
    }
}

person JP Hellemons    schedule 22.04.2015    source источник


Ответы (1)


Я постараюсь разбить свой ответ на несколько частей.

Определить страну по IP

Существует ряд бесплатных и платных сервисов, которые предлагают возможность географической привязки IP-адреса к стране; MaxMind (коммерческий) и HostIP (бесплатно, но с ограничением до 1000 запросов в день) — два таких сервиса. Вы найдете высокую степень точности с MaxMind и хороший уровень покрытия для HostIP.

Я бы настоятельно рекомендовал использовать службу, а не создавать собственную службу обнаружения и идентификации, поскольку это чрезвычайно сложно сделать с какой-либо степенью точности.

Вероятно, стоит упомянуть, что ничто не является точным на 100%. Например, я живу в Австралии, но могу использовать свой корпоративный VPN, который туннелирует меня через Сингапур.

Перенаправление

Я живу в Австралии и сталкивался со многими автоматическими переадресациями на глобальные сайты. Как клиент, я могу сказать вам, что это очень раздражает, и обычно я не могу достаточно быстро закрыть вкладку браузера.

В большинстве случаев не рекомендуется автоматически перенаправлять пользователей, вместо этого вы должны просто сообщить им, что они могут получить больше удовольствия от посещения локального сайта. Этого можно добиться несколькими способами, например отображением предупреждения или уведомления.

Если вы беспокоитесь о том, чтобы обеспечить хорошее взаимодействие с пользователем (и вы должны быть обеспокоены), попробуйте опубликовать вопрос на https://ux.stackexchange.com/

person Kane    schedule 22.04.2015
comment
Спасибо за ваш ответ, но, как гражданин Австралии, можете ли вы сказать мне, как выглядит для вас заголовок языка http accept? Я согласен с предупреждением/уведомлением. Но я ищу надежное обнаружение. И ip не работает из-за прокси/vpn, поэтому заголовок принятия языка кажется лучшим для локализации контента для пользователей. Но я боюсь, что у австралийцев заголовок принимается на английском, а не на «au». - person JP Hellemons; 23.04.2015