RedirectToRoute如何影响SEO?

时间:2010-07-16 10:08:23

标签: asp.net-mvc asp.net-mvc-2 seo

所以我有我的域名 - www.mycatchyname.com,它基本上是一个有一个目的的单页网站,所以我在根控制器/动作上使用RedirectToRoute直接访问www.mycatchyname.com/seo -关键词。所以www.mycatchyname.com/seo-keyword基本上就是主页。

Google如何看待这个?搜索我的网站实际内容的人可能会在结果中获取www.mycatchyname.com/seo-keyword,但有些人会直接访问www.mycatchyname.com。这两个实例都会被编入索引,并在结果页面上有单独的pageranks / entries吗? RedirectToRoute是什么类型的重定向?

除了直接使用www.seo-keyword.com之外,还有更好的方法来做我想做的事情,因为这不是一个选择。

3 个答案:

答案 0 :(得分:1)

我相信301重定向在搜索引擎优化方面会更好。以下是一种可以创建永久重定向操作结果的方法:

public class PermRedirectResult : ActionResult
{
    private string _url;

    public PermRedirectResult(string url)
    {
        _url = url;
    }

    public override void ExecuteResult(ControllerContext context)
    {
        context.HttpContext.Response.RedirectPermanent(_url, true);
    }
}

然后您可以在控制器中调用它:

public ActionResult Index()
{
    return new PermRedirectResult("www.mycatchyname.com/seo-keyword");
}

希望这对你有所帮助。

答案 1 :(得分:1)

这可能是您的SEO的问题。

每当您返回RedirectToRouteResult或RedirectResult时,ASP.Net MVC都会使用302。 这意味着您的新网页可能未被编入索引。

  • 301表示永久重定向(如:忘记旧页面和网址)
  • 302表示Temporarly重定向(如:索引原始网址,但包含目标网址的信息)

因此,如果您不想将此索引编入索引,请在主页上使用301重定向。

除此之外:因为您正在创建具有相同内容的2个网址,因此您正在创建duplicate content。每个页面都有一个网址非常重要(查看canonical URL meta tag)。

答案 2 :(得分:0)

ASP.NET在此实例中使用302重定向(临时重定向)。你可能最好使用301(永久重定向),但你必须创建自己的ActionResult并从你的action方法返回它。