我应该为这个重定向标头 301,谷歌索引将如何受到影响?
Posted
技术标签:
【中文标题】我应该为这个重定向标头 301,谷歌索引将如何受到影响?【英文标题】:Should i header 301 for this redirection and how will google index be influenced? 【发布时间】:2017-11-17 03:43:05 【问题描述】:我有一个应用程序,当您转到 http://website.com
时,它会自动重定向到 http://website.com/en
,因为没有检测到语言。
此重定向是否需要使用重定向 301?谷歌索引呢?我的谷歌索引会受到这种重定向的影响吗?
【问题讨论】:
你在问重定向是如何工作的吗? @SLaks 更新问题 【参考方案1】:我为自己的研究对 Google Bots 的行为进行了逆向工程,因此这里是我对它们当前工作方式的见解。可能不准确,研究是在 2015 年进行的,但我怀疑它发生了很大变化。
Google Bots 会点击您的/
,然后会遵循 301、302 等重定向。语义上 301、302 和缺点。是不同的,但我敢打赌,Google 并不真正关心最常见的类型,因为在世界 wild 网络上可能会遇到各种各样的管理/编程错误/懒惰。..
如果我没记错的话,他们最多会跟进n
重定向,其中n 是5
,直到他们点击200
或放弃。
一段时间后,Google 漫游器会重新出现在您的页面上,起初会比平时多一点(几个小时内几次),然后非常缓慢(每隔几个小时一次)。他们可能会尝试分析您的内容的动态性。 请注意,即使在多次重定向之后,它们也会准确地引用您网站内容的重定向 URL(我在搜索引擎中验证了我的链接)。
通过分析 Google 下载代理(API、Google Docs...),我很确定 Google 使用 libcurl
处理他们的大部分活动请求,并且没有实施基于黑魔法的解决方案。库库尔natively implements redirection for all of the 3xx
message suite.
对于 SEO 优化,请考虑使用我知道他们依赖的 sitemap.xml。
如果你真的很偏执,那就给 GoogleBots 提供你想要的内容:
在/
上实现一个index.php
检测用户代理,如果不是 Google Bot -> 重定向到 /en
如果是 Google Bot:提供您想要的内容
Google Bot 用户代理是 officially documented here。
如果您对用户代理不够信任,请尝试对 sollicitor 执行反向 DNS 解析,正确处理结果是 also documented by Google。
您可以使用 gethostbyaddr()
反向 DNS 请求,但它可能会减慢加载过程,或者您可以信任 crawlers IP database。我不推荐这些,用户代理控件应该没问题。
【讨论】:
【参考方案2】:您的应用程序似乎已经进行了某种重定向。您需要检查是哪种重定向(301 或 302)。 如果是 302 重定向,那么是的,它会影响你的谷歌排名,你应该改用 301 重定向。
如果您想将网站访问者重定向到另一个网页,但您计划在一段时间后将重定向的页面返回,则应使用 302 重定向(又名:临时重定向)。
【讨论】:
【参考方案3】:这是一组复杂的决策,Google 对网页排名的运作方式非常保密。
我假设您有一个多语言网站 - 有 http://website.com/en
、http://website.com/es
、http://website.com/fr
等。我还假设您希望 Google 为所有这些网站编制索引,并将它们识别为使用这些语言。
您可以从阅读 Google has to say. 的内容开始
301 是永久重定向。它说“无论你是谁,去这里而不是那里”。这对搜索引擎爬虫来说是不利的——它们不是“英语”或“西班牙语”。所以,找出你想要的用户体验。有人说“显示一个登陆页面,让用户选择他们想要的语言”;其他人说“使用浏览器语言检测并自动重定向”。如果您重定向,请通过302 进行。也许两者都做——如果你确定就重定向,如果你不确定就显示一个着陆页。
对于 SEO,请确保您有一个站点地图,允许 Google 查找所有语言的所有内容,并将不同的语言版本相互链接,以便 Google 能够理解这种关系。
【讨论】:
【参考方案4】:如果您的网站上有多种语言,则使用 URL 的一部分来表明该语言是首选方式。它甚至在Google documentation on Multi-regional and multilingual sites。
不要使用会话来设置用户语言并在同一个 URL 上显示不同的内容(语言)!单个 URL 应始终显示相同的内容,无论谁在浏览或以何种方式到达那里。
同样来自 symcbean 的链接显示,3xx redirect has no impact on 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
【讨论】:
【参考方案5】:一旦您开始使用 301 重定向,您就可以永远返回。它创建了一个永久的抽象层,为您的网站增加了不必要的复杂性(这与不重定向和提供http://website.com 的默认内容有何不同?)。
完全使用重定向会影响性能。虽然 google 说性能影响排名,但在实践中影响程度相对较小。
首选语言旨在作为提示。无论如何默认为首选语言,但如果您想提供良好的用户体验,那么让用户选择是否要更改语言。
进一步的考虑是谷歌只会索引它可以到达的内容。如果您在不依赖动态服务器端重定向/代理或客户端 javascript 的情况下选择可导航的语言,那么 google 也会索引非英语内容。
最后,谷歌在决定网页排名时使用了多种神秘因素。以前使用重定向会自动产生影响 - 但这是 no longer the case.(除了性能开销)。
因此,鉴于您似乎阻止 google 访问您网站的大部分内容,这是一种不好的工程实践,并且会导致糟糕的用户体验,我强烈建议您采用不同的方法。如果您的网站架构在没有重定向的情况下很难实现这一点,那么请使用可以被用户覆盖的非永久重定向。
【讨论】:
以上是关于我应该为这个重定向标头 301,谷歌索引将如何受到影响?的主要内容,如果未能解决你的问题,请参考以下文章