용어집
SEO

패싯 내비게이션

패싯 내비게이션은 전자상거래 등의 목록 페이지에서 색상·가격·브랜드 같은 속성 필터로 항목을 좁혀 보여주는 UI입니다. 편리한 탐색 경험을 주지만 필터 조합마다 URL이 생성되어 SEO에서는 무한 URL·중복 콘텐츠·크롤 버짓 낭비를 일으킬 수 있습니다.

  • 패싯 내비게이션은 색상·가격·브랜드·사이즈 등 속성 필터로 목록을 좁히는 탐색 UI로, 전자상거래·여행·부동산·채용 사이트에서 널리 쓰입니다.
  • 필터 조합마다 고유 URL이 생기면서 거의 무한대의 URL 공간이 만들어지고, 이는 중복 콘텐츠·인덱스 비대화·크롤 버짓 낭비로 이어집니다.
  • 구글 게리 일리스는 보고된 크롤링 문제의 약 50%를 패싯 내비게이션이 차지한다고 밝혔습니다.
  • 핵심 해법은 robots.txt 차단·canonical·noindex·URL 파라미터 정리를 상황에 맞게 계층적으로 조합하고, 검색 수요가 실재하는 필터만 선별 색인하는 것입니다.

패싯 내비게이션 개요

패싯 내비게이션은 카테고리 목록 페이지에서 방문자가 색상·가격·브랜드·사이즈 같은 속성으로 상품이나 콘텐츠를 걸러 보도록 돕는 UI 패턴입니다. 사용자가 원하는 항목을 빠르게 찾게 해 주므로 전자상거래, 여행 예약, 부동산 매물, 채용 공고 같은 대형 목록형 서비스에서 표준처럼 자리잡았습니다.

사용자 경험 측면에서는 매우 유용하지만, SEO 관점에서는 양날의 검입니다. 필터를 하나씩 적용할 때마다 새로운 URL이 만들어지고, 여러 필터를 조합하면 URL 수가 기하급수적으로 늘어납니다. 예를 들어 색상 10종, 브랜드 20종, 가격대 5종만 있어도 이론적 조합은 수천 개에 이르며, 정렬 순서나 페이지네이션까지 더해지면 사실상 무한한 URL 공간이 형성됩니다.

SEO 문제

중복 콘텐츠와 신호 분산

필터를 바꿔도 표시되는 상품 목록이 거의 같은 경우가 많아, 비슷하거나 동일한 콘텐츠를 담은 URL이 대량으로 생성됩니다. 이렇게 되면 본래 하나의 강한 페이지로 모여야 할 랭킹 신호가 여러 URL로 흩어지고, 내부 링크로 전달되는 페이지랭크도 저가치 URL에 분산되어 핵심 카테고리 페이지의 경쟁력이 약해집니다.

인덱스 비대화와 얇은 페이지

패싯 조합은 검색 수요가 거의 없는 페이지를 수백만 개씩 만들어낼 수 있습니다. "대형 실버 삼성 프리스탠딩 세탁기 + 퀵워시 + 에너지등급 A"처럼 실제 검색량이 사실상 0인 조합까지 색인 가능한 URL로 노출되면, 검색 엔진의 인덱스가 얇고 가치 없는 페이지로 비대해집니다.

크롤 버짓 낭비

크롤 버짓은 사이트 내에서 제로섬입니다. 정렬 순서 변형이나 빈 필터 조합을 크롤하는 데 쓰인 요청 하나는 새로 등록된 상품이나 신규 컬렉션 페이지를 발견하는 데 쓰이지 못한 요청입니다. 구글 게리 일리스는 보고된 크롤링 문제의 약 50%가 패싯 내비게이션에서 비롯된다고 밝혔으며, 패싯 페이지를 렌더링하는 데는 막대한 컴퓨팅 자원이 소모된다고 설명합니다.

해결 방법

색인이 필요 없는 경우: robots.txt 차단

구글은 "필터가 걸린 항목을 크롤하도록 허용할 합당한 이유가 없는 경우가 많다"고 명시하며, 이때는 robots.txt로 패싯 URL 크롤링을 차단할 것을 권장합니다. 필터 파라미터 조합을 막고, 필터 없는 전체 목록 페이지와 개별 상품 페이지만 크롤하도록 허용하는 방식입니다.

User-agent: *
Disallow: /*?*color=
Disallow: /*?*size=
Allow: /*?products=all$

다만 robots.txt 차단은 크롤링을 막을 뿐 색인 제거를 보장하지는 않습니다. 외부 백링크나 따라가는 내부 링크가 있으면 차단된 URL도 색인에 남을 수 있습니다. 반대로 noindex 태그는 페이지 HTML 안에 있어 봇이 페이지를 크롤해야 읽을 수 있으므로, 크롤 버짓을 쓴 뒤 결과를 버리게 됩니다. 즉 두 방식은 목적이 다르므로 상황에 맞게 선택해야 합니다.

색인이 필요한 경우: canonical과 URL 정리

일부 필터가 실제 검색 수요를 가진다면 색인하되, 다음 원칙으로 크롤 부담을 최소화합니다.

  • 표준 파라미터 구분자: 콤마·세미콜론·대괄호 대신 업계 표준인 앰퍼샌드(&)를 일관되게 사용합니다.
  • 일관된 필터 순서: URL 경로에 필터를 인코딩한다면 논리적 순서를 항상 동일하게 유지하고 중복 필터가 생기지 않게 합니다.
  • 빈 결과는 404: 결과가 없는 필터 조합은 범용 에러 페이지로 리다이렉트하지 말고 HTTP 404를 반환합니다.
  • rel=canonical: 필터 변형 URL을 더 단순한 기준 URL로 가리켜 비표준 URL의 크롤 비중을 점진적으로 줄입니다. 단, 콘텐츠가 크게 다르거나 내부 링크가 많이 몰리면 구글이 canonical을 무시할 수 있습니다.

선별 색인 전략

패싯을 색인할지는 세 가지 조건을 동시에 충족할 때만 결정하는 것이 합리적입니다. 실재하고 검증 가능한 검색량이 있는 쿼리에 대응하는가, 고유한 콘텐츠를 제공할 수 있는가, 텅 빈 페이지가 아니라 충분한 결과 집합을 반환하는가입니다. 가치 높은 소수의 필터 조합은 동적 URL 대신 정적 하위 카테고리 페이지로 별도 제작해 롱테일 수요를 노리는 방식이 권장됩니다.

근거

구글 검색 센트럴의 "패싯 내비게이션 URL 크롤링 관리" 문서는 robots.txt 차단을 가장 효과적인 예방책으로 제시하고, 색인이 필요한 경우의 앰퍼샌드 구분자·필터 순서·404 처리·canonical 지침을 명시합니다. Ahrefs의 패싯 내비게이션 가이드는 중복 콘텐츠·인덱스 비대화·페이지랭크 분산 문제와 함께, canonical·noindex·robots.txt·정적 페이지화 같은 계층적 해법을 다룹니다. 두 자료 모두 "단일 만능 해법은 없으며 사이트 규모와 필터 종류에 따라 크롤 제어·정규화·선별 색인을 조합해야 한다"는 점을 공통적으로 강조합니다.

실행 체크리스트

  • Google Search Console 색인 생성 보고서로 패싯 URL이 색인에 얼마나 쌓였는지 진단합니다.
  • 검색 수요가 없는 필터 파라미터는 robots.txt로 크롤링을 차단합니다.
  • 이미 색인된 저가치 패싯 URL은 noindex로 색인에서 제거한 뒤 차단을 적용합니다.
  • 색인이 필요한 필터는 canonical을 기준 카테고리 페이지로 설정합니다.
  • URL 파라미터 구분자를 앰퍼샌드(&)로 통일하고 필터 순서를 고정합니다.
  • 결과가 없는 필터 조합은 HTTP 404를 반환하도록 처리합니다.
  • 검색량이 검증된 고가치 필터 조합만 정적 하위 카테고리 페이지로 별도 제작합니다.
  • 신규 구현 시 내부 링크 없이 AJAX로 필터를 처리해 크롤 가능한 URL 자체를 줄이는 방안을 검토합니다.

참고·출처

관련 용어