Asp.net 服务器传输对谷歌不可见吗?

Asp.net 服务器传输对谷歌不可见吗?,asp.net,Asp.net,我想对我的网站进行一些更改,这需要一些URL重写来保留我的旧URL。我无法使用正确的URL重写,因为我的主机提供商对我的控制非常有限 由于我使用的是ASP.NET,而且我的所有页面都有.aspx扩展名,所以我的一个想法是在global.asax中的应用程序_BeginRequest事件下放置一些内容。这可以检查请求页面的URL是否为旧URL之一,并使用Server.Transfer打开正确的页面 我的问题是,这是否会将这一无形转移到谷歌?我不希望我在谷歌的排名受到影响。服务器。传输完全在服务器端

我想对我的网站进行一些更改,这需要一些URL重写来保留我的旧URL。我无法使用正确的URL重写,因为我的主机提供商对我的控制非常有限

由于我使用的是ASP.NET,而且我的所有页面都有.aspx扩展名,所以我的一个想法是在global.asax中的应用程序_BeginRequest事件下放置一些内容。这可以检查请求页面的URL是否为旧URL之一,并使用Server.Transfer打开正确的页面


我的问题是,这是否会将这一无形转移到谷歌?我不希望我在谷歌的排名受到影响。

服务器。传输
完全在服务器端进行,因此任何客户端(包括谷歌)都不会意识到这一点。

谷歌只关心页面内容,而不关心如何在web服务器上构建内容。由于Server.Transfer完全是web请求的内部内容,我认为您应该对您的网站排名感到满意。

客户端(浏览器或bot)根本不知道发生了
Server.Transfer
。它只会看到它请求了一个给定的URL并得到了您返回的内容。没有响应客户端说您移动了东西(这将是
response.Redirect

在您的情况下,这听起来可能意味着您将有两个URL返回相同的内容-两个相同的页面-这可能会影响搜索索引处理内容的方式(当然也意味着您最终将有人链接到两个URL,这可能会影响每个URL的排名)

您可以通过指定内容的规范URL来解决这个问题。更多信息,但基本上,如果您同时拥有
http://example.com/foo.aspx
http://example.com/bar.aspx
返回相同的内容,您希望规范(官方)URL为
http://example.com/bar.aspx
,告诉索引器:

<link rel="canonical" href="http://example.com/bar.aspx" />


Server.Transfer在服务器端使用重定向,然后客户端从您输入的重定向url获得响应。如果你使用Server.Transfer,他们在
服务器上使用302。Transfer对谷歌来说是不可见的。服务器只是在请求的URL下提供目标内容,而不是重定向。如果爬虫程序可以同时访问两个URL,这可能会导致内容重复(搜索引擎优化不佳)。@Steven Spielberg:不,当使用Server.Transfer时,客户端将无法获得HTTP 302。看到来自OdedSo no 302的答案了吗?或者有任何东西被报告给谷歌了?@Andy:没有,那将是
响应。重定向
<代码>服务器。传输
完全在服务器内部。