Как RedirectToRoute влияет на SEO? - PullRequest
4 голосов
/ 16 июля 2010

Итак, у меня есть мой домен - www.mycatchyname.com, и это в основном одностраничный сайт, имеющий одну цель, поэтому я использовал RedirectToRoute на корневом контроллере / действии, чтобы перейти прямо к www.mycatchyname.com/seo -ключевое слово. Так что www.mycatchyname.com/seo-keyword - это в основном домашняя страница.

Как Google видит это? Люди, которые ищут то, о чем на самом деле мой сайт, наверняка получат www.mycatchyname.com/seo-keyword в результатах, однако некоторые люди пойдут на www.mycatchyname.com напрямую. Будут ли индексированы оба экземпляра и будут ли отдельные страницы / записи на странице результатов? Что за редирект - RedirectToRoute?

Есть ли лучший способ сделать то, что я пытаюсь сделать, кроме прямого доступа к www.seo-keyword.com, потому что это не вариант.

Ответы [ 3 ]

1 голос
/ 01 августа 2010

Я считаю, что перенаправление 301 было бы лучше с точки зрения SEO для того, что вы пытаетесь сделать.Вот один способ, которым вы можете создать постоянный результат действия перенаправления:

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 голос
/ 30 августа 2010

Это может быть проблемой для вашего SEO.

ASP.Net MVC использует 302 всякий раз, когда вы возвращаете RedirectToRouteResult или RedirectResult.Это означает, что ваша новая страница может не быть проиндексирована.

  • 301 означает постоянное перенаправление (как в: забыть старую страницу и URL)
  • 302 означает временное перенаправление (как в: индексировать исходный URL, но с информацией целевого URL)

Итак, используйте перенаправление 301 на домашней странице, если вы не хотите индексировать это.

Кроме того: вы создаете 2 URL с одинаковым содержимым, вы создаете дублирующийся контент .Очень важно иметь один URL для каждой страницы (посмотрите канонический метатег URL ).

0 голосов
/ 16 июля 2010

ASP.NET в этом случае использует редирект 302 (временное перенаправление).Возможно, вам лучше использовать 301 (постоянное перенаправление), но вам придется создать собственный ActionResult и вернуть его из метода действия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...