c# - 澳大利亚的地理特定页面

标签 c# localization seo url-redirection

我已阅读 this article from 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 还是服务器端解决方案(在我的例子中是 C# .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/");
    }
}

最佳答案

我会尝试将我的答案分解成多个部分。

通过IP识别国家

有许多免费和付费服务可以将 IP 地址地理映射到一个国家; MaxMind (商业)和 HostIP (免费但每天限制 1000 个请求)是两个这样的服务。您会发现 MaxMind 的准确性很高,HostIP 的覆盖率也很高。

我强烈建议使用服务而不是构建您自己的检测和识别服务,因为要做到任何程度的准确度都非常困难。

可能值得一提的是,没有什么是 100% 准确的。例如,我住在澳大利亚,但可能会使用我的企业 VPN,它可以让我穿越新加坡。

重定向

我住在澳大利亚,经历过多次自动重定向到全局站点。作为客户,我可以告诉你这非常烦人,而且通常我无法尽快关闭浏览器选项卡。

在大多数情况下,自动重定向用户是不可取的,您应该简单地告知他们访问本地站点可能会获得更好的体验。有很多方法可以实现这一点,比如显示 alert or notification。 .

如果您担心提供良好的用户体验(您应该这样做),请尝试在 https://ux.stackexchange.com/ 上发帖提问

关于c# - 澳大利亚的地理特定页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29790983/

相关文章:

c# - 什么 RegEx 字符串会找到字符串中最后(最右边)的一组数字?

c# - 覆盖 CompareTo : What to do with null case?

seo - 从网站中删除页面的正确方法

c# - 如何编写我自己的正则表达式

c# - 在 StringTemplate 4 中使用逗号作为列表分隔符

php - 根据语言环境查找第一周和最后一周

ios - 如何在不重新启动应用程序的情况下从应用程序内部更改应用程序的本地化?

java - jvm 未翻译的部分

seo - 如果您登录 Google,Google 搜索引擎会显示您网站的页面排名不正确?

php - Joomla 和 SEO 友好的 URL