2016-09-20 2 views
0

캘린더는 http://domain.com/calendar/입니다. 이번 달의 이벤트를 보여줍니다. 다른 개월이 순간 (즉 9월)에서 URL http://domain.com/calendar/september/http://domain.com/calendar/에 중복 콘텐츠를 보여주는 것을 의미하므로 (기본 캘린더 페이지에서 사용자를 리디렉션해야합니까?

  • http://domain.com/calendar/february/
  • http://domain.com/calendar/january/
  • 에서 볼 수 있습니다. 내 생각은 사용자를 http://domain.com/calendar/에서 http://domain.com/calendar/{current-month}/으로 리디렉션하는 것이 었습니다. 그러나 이렇게하면 검색 엔진이 주 캘린더 URL이 아닌 마지막으로 색인을 생성 한 달의 URL로 사용자를 보내 게됩니다.

    메인 캘린더 URL은 문헌을 통해 링크되어 있으므로 사용하지 않도록 설정할 수 없습니다.

    이 시나리오를 처리하는 가장 좋은 방법은 무엇입니까? 기본 URL에서 특정 달로 리디렉션해야합니까? 그렇다면 임시 리디렉션 (예 : 302)이 필요합니까? 이 유형의 리디렉션이 실제로는 아니기 때문에 내가 용의자가 아닙니다. 아니면 걱정할 필요가없는 것입니까?

    이 단계에서 URL에 연도를 추가하지 않아도됩니다.

답변

0

필자는 달 경로 매개 변수가 선택 사항이되도록 경로를 설정했습니다. 사용자가 http://domain.com/calendar/으로 이동하면 내 컨트롤러가 기본적으로 현재 월을 사용합니다. 사용자가 http://domain.com/calendar/{month}/으로 이동하면 URL에 제공된 달을 사용하고 그 달을 대신 표시합니다.

궁극적으로 나는 특정 월을 표시하기위한 선택적 경로 매개 변수를 허용하는 달력을 표시하기위한 단일 종점을 갖게됩니다. 여기

내가 사용하여 경로를 생성 할 방법 C# 및 MVC입니다 :

public class CalendarController : Controller 
{ 
    public ActionResult Index(string month) 
    { 
     if(month == "") 
     { 
      month = DateTime.Today.ToString("MMMM"); 
     } 

     ViewBag.Month = month; 
     // ViewBag.Data = getData(month); // method to get events for month 

     return View(); 
    } 
} 

그리고 내 노선은 같을 것이다 : 당신은 자바 스크립트 (<body onload="setTimeout(document.location.href=get_next_month_url_function_you_make(),10)">)에 리디렉션을 추가하면 어떻게

public class RouteConfig 
{ 
    public static void RegisterRoutes(RouteCollection routes) 
    { 
     routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

     // /calendar/october 
     routes.MapRoute(
      "Calendar", 
      "calendar/{month}", 
      new {controller = "Calendar", action = "Index", month = ""}); 
    } 
} 
0

후 10 밀리 초의 타임 아웃이므로 검색 엔진은/calendar/(적절한 타임 아웃 메타 태그를 제공해야 함) 링크를 유지하며 사용자는 해당 월의 세부 정보 페이지로 리디렉션됩니다.

1

/calendar에서 현재 캘린더 경로를 그대로두고/calendar/year/{currentmonth} 페이지로 리디렉션하지 않겠습니다. 당신이 년/달력/년/월과 함께 아카이브를 만들어야합니다 이전 달 동안

당신은/달력 경로가 항상 포함됩니다 고유 한 고정 경로 업 것을 표시의 몇 가지 유형이있는 경우 (페이지 제목, 내용 등의 형태로) 최신 이벤트를 검색 엔진에서 항상 색인 될 수 있습니다.

아카이브 페이지에서 현재 캘린더로 리디렉션하지 않습니다. 다음 달에 고유 한 컨텐츠가 될 것이므로 페이지 제목에 Archive :를 추가하고 색인을 생성 할 수 있도록 아카이브를 차별화 할 수 있습니다.

관련 문제