我有一个应用程序,当您访问http://website.com
它时会自动重定向到,http://website.com/en
因为没有检测到语言。
是否需要为此重定向使用重定向 301?谷歌索引呢?我的谷歌索引会受到这种重定向的影响吗?
我有一个应用程序,当您访问http://website.com
它时会自动重定向到,http://website.com/en
因为没有检测到语言。
是否需要为此重定向使用重定向 301?谷歌索引呢?我的谷歌索引会受到这种重定向的影响吗?
这是一组复杂的决定,谷歌对页面排名的工作方式非常保密。
我假设您有一个多语言网站 - 有http://website.com/en
、http://website.com/es
等http://website.com/fr
。我还假设您希望 Google 为所有这些网站编制索引,并将它们识别为使用这些语言。
301 是永久重定向。它说“无论你是谁,去这里而不是那里”。这对搜索引擎爬虫来说是不利的——它们不是“英语”或“西班牙语”。所以,找出你想要的用户体验。有人说“显示一个登陆页面,让用户选择他们想要的语言”;其他人说“使用浏览器语言检测并自动重定向”。如果您重定向,请通过302进行。也许两者都做 - 如果您确定则重定向,如果您不确定则显示登录页面。
对于 SEO,请确保您有一个站点地图,允许 Google 查找所有语言的所有内容,并将不同的语言版本相互链接,以便 Google 可以理解这种关系。
一旦你开始使用 301 重定向,你就再也回不去了。它创建了一个永久的抽象层,为您的站点增加了不必要的复杂性(这与不重定向和提供http://website.com上的默认内容有何不同?)。
完全使用重定向会影响性能。虽然 google 说性能影响排名,但在实践中影响程度相对较小。
首选语言旨在作为提示。无论如何默认为首选语言,但如果您想提供良好的用户体验,那么让用户选择是否要更改语言。
进一步的考虑是谷歌只会索引它可以到达的内容。如果您在不依赖动态服务器端重定向/代理或客户端 javascript 的情况下选择可导航的语言,那么 google 也会索引非英语内容。
最后,谷歌使用神秘的混合因素来决定页面排名。以前使用重定向会自动产生影响 - 但现在情况不再如此。(除了性能开销)。
因此,鉴于您似乎阻止 google 访问您网站的大部分内容,这是一种不好的工程实践,并且会导致糟糕的用户体验,我强烈建议您采用不同的方法。如果您的网站架构使得在没有重定向的情况下难以实现这一点,则使用可以被用户覆盖的非永久重定向。
我为自己的研究对 Google Bots 的行为进行了逆向工程,所以这里是我对它们目前如何工作的见解。可能不准确,研究是在 2015 年进行的,但我怀疑它改变了那么多。
Google Bots 会攻击您/
,然后会遵循 301、302 等重定向。语义上 301、302 和缺点。是不同的,但我敢打赌,谷歌并不真正关心最常见的类型,因为在万维网上可能会遇到各种各样的管理/编程错误/懒惰。
他们将跟进最多n
重定向,5
如果我没记错的话,n 是,直到他们击中 a200
或放弃。
一段时间后,谷歌机器人会回到你的页面,起初比平时多一点(几个小时内几次),然后非常缓慢(每隔几个小时一次)。他们可能会尝试分析您的内容的动态性。请注意,即使经过多次重定向(我在搜索引擎中验证了我的链接),它们也会准确地引用您网站内容的重定向 URL。
通过分析 Google 下载代理(API、Google Docs...),我很确定 Google 使用libcurl
了他们的大多数活动请求,并且没有实施基于黑魔法的解决方案。Libcurl 原生实现所有3xx
消息套件的重定向。
对于 SEO 优化,请考虑使用我知道他们依赖的 sitemap.xml。
如果您真的很偏执,请向 GoogleBots 提供您想要的内容:
在上实现 index.php/
检测用户代理,如果不是 Google Bot -> 重定向到/en
如果是 Google Bot:提供您想要的内容
Google Bots 用户代理在此处正式记录。
如果您对用户代理不够信任,请尝试对律师执行反向 DNS 解析,Google 还记录了对结果的正确处理。
您可以使用反向 DNS 请求律师,gethostbyaddr()
但它可能会减慢加载过程,或者您可以信任爬虫 IP 数据库。我不推荐这些,用户代理控件应该没问题。
您的应用程序似乎已经进行了某种重定向。您需要检查是哪种重定向(301 或 302)。如果是 302 重定向,那么是的,它会影响你的谷歌排名,你应该改用 301 重定向。
如果您想将网站访问者重定向到另一个网页,但您计划在一段时间后将重定向的页面返回,则应使用 302 重定向(又名:临时重定向)。
如果您的网站上有多种语言,则使用 URL 的一部分来指示该语言是首选的方式。它甚至出现在Google 多区域和多语言网站的文档中。
不要使用会话来设置用户语言并在同一个 URL 上显示不同的内容(语言)!一个 URL 应该始终显示相同的内容,无论谁在浏览或他是如何到达那里的。
此外,来自 symcbean 的链接显示,3xx 重定向对 pagerank 没有影响。
但是,请确保您的网站还包含在语言之间切换的选项。所以这/en/
也链接到/nl/
和/de/
/或您拥有的任何语言。这样,谷歌(以及更重要的用户)也可以访问其他语言的内容。
结论:如果您用作确定语言的一种方式,http://website.com
然后重定向到http://website.com/en/
、或任何语言,那么这是在单个域上执行此操作的首选方式。唯一更好的事情是,和http://website.com/nl/
http://website.com/de/
website.com
website.nl
website.de