2010-04-05 89 views
0

我已经从querystring asp.net webforms应用程序更改为URL路由一个。现在我试图让Google知道有一组新的网址需要注意。 G已经在sitemap.xml中发送的179个新URL中编制了133个索引,但site:mistral.hr命令返回链接的旧查询字符串版本。 这可能部分是因为我遗留了网站的旧查询字符串版本的功能(为了向后兼容),并没有做过任何301重定向(我也不知道如何在我的共享主机帐户中实现它们)。 旧的查询字符串和新的路由都指向相同的Default.aspx页面。谷歌指数与asp.net网址路由

回答

4

我假设你想要的是从Google结果中删除“死”链接。这里有三个解决方案,应该工作:

  1. 添加robots.txt中的规则不允许访问旧的URL。假设旧网址包含Default.aspx明确,你的新的都可以访问没有这个限定词,下面应该把工作做好:

    User-Agent: * 
    Disallow: /Default.aspx 
    
  2. 返回301 Moved Permanently从旧网址,用Location指向新。使用ASP.NET和C#,这将是这样的:

    Response.Status = "301 Moved Permanently"; 
    Response.AppendHeader("Location", "http://example.com/newurl"); 
    
  3. 返回410 Gone从任何请求到旧网址:

    Response.Status = "410 Gone"; 
    

你不应该需要什么特别的您主持做后面的任何一个。只需离开用于处理旧URL的页面,并将Page_Load处理程序中的逻辑替换为上面的301410代码即可。

无论您选择哪一个,都允许Google(和其他人)几天/每周/几个月调整到新设置。您应该很快就会看到索引中旧网址的数量减少,但在它们全部消失之前可能需要很长时间。

+0

从主页(Default.aspx)重定向会有seo惩罚吗? – steakoverflow 2010-04-07 13:52:28

+1

只要你使用'301'做一个*单独的*重定向,我的印象是主要的搜索引擎只是“遵循重定向”,将PageRank或类似的内容移植到新的URL中。但是,真的,这是一个单独的问题,我不确定我是否是正确的人来回答它。 – 2010-04-07 14:29:27