所以我有我的域名 - 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之外,还有更好的方法来做我想做的事情,因为这不是一个选择。
答案 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重定向。
除此之外:因为您正在创建具有相同内容的2个网址,因此您正在创建duplicate content。每个页面都有一个网址非常重要(查看canonical URL meta tag)。
答案 2 :(得分:0)
ASP.NET在此实例中使用302重定向(临时重定向)。你可能最好使用301(永久重定向),但你必须创建自己的ActionResult并从你的action方法返回它。