URL 파라미터 (URL Parameters)
최종 업데이트:
정의
URL 파라미터(URL Parameters)는 URL 뒤에 ?로 시작하는 key=value 쌍의 쿼리 문자열이다. 여러 파라미터는 &로 연결된다.
https://example.com/products?category=shoes&sort=price&color=black
SEO 관점에서 URL 파라미터가 문제가 되는 이유는, 동일하거나 매우 유사한 콘텐츠를 무수히 많은 URL 변형으로 노출시켜 중복 콘텐츠와 크롤 예산 낭비를 유발하기 때문이다. 자세히는 중복 콘텐츠 참조.
요약
URL 파라미터 SEO 핵심: ①같은 콘텐츠를 보여주는 파라미터 변형 URL이 검색엔진에 중복 콘텐츠로 인식 → ②크롤 예산 소진·PageRank 분산 → ③가장 안전한 해결책: 파라미터 URL에 캐노니컬 태그(정규 URL 지정) → ④추적 파라미터(UTM)는 사이트 내에서 정규화 처리 → ⑤GSC '크롤 통계' 보고서로 파라미터 URL 과다 크롤링 여부를 모니터링한다.
URL 파라미터 4가지 유형
1. 필터링 파라미터
이커머스에서 상품을 카테고리·색상·크기·가격대로 필터링하는 파라미터.
예: /products?category=shoes&color=black&size=260
동일한 상품 목록이 수천 개의 필터 조합 URL로 노출된다. SEO에서 가장 흔한 파라미터 문제 원인이다.
2. 정렬 파라미터
상품이나 결과를 정렬하는 파라미터.
예: /products?sort=price_asc, /products?sort=newest, /products?sort=popular
콘텐츠 순서만 다를 뿐 동일한 상품 목록이다.
3. 페이지네이션 파라미터
여러 페이지로 나뉜 목록의 페이지 번호.
예: /blog?page=2, /products?offset=20
페이지 파라미터는 각 페이지가 고유한 콘텐츠를 담고 있으므로 완전한 중복은 아니지만, 처리 방식에 주의가 필요하다.
4. 추적 파라미터 (UTM, 클릭ID)
마케팅 성과 추적을 위한 파라미터. SEO와 무관한 파라미터지만 봇이 크롤링하면 중복 URL을 생성한다.
예: /blog/post?utm_source=newsletter&utm_medium=email&utm_campaign=may2026
URL 파라미터 처리 방법
[COMPARISON_TABLE: URL 파라미터 처리 방법 비교]
방법 1: 캐노니컬 태그 (권장)
파라미터 변형 URL에서 정규 URL로 캐노니컬을 지정한다. 사용자 경험(필터·정렬 기능)을 유지하면서 PageRank를 정규 URL에 집중한다.
<!-- /products?sort=price 페이지에서 -->
<link rel="canonical" href="https://example.com/products/" />
가장 안전하며 사용자 경험과 SEO를 모두 만족하는 방법이다. 자세히는 캐노니컬 태그 참조.
방법 2: robots.txt Disallow
파라미터 URL을 완전히 차단한다. 크롤 예산을 절약하지만 사용자도 접근 불가능한 것은 아니다(크롤링만 차단). 파라미터 URL에 noindex 지시를 읽혀야 하는 경우에는 사용할 수 없다.
User-agent: *
Disallow: /*?sort=
Disallow: /*?color=
자세히는 robots.txt와 AI 봇 참조.
방법 3: noindex 태그
파라미터 URL에 <meta name="robots" content="noindex"/>를 삽입한다. 크롤링은 되지만 인덱싱을 막는다. robots.txt Disallow보다 크롤 예산 절약 효과는 적지만, 정밀 제어가 가능하다.
방법 4: URL 파라미터 제거 (클린 URL)
서버 사이드에서 파라미터 없는 클린 URL로 필터 상태를 처리한다.
예: /products/shoes/black/ (파라미터 대신 경로 사용)
장기적으로 가장 깔끔하지만 개발 비용이 크다.
추적 파라미터(UTM) 특별 처리
Google Analytics 4는 UTM 파라미터(utm_source, utm_medium, utm_campaign 등)를 자동으로 인식해 처리한다. SEO 관점에서는 UTM 파라미터 URL이 구글에 크롤링되지 않도록 하는 것이 좋다.
처리 방법:
- 캐노니컬 태그로 UTM URL → 정규 URL 지정
- JavaScript로 UTM 파라미터를 히스토리 API(history.replaceState)로 URL에서 제거
- Next.js next.config.js에서 UTM 파라미터 리다이렉트 처리
한국 시장 적용
한국 이커머스 파라미터 구조
한국 이커머스(쿠팡, G마켓, 롯데온 등)는 상품 필터에 URL 파라미터를 광범위하게 사용한다. 자체 쇼핑몰을 운영할 때 파라미터 URL 처리는 이커머스 SEO에서 가장 우선순위 높은 기술적 작업 중 하나다.
흔한 파라미터 구조:
- 카테고리 필터: ?cat=1001&subcat=2001
- 브랜드 필터: ?brand=samsung&brand=lg
- 가격 범위: ?price_min=10000&price_max=50000
- 정렬: ?order=price_asc
네이버 쇼핑 연동
네이버 쇼핑에서 상품 피드를 연동할 때, 파라미터 포함 URL이 아닌 정규 URL을 상품 URL로 등록한다. 파라미터 URL이 네이버에 노출되면 중복 상품으로 처리될 수 있다.
Google Search Console 파라미터 모니터링
GSC의 "크롤 통계" 보고서에서 파라미터 URL이 과도하게 크롤링되는지 확인한다. 파라미터 URL의 크롤링 비율이 전체의 30%를 넘는다면 크롤 예산 처리가 필요하다. 자세히는 크롤 예산 참조.
자주 묻는 질문
Q. 파라미터 URL이 구글에 인덱싱되면 순위에 불리한가요?
A. 반드시 불리하지는 않지만, 정규 URL에 집중돼야 할 PageRank와 백링크 신호가 분산되어 전체 SEO 효율이 낮아진다. 특히 대형 이커머스 사이트에서 파라미터 URL이 수십만 개에 달하면 크롤 예산 소진과 PageRank 희석 문제가 심각해진다.
Q. 파라미터 URL마다 캐노니컬을 설정하는 것이 현실적인가요?
A. CMS나 프레임워크 수준에서 규칙 기반으로 자동 처리하는 것이 일반적이다. 예를 들어 "?sort=나 ?filter=로 시작하는 모든 파라미터 URL은 파라미터 없는 기본 URL을 캐노니컬로 자동 지정"하는 로직을 사이트 전체에 적용한다.
Q. 파라미터 URL을 robots.txt로 차단하면 사용자가 그 URL에 접근할 수 없나요?
A. 아니다. robots.txt는 봇의 크롤링만 차단하고, 사용자 브라우저 접근에는 영향이 없다. 따라서 필터·정렬 기능은 사용자에게 정상 작동하면서 봇의 크롤링만 막을 수 있다.
Q. 세션 ID가 URL에 포함되어 있으면 어떻게 해야 하나요?
A. 세션 ID가 URL에 포함되면(?session_id=abc123) 각 사용자마다 고유 URL이 생성되어 크롤 예산을 극도로 소진한다. 세션 관리를 쿠키 기반으로 전환해야 한다. 단기 조치로 캐노니컬 태그나 robots.txt Disallow를 적용하지만, 근본 해결은 서버 사이드 세션 처리 전환이다.
Q. UTM 파라미터가 구글에 인덱싱되어 있습니다. 어떻게 처리해야 하나요?
A. 인덱싱된 UTM URL에 정규 URL로 캐노니컬을 설정하면 구글이 다음 크롤링 시 인덱스를 업데이트한다. 추가로 Google Search Console에서 "URL 삭제" 기능을 임시 조치로 사용한다. 향후 UTM 파라미터 URL이 크롤링되지 않도록 robots.txt나 캐노니컬을 사이트 전체에 일괄 적용한다.
관련 출처
- Google Search Central (2024). URL parameters. Google Search Console Help.
- Moz (2024). URL Parameters: An SEO Best Practice Guide. Moz Blog.
- Ahrefs (2024). URL Parameters and SEO: How to Handle Them. Ahrefs Blog.