중복 URL이 만드는 손해는 정확히 무엇인가

페널티라는 표현부터 정리해야 처방이 맞습니다. 옵션별로 URL이 갈린 상품 페이지가 많다고 해서 수동 조치가 부과되는 것이 아닙니다. 실제로 발생하는 손해는 두 가지입니다. 하나는 같은 상품에 대한 인덱싱 신호가 여러 URL로 흩어지는 것이고, 다른 하나는 크롤 자원이 사실상 같은 페이지를 반복해서 가져오는 데 쓰이는 것입니다.

두 번째 손해는 구글 문서에도 명시돼 있습니다. 파라미터가 많고 복잡한 URL은 사실상 동일하거나 유사한 콘텐츠를 가리키는 URL 수를 불필요하게 늘려 구글봇이 대역폭을 낭비하거나 사이트 전체를 완전히 인덱싱하지 못하게 만들 수 있습니다. 크롤링 예산은 크롤 용량과 크롤 수요로 구성되는데, 중복 URL이 많으면 정작 새로 올린 상품이 늦게 발견됩니다. 크롤링 예산 최적화 전략의 첫 항목이 중복 콘텐츠 통합인 이유입니다.

옵션 페이지는 통합 대상인가 별개 페이지인가

이 판정이 캐노니컬 작업의 전부라고 해도 과하지 않습니다. 캐노니컬은 중복이거나 매우 유사한 페이지를 다루기 위한 수단이며 단순히 선호하는 URL을 알리는 범용 도구가 아니라고 구글은 명시합니다. 색상이나 사이즈처럼 실제로 내용이 다른 옵션 페이지를 하나로 몰아버리면 각 옵션 페이지가 검색에서 사라집니다.

판정 기준은 사용자 관점에서 그 URL이 독립적으로 검색될 이유가 있는지입니다. 특정 색상명으로 검색하는 수요가 실제로 있고 페이지에 그 색상만의 이미지와 설명이 있다면 별개 페이지로 두는 편이 맞습니다. 반대로 정렬 순서, 페이지네이션 상태, 유입 추적 파라미터, 세션 값처럼 사용자에게 같은 화면을 보여주는 URL은 통합 대상입니다. 옵션 값이 URL 프래그먼트로만 갈리는 구성도 통합 대상인데, 구글은 URL 프래그먼트를 정규 URL로 지정하지 말라고 명시하므로 프래그먼트를 캐노니컬 값에 넣어서는 안 됩니다.

통합할 때 어떤 수단을 어떤 순서로 쓰나

정규 URL을 알리는 수단은 강도가 다릅니다. 리다이렉트가 가장 강하고, 그다음이 HTML 요소나 HTTP 헤더의 rel=canonical이며, 사이트맵은 상대적으로 약한 신호입니다. 여러 수단을 함께 쓰면 효과가 커진다고 구글은 설명합니다.

선택 기준은 그 URL을 사용자가 여전히 방문할 필요가 있는지입니다. 추적 파라미터가 붙은 URL처럼 사용자가 접근해도 같은 화면을 봐야 하는 경우에는 리다이렉트가 아니라 rel=canonical을 씁니다. 반대로 옵션 구조를 개편해 URL 체계 자체가 바뀌었다면 301 리다이렉트가 맞습니다. 301은 이전 URL의 순위 신호 대부분을 새 URL로 이전시키는 것으로 알려져 있고, 도메인 포워딩 기능이 302로 설정된 경우가 많으므로 이관 시 301로 명시적으로 바꿔야 합니다.

정규 페이지 자신에게도 같은 URL을 가리키는 자기 참조 캐노니컬을 넣기를 구글은 권장합니다. 이커머스 템플릿에서는 자기 참조 캐노니컬을 현재 접속한 URL 그대로 출력하도록 구현하는 실수가 잦은데, 그러면 파라미터가 붙은 URL이 자기 자신을 정규로 선언해 통합이 무의미해집니다. 캐노니컬 값은 접속 URL이 아니라 서버가 알고 있는 대표 URL로 고정해 출력해야 합니다.

캐노니컬과 색인 제외는 어떻게 구분해 쓰나

둘은 목적이 다릅니다. 캐노니컬은 신호를 한 URL로 모으는 통합 수단이고, 색인 제외는 그 URL을 검색결과에서 빼는 수단입니다. 통합하고 싶은 옵션 URL에 noindex를 걸면 신호가 통합되는 것이 아니라 그냥 사라집니다. 반대로 장바구니나 주문 완료처럼 검색에 나올 이유가 없는 경로는 캐노니컬이 아니라 색인 제외 쪽이 맞습니다.

단종된 옵션 URL 처리도 함께 정리해둡니다. 대체 페이지가 있으면 301로, 완전히 사라졌고 대체가 없으면 404 또는 410으로 응답해야 합니다. 없어진 URL을 전부 홈으로 리다이렉트하면 구글이 이를 소프트 404 패턴으로 인식해 인덱싱과 이해에 부정적 영향을 줍니다. 소프트 404는 페이지가 없다는 메시지를 보여주면서 상태 코드는 200으로 응답하는 오류로, 이런 URL이 많으면 실제 콘텐츠가 있는 페이지 대신 이들이 크롤링돼 크롤 커버리지를 갉아먹습니다.

설정이 실제로 먹혔는지 어떻게 확인하나

캐노니컬은 지시가 아니라 신호이므로 구글이 다른 URL을 정규로 고를 수 있습니다. 그래서 배포로 끝내지 않고 채택 여부를 확인해야 합니다. 확인 지점은 서치 콘솔 URL 검사 화면이며, 여기서 사용자가 선언한 표준 URL과 구글이 선택한 표준 URL을 나란히 보여줍니다. 두 값이 다르면 그 차이 자체가 진단 자료입니다. 대개 페이지 내용이 실제로는 충분히 다르거나, 내부 링크가 다른 URL을 더 많이 가리키고 있거나, 사이트맵에 비정규 URL이 실려 있는 경우입니다.

rel=canonical은 구글에는 강한 신호로 작동하지만 다른 검색엔진은 다르게 처리할 수 있다는 점도 함께 감안합니다. 네이버 웹검색 노출까지 신경 쓴다면 캐노니컬 하나에 의존하기보다 내부 링크와 사이트맵이 같은 대표 URL을 가리키도록 정리해두는 편이 안전합니다.