패싯 내비게이션 SEO: 사람들이 검색하는 필터 페이지만 색인하고, 나머지는 robots.txt, noindex, canonical 태그, 404로 관리하세요.

이 페이지의 내용
요약
패싯 내비게이션(카테고리 페이지의 색상, 사이즈, 브랜드, 가격 필터)은 조합마다 새로운 URL을 만들어 쇼핑몰의 크롤 가능한 페이지 수를 수천 배까지 늘릴 수 있습니다. 실제 검색어와 일치하고 상품이 충분한 필터 페이지만 색인하고, 이 페이지들에는 깔끔한 정적 URL과 고유한 콘텐츠를 제공하세요. 나머지는 Google에서 멀리 떼어 놓습니다. robots.txt로 크롤링을 막고, noindex나 canonical 태그로 색인에서 제외하며, 빈 조합에는 404를 반환합니다.
더 알아보고 싶다면 물어보세요
간단 퀴즈
SEO가 맞습니까? 어떻게 시작해야 합니까?
Sorank가 답변에 잘 맞습니다
귀사의 사이트에서 3일 동안 사용해 보시고 Google, ChatGPT 및 다른 AI에서 귀사의 현재 위치를 확인하십시오.
3일 무료 체험 시작3일 무료, 이후 언제든 해지할 수 있습니다. 90일 성과 미달 시 환불 보장.
패싯 내비게이션 SEO는 쇼핑객이 자유롭게 필터링할 수 있게 하면서, Google이 순위를 노릴 가치가 있는 필터 페이지에만 시간을 쓰도록 하는 작업입니다. Google은 패싯 내비게이션에 관한 Crawling December 글(2024년 12월)에서, 사이트 운영자들이 보고하는 과다 크롤링 문제 중 단연 가장 흔한 원인이라고 설명합니다. 또한 과거의 권장 사항을 패싯 내비게이션 URL 관리에 관한 공식 문서(2025년 12월 최종 업데이트)로 정리했습니다. 이 가이드는 필터가 문제를 일으키는 이유, 어떤 패싯 페이지를 색인할지 결정하는 방법, 나머지 페이지에 쓸 제어 방식, 그리고 Search Console에서 결과를 확인하는 방법을 설명합니다.
패싯 내비게이션은 속성에 따라 목록 페이지를 좁혀 주는 필터의 집합입니다. 패싯은 하나의 속성(색상, 사이즈, 브랜드, 소재, 가격대)이며, 각 패싯에는 값(블랙, 42, Nike)이 있습니다. 온라인 쇼핑몰, 부동산 포털, 채용 사이트, 여행 사이트, 디렉터리 등 긴 목록을 줄여야 하는 곳이라면 어디에나 있습니다.
적용된 필터는 보통 다음 세 가지 방식 중 하나로 URL을 바꿉니다.
패싯 내비게이션은 카테고리 트리와 다릅니다. 카테고리(신발, 그 안의 러닝화)는 여러분이 설계하는 고정된 계층 구조이지만, 패싯은 자유롭게 조합되므로 만들어지는 페이지 수는 여러분이 아니라 방문자의 클릭에 따라 정해집니다. SEO 문제는 여기서 시작되며, 그래서 패싯은 첫날부터 사이트 구조 계획에 포함되어야 합니다.
문제는 계산에 있습니다. 패싯이 네 개인 카테고리를 예로 들어 보겠습니다. 색상 12개, 사이즈 10개, 브랜드 20개, 가격대 5개입니다. 패싯마다 값을 0개 또는 1개만 허용해도 이미 13 × 11 × 21 × 6 = 카테고리 하나당 18,018개의 가능한 URL이 됩니다. 여기에 다중 선택(블랙과 블루), 정렬 방식 3가지, '페이지당 상품 수' 전환 기능을 더하면 합계는 100,000개를 넘습니다. Google의 크롤러는 링크를 따라 이 모든 URL을 찾을 수 있습니다.
이런 URL 폭발은 네 가지 문제를 일으킵니다.
Google의 크롤 예산 가이드는 페이지가 100만 개 이상인 사이트, 또는 매일 바뀌는 페이지가 10,000개 이상인 사이트를 대상으로 합니다. 패싯 내비게이션은 상품이 2000개인 쇼핑몰이 눈치채지 못한 사이에 그 규모에 이르는 흔한 경로입니다.
일부 패싯 페이지는 순위를 얻을 가치가 있습니다. '검은색 러닝화'나 '나이키 트레일화'는 실제로 검색되는 키워드이며, 필터링된 페이지는 일반 카테고리보다 이런 검색어에 더 잘 답합니다. 기준은 다음과 같습니다. 사람들이 입력하는 검색어와 일치하고, 유용할 만큼 상품이 충분하며, 시간이 지나도 안정적인 패싯 페이지만 색인하세요.
| 패싯 유형 | 예시 | 검색 수요 | 권장 처리 |
|---|---|---|---|
| 상품 유형 또는 하위 카테고리 | /shoes/trail/ | 높음 | 실제 카테고리 페이지로 색인 |
| 브랜드 | /shoes/running/nike/ | 대체로 높음 | 상품이 충분하면 색인 |
| 색상, 소재, 성별, 용도 | /shoes/running/black/ | 다양함 | 키워드 조사로 수요가 확인될 때만 색인 |
| 사이즈, 너비 | ?size=42 | 낮음(일부 틈새 분야 제외) | 사용자에게는 크롤 가능하되 색인하지 않음 |
| 가격대, 평점, 재고 상태 | ?price=50-100 | 매우 낮음 | 크롤링 차단 |
| 정렬, 표시 방식, 페이지당 항목 수 | ?sort=price_asc | 없음 | 크롤링 차단 |
| 한 패싯의 두 개 이상 값, 또는 세 개 이상 패싯의 조합 | ?color=black&color=blue | 거의 없음 | 크롤링 차단 |
| 세션 또는 추적 매개변수 | ?sessionid=, ?utm_source= | 없음 | 깔끔한 URL로 canonical |
패싯 페이지를 색인 가능하게 만들기 전에 세 가지를 확인하세요.
이 기준을 통과한 페이지는 그 자체로 랜딩 페이지가 됩니다. 깔끔한 정적 URL, 고유한 title과 H1, 짧은 도입부, 상위 카테고리의 링크, 그리고 XML 사이트맵에 포함되는 것입니다. 카테고리 페이지 최적화 가이드에서 이 온페이지 작업을 자세히 다룹니다.
팁
성과가 좋은 조합은 정적 URL(/shoes/running/black/)로 바꾸고, 나머지 필터는 매개변수로 남겨 두세요. 그러면 순위를 얻고 싶은 페이지에 손대지 않고도 robots.txt 규칙 하나로 모든 매개변수를 차단할 수 있습니다.
각 방법은 서로 다른 단계에서 작동합니다. 크롤링, 색인, 신호 통합 중 하나입니다. 세 가지를 모두 해내는 방법은 없으므로 대부분의 사이트는 여러 방법을 함께 씁니다.
| 방법 | 크롤링 중단 | 색인 제외 유지 | 신호 통합 | 주요 한계 |
|---|---|---|---|---|
| robots.txt Disallow | 예 | 대체로 예(차단된 URL도 링크가 걸려 있으면 내용 없이 색인에 남을 수 있음) | 아니요 | Google이 차단된 페이지의 태그를 볼 수 없음 |
| Meta robots noindex | 아니요(시간이 지날수록 덜 크롤링됨) | 예 | 아니요 | 페이지가 계속 크롤링 가능해야 함 |
| rel="canonical" | 부분적으로, 시간이 지나면서 | 보통 예 | 예 | 페이지 내용이 다르면 Google이 무시할 수 있는 힌트일 뿐임 |
| 필터 링크의 rel="nofollow" | 부분적으로 | 아니요 | 아니요 | 모든 내부·외부 링크에 달아야 함 |
| 프래그먼트(#) 또는 JavaScript 필터 | 예 | 예 | 필요 없음 | 필터링된 페이지는 절대 순위를 얻을 수 없음 |
| 빈 조합에 404 | 예(얼마간 지나면) | 예 | 필요 없음 | 잘못되었거나 빈 필터에만 해당 |
필터링된 URL이 검색 결과에 나타날 필요가 없을 때 Google 문서는 robots.txt를 권장합니다. Disallow: /*?*sort=이나 Disallow: /*?*price= 같은 규칙은 Googlebot이 그런 URL을 요청하는 것 자체를 막아, 크롤 예산을 즉시 아껴 줍니다. 너무 넓은 와일드카드는 실제 카테고리 페이지까지 차단할 수 있으므로, 게시하기 전에 각 패턴을 robots.txt 검사 도구로 테스트하세요.
noindex 태그는 Google 검색 결과에서 페이지를 확실하게 제거합니다. 다만 Google이 태그를 읽으려면 페이지를 크롤링해야 하므로, 단기적으로 크롤 예산을 아껴 주지는 않습니다. 이미 색인에 들어 있고 빠져야 하는 패싯 페이지에 쓰세요.
주의
robots.txt로 페이지를 차단하면서 동시에 noindex를 추가하지 마세요. Google의 noindex 문서에 따르면, 차단된 크롤러는 그 규칙을 절대 보지 못하므로 페이지가 검색 결과에 계속 남을 수 있습니다. 먼저 Google이 noindex를 다시 크롤링하도록 두고, URL이 색인에서 빠진 뒤에 Disallow를 추가하세요.
/shoes/running/?color=black&sort=new에 /shoes/running/?color=black을 가리키는 canonical 태그를 두면, 어느 버전을 유지할지 Google에 알려 주고 링크 신호를 합칩니다. Google은 이를 힌트로 취급합니다. 필터링된 페이지가 canonical 대상과 전혀 다른 상품 집합을 보여 준다면 Google은 자체 canonical을 고를 수 있으며, 이는 Search Console에서 중복, 사용자가 선택한 canonical 없음 같은 상태로 나타납니다. canonical은 정렬, 추적 매개변수, 작은 변형에 어울리며, 상품 목록을 완전히 바꾸는 필터에는 맞지 않습니다.
Google은 결과가 없는 필터 조합, 중복된 필터, 말이 안 되는 조합, 존재하지 않는 페이지네이션 페이지에 대해 일반 오류 페이지로 리디렉션하는 대신 404 상태를 원합니다. 같은 논리가 3페이지밖에 없는 목록의 9페이지에도 적용되며, 이 문제는 페이지네이션 SEO 가이드에서 다룹니다.
이제 없어진 도구가 하나 있습니다. Search Console의 'URL 매개변수' 도구입니다. Google은 2022년에 이를 지원 중단했으며, 그 안에 설정된 구성 중 크롤링에 유용했던 것은 약 1%뿐이라고 밝혔습니다. 이제 매개변수 처리는 여러분의 robots.txt, canonical, 내부 링크에서 이루어집니다.
Shopify, WooCommerce, Magento에서는 필터 앱과 테마가 저마다 다른 방식으로 URL을 만듭니다. 규칙을 쓰기 전에 여러분의 쇼핑몰이 무엇을 만드는지 확인하고, 테마나 앱을 업데이트할 때마다 다시 확인하세요. 이커머스 SEO 감사에는 이 점검을 분기마다 포함해야 합니다.
변경 후 한 달이 지나면 이 점검을 반복하세요. 색인의 결과는 천천히 바뀝니다. noindex나 canonical이 효과를 내려면 Google이 각 URL을 다시 크롤링해야 하기 때문입니다.
ChatGPT, Gemini, Perplexity 같은 AI 어시스턴트는 답하기 전에 구매 질문을 여러 검색으로 나눕니다. '150달러 이하 여성용 방수 트레일 러닝화' 같은 요청은 상품 유형, 용도, 성별, 가격에 대한 검색으로 바뀌는데, 이것이 바로 여러분의 패싯입니다. 잘 만든 패싯 페이지(명확한 title, 본문에 적힌 속성, 구조화된 상품 데이터, 충분한 상품 수)는 이런 검색이 가져와 인용하는 종류의 페이지입니다. 텍스트 없이 title만 중복된 매개변수 URL은 해당하지 않습니다.
크롤링 효율은 AI 크롤러에게도 중요합니다. ?sort= 변형에 방문을 쓰는 봇은 여러분의 유용한 페이지에 덜 도달합니다. 같은 규칙(가치 없는 조합은 차단하고, 좋은 조합은 열어 두기)이 Google과 AI 어시스턴트를 동시에 돕습니다. Shopify 쇼핑몰의 AI 인용 연구는 이런 어시스턴트가 상품 페이지와 카테고리 페이지를 어떻게 가져가는지 보여 줍니다.
어려운 부분은 어떤 조합이 자기만의 페이지를 가질 자격이 있는지 고르는 일입니다. Sorank의 자동 키워드 조사는 카테고리 뒤에 있는 속성 검색어를 찾아내고, 주제 클러스터 생성기가 이것들을 묶어 줍니다. 그러면 색인 가능한 패싯 페이지마다 서로 다른 검색어 하나를 노리게 되고, 두 페이지가 같은 키워드를 두고 다투지 않습니다.

어떤 필터를 페이지로 만들지 정하고, 나머지 모든 조합을 Google의 크롤링 밖에 두면, 패싯 내비게이션은 SEO를 위해 제대로 작동합니다. 먼저 매개변수 목록을 작성하고, 정렬과 가격 매개변수를 차단한 다음, 사람들이 검색하는 조합을 위한 랜딩 페이지를 만드세요. 그 조합을 자동으로 찾아 주변 콘텐츠를 발행하려면 Sorank 요금제를 살펴보세요. 3일 무료 체험이 있습니다.
아니요. 패싯 내비게이션은 쇼핑객에게 도움이 되며, 알맞은 필터 조합이 색인 가능한 랜딩 페이지가 되면 트래픽을 가져올 수도 있습니다. 문제는 모든 조합이 크롤링되고 색인될 수 있을 때만 생깁니다. 그러면 크롤 예산이 낭비되고 색인이 중복 페이지로 가득 차기 때문입니다. 해결책은 Google이 크롤링하고 색인할 수 있는 조합을 통제하는 것입니다.
Google에는 둘 다 작동합니다. 흔한 구성은 순위를 얻고 싶은 소수의 조합에는 정적 경로(/shoes/running/black/)를, 나머지 모든 필터에는 쿼리 매개변수를 쓰는 것입니다. 이렇게 나누면 랜딩 페이지를 차단하지 않고도 robots.txt에서 모든 매개변수를 쉽게 차단할 수 있습니다.
크롤 가능한 링크나 새 URL을 만들지 않고 페이지만 바꾸는 필터는 크롤링 낭비를 피합니다. Google은 보통 # 뒤의 프래그먼트를 무시합니다. 단점은 이렇게 필터링된 보기 중 어느 것도 순위를 얻을 수 없다는 것입니다. 가치가 낮은 필터에는 JavaScript를, 검색과 일치하는 조합에는 HTML 링크가 있는 실제 URL을 사용하세요.
먼저 Sorank를 경험한 사람들
