我的默认页面中有一些脚本,可根据浏览器的语言将用户重定向到我网站的特定语言版本。我想添加一些东西来重定向那些没有启用 Javascript 的用户。
目前我有以下内容:
<noscript>
<META HTTP-EQUIV=REFRESH CONTENT="1; URL=en/index.htm">.
</noscript>
但我读过这不是太明智,因为一些搜索引擎不赞成它。我该如何做到这一点并让搜索引擎满意?
我的默认页面中有一些脚本,可根据浏览器的语言将用户重定向到我网站的特定语言版本。我想添加一些东西来重定向那些没有启用 Javascript 的用户。
目前我有以下内容:
<noscript>
<META HTTP-EQUIV=REFRESH CONTENT="1; URL=en/index.htm">.
</noscript>
但我读过这不是太明智,因为一些搜索引擎不赞成它。我该如何做到这一点并让搜索引擎满意?
您应该使用 .htaccess 文件从标头中检测浏览器的语言(使用正则表达式),然后以这种方式重定向它们。这样做与客户端配置完全无关,搜索引擎会正确处理它。有大量关于如何实现这一点的信息。
为什么不在服务器端重定向,通过 302 HTTP 状态代码进行响应。我不知道你在服务器上有什么,但所有框架都支持它。
您也可以使用 301 HTTP 状态代码在服务器端重定向。这是实现良好 SEO 的最佳方法。该示例在 C# 中,但每个平台都有自己的方法来将标头添加到响应中:
Response.Clear();
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location", "/newfolder/newfilelocation");
使用 301 状态码的原因是搜索引擎索引了新页面,因为它是“永久移动”而不是“临时移动”的 302。