단순한 URL 구조 유지

사이트의 URL 구조는 최대한 단순해야 합니다. 콘텐츠를 정리하여 URL을 논리적이고 이해하기 쉬운 방식으로 구성하시기 바랍니다. 가능하면 긴 ID 숫자보다는 읽기 쉬운 단어가 좋습니다. 예를 들어, 비행에 대한 정보를 검색하는 경우 http://ko.wikipedia.org/wiki/Aviation와 같은 URL은 더 쉽게 클릭하게 됩니다. 그에 비해 http://www.example.com/index.php?id_sezione=360&sid=3a5ebc944f41daa6f849f730f1와 같은 URL은 사용자를 혼란스럽게 합니다.

URL에서 구두점을 사용해 보세요. http://www.example.com/green-dress.html URL은 http://www.example.com/greendress.html보다 훨씬 유용합니다. URL에서 밑줄(_) 대신 하이픈(-)을 사용하는 것이 좋습니다.

여러 개의 매개변수를 포함하고 있는 URL과 같이 지나치게 복잡한 URL은 동일하거나 유사한 사이트 콘텐츠를 가리키는 URL을 불필요하게 많이 생성하므로 크롤러에 문제를 일으킬 수 있습니다. 그 결과 Googlebot이 필요 이상의 대역폭을 소비하거나 사이트에서 모든 콘텐츠에 대한 색인을 완전히 생성하지 못할 수 있습니다.

문제의 일반적인 원인

URL의 수가 불필요하게 많은 데에는 다음과 같은 이유가 있을 수 있습니다.

  • 항목 집합에 대한 가산 필터링: 여러 사이트는 같은 항목 집합이나 검색결과에 대한 다른 보기를 제공합니다. 사용자는 제한된 범주를 사용하여 필터링할 수 있습니다(예: 해변의 호텔). 그런데 헬스 클럽이 있는 해변의 호텔과 같이 필터링 기준을 추가하면 사이트의 URL 수(데이터 보기)가 폭발적으로 증가합니다. Googlebot은 각 호텔 페이지로 이동할 수 있는 목록을 몇 개만 보면 되기 때문에 약간씩 다른 호텔 목록을 많이 만들면 목록이 중복될 수 있습니다. 예를 들면 다음과 같습니다.
    • 호텔 속성이 '특가' 호텔인 경우
      http://www.example.com/hotel-search-results.jsp?Ne=292&N=461
    • 호텔 속성이 해변에 있는 '특가' 호텔인 경우
      http://www.example.com/hotel-search-results.jsp?Ne=292&N=461+4294967240
    • 호텔 속성이 해변에 있으며 헬스 클럽이 있는 '특가' 호텔인 경우
      http://www.example.com/hotel-search-results.jsp?Ne=292&N=461+4294967240+4294967270

  • 문서의 동적 생성: 문서를 동적으로 생성하면 카운터, 시간 기록 및 광고로 인해 약간의 변화가 발생할 수 있습니다.

  • 문제가 있는 URL 내 매개변수: 예를 들어, 세션 ID 또는 정렬 방법으로 인해 엄청난 수의 중복과 URL을 만들 수 있습니다.

  • 매개변수 정렬: 일부 대형 쇼핑 사이트에서는 동일한 항목을 정렬할 수 있는 여러 방법을 제공하는 데, 이로 인해 URL의 수가 증가하기도 합니다.
    http://www.example.com/results?search_type=search_videos&search_query=tpb&search_sort=relevance
       &search_category=25
  • 추천 매개변수와 같이 관련성이 낮은 URL 내 매개변수: 예를 들면 다음과 같습니다.
    http://www.example.com/search/noheaders?click=6EE2BF1AF6A3D705D5561B7C3564D9C2&clickPage=
       OPD+Product+Page&cat=79
    http://www.example.com/discuss/showthread.php?referrerid=249406&threadid=535913
    http://www.example.com/products/products.asp?N=200063&Ne=500955&ref=foo%2Cbar&Cn=Accessories.

  • 캘린더 문제: 동적으로 생성된 캘린더는 시작일 또는 종료일에 제한이 없는 미래의 날짜 및 과거의 날짜로 연결되는 링크를 생성할 수 있습니다. 예를 들면 다음과 같습니다.
    http://www.example.com/calendar.php?d=13&m=8&y=2011
    http://www.example.com/calendar/cgi?2008&month=jan

  • 깨어진 상대적인 링크: 깨어진 상대적인 링크로 인해 공간이 엄청나게 커지기도 합니다. 보통 이 문제는 반복된 경로 요소 때문에 발생합니다. 예를 들면 다음과 같습니다.
    http://www.example.com/index.shtml/discuss/category/school/061121/html/interview/
      category/health/070223/html/category/business/070302/html/category/community/070413/html/FAQ.htm
문제해결 단계

URL 구조와 관련된 잠재적인 문제를 방지하려면 다음 조치를 취하시기 바랍니다.

  • robots.txt 파일을 사용하여 Googlebot이 문제가 되는 URL에 액세스할 수 없도록 차단합니다. 일반적으로 검색결과를 생성하는 URL과 같은 동적 URL이나 캘린더와 같이 무한대의 공간을 만드는 URL을 차단하는 것이 좋습니다. robots.txt 파일에 정규식을 사용하면 많은 수의 URL을 손쉽게 차단할 수 있습니다.

  • 가능하면 URL에 세션 ID를 사용하지 말고 대신 쿠키를 사용합니다. 자세한 내용은 웹마스터 가이드라인을 참조하시기 바랍니다.

  • 가능하면 불필요한 매개변수를 삭제하여 URL의 길이를 줄입니다.

  • 사이트의 캘린더가 무한대인 경우 동적으로 생성되는 미래의 캘린더 페이지로 연결되는 링크에 nofollow 속성을 추가합니다.

  • 사이트에 상대적인 링크가 깨지지 않았는지 확인합니다.
도움이 되었나요?
어떻게 하면 개선할 수 있을까요?