How does RedirectToRoute affect SEO?
So I have my domain - www.mycatchyname.com, and its basically a single pa开发者_StackOverflow社区ge site that has one purpose, so I've used RedirectToRoute on the root controller/action to go straight to www.mycatchyname.com/seo-keyword. So www.mycatchyname.com/seo-keyword is basically the homepage.
How does Google see this? People searching for what my site is actually about will probably pickup www.mycatchyname.com/seo-keyword in the results, however some people will be going to www.mycatchyname.com directly. Will both instances be indexed and have seperate pageranks/entries on the results page? What kind of a redirect is RedirectToRoute?
Is there a better way to do what I'm trying to do, aside from straight up having www.seo-keyword.com, because that isn't an option.
I believe a 301 redirect would be better in terms of SEO for what you are trying to do. Here is one way that you can create a permanent redirect action result:
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);
}
}
You can then call it in your controller like this:
public ActionResult Index()
{
return new PermRedirectResult("www.mycatchyname.com/seo-keyword");
}
Hope this help you.
This might be a issue for your SEO.
ASP.Net MVC uses a 302 whenever you return a RedirectToRouteResult or a RedirectResult. This means that your new page might not get indexed.
- 301 means Permanent redirect (as in: forget the old page and url)
- 302 means Temporarly redirect (as in: index the original url, but with the target url's information)
So, use a 301 redirect on the homepage if you don't want to get this indexed.
On top of this: because you are creating 2 URL's with the same content, you are creating duplicate content. Having a single URL for each page is pretty important (look up canonical URL meta tag).
ASP.NET uses a 302 redirect (temporary redirect) in this instance. You might be better off using a 301 (permanent redirect) but you will have to create your own ActionResult and return it from your action method.
精彩评论