캐노니컬 URL
캐노니컬 URL은 동일하거나 거의 같은 콘텐츠를 제공하는 여러 URL 가운데 검색 엔진이 대표(원본) 페이지로 선택한 버전을 말합니다. 사이트 운영자는 rel="canonical" 태그, HTTP 헤더, 사이트맵, 301 리다이렉트로 선호 URL을 알릴 수 있지만, 최종 결정은 여러 신호를 종합한 구글이 내립니다.
- 캐노니컬 URL은 중복되거나 거의 같은 URL 묶음 가운데 검색 엔진이 대표로 선택한 페이지이며, 구글은 이 선택 과정을 캐노니컬라이제이션이라고 부릅니다.
- 대표 URL을 지정하면 여러 URL에 흩어진 링크·랭킹 신호가 하나로 모이고, 중복 페이지를 크롤링하느라 낭비되는 자원도 줄어듭니다.
- rel="canonical" 태그, HTTP 헤더, 사이트맵, 301 리다이렉트로 선호를 표현할 수 있지만 이는 지시가 아니라 신호이므로 구글이 다른 URL을 고를 수도 있습니다.
- 구글이 밝힌 신호 강도 순서로 보면 리다이렉트가 rel="canonical" 표기보다 강하고, rel="canonical"은 사이트맵 포함보다 강하며, 캐노니컬에는 상대 경로가 아니라 절대 URL을 써야 합니다.
- 같은 페이지에 캐노니컬과 noindex를 함께 적용하면 상충하는 신호가 됩니다. 페이지를 완전히 없애려면 캐노니컬이 아니라 301 리다이렉트를 사용하세요.
캐노니컬 URL이란
캐노니컬 URL은 동일하거나 거의 같은 콘텐츠를 제공하는 여러 URL 가운데 검색 엔진이 가장 대표성 있는 버전으로 선택한 URL입니다. 구글은 이를 "구글이 중복 페이지 그룹에서 가장 대표적이라고 선택한 페이지의 URL"로 정의하고, 그 대표 페이지를 선정하는 과정을 캐노니컬라이제이션이라고 부릅니다.
하나의 콘텐츠가 여러 URL로 접근될 때(예: http와 https, www 유무, 추적 파라미터, 정렬·필터 변형 등)에는 사용자 경험과 성과 측정이 모두 나빠지고, 검색 엔진은 같은 콘텐츠를 반복해서 크롤링하게 됩니다. 하나의 대표 URL로 통합하면 개별 URL에 흩어진 신호(예: 링크)가 하나의 선호 URL로 모이고, 중복으로 인한 크롤링 부담도 줄어듭니다.
캐노니컬을 지정하는 방법
구글은 여러 방법을 지원하며, 각 방법은 신호 강도가 다릅니다. 구글 공식 문서에 따르면 리다이렉트가 가장 강한 신호이고, 그다음이 rel="canonical" 표기이며, 사이트맵 포함은 약한 신호입니다. 어느 방법도 필수는 아니지만, 중복이 존재한다면 선호를 명시적으로 밝히는 편이 안전합니다.
1. rel="canonical" 링크 요소 (HTML head)
가장 흔히 쓰는 방법으로, 페이지의 <head> 안에서 대표 URL을 절대 경로로 지정합니다.
<head>
<title>Explore the world of dresses</title>
<link rel="canonical" href="https://example.com/dresses/green-dresses" />
</head>
구글은 상대 경로가 아니라 완전한 절대 URL을 권장합니다. 또한 한 페이지에서 rel="canonical"을 두 개 이상 선언하면 구글은 이를 모두 무시하므로, 페이지마다 정확히 하나만 두어야 합니다. 대표 페이지 자신은 자기 URL을 가리키는 자기 참조 캐노니컬을 지녀야 합니다.
2. rel="canonical" HTTP 헤더
PDF처럼 <head>에 태그를 넣을 수 없는 비(非)HTML 문서의 경우, HTTP 응답 헤더에 대표 URL을 지정합니다(RFC 5988 형식).
HTTP/1.1 200 OK
Content-Type: application/pdf
Link: <https://www.example.com/downloads/white-paper.pdf>; rel="canonical"
3. 사이트맵
이 방법은 각 페이지의 대표 URL을 골라 사이트맵에 제출하는 방식입니다. 사이트맵에 포함된 모든 URL은 캐노니컬 후보로 "제안"되지만, 위의 두 방법보다 약한 신호입니다.
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://example.com/dresses/green-dresses</loc>
</url>
</urlset>
4. 301 리다이렉트
중복 페이지 자체를 없애고 싶을 때 사용합니다. 리다이렉트의 목적지 URL을 캐노니컬로 삼아야 한다는 가장 강한 신호로 작동합니다. 변형 URL을 굳이 접근 가능하게 유지할 필요가 없다면, 리다이렉트가 캐노니컬 태그보다 더 확실합니다.
캐노니컬 vs. noindex vs. 301 리다이렉트
세 가지 모두 중복되거나 불필요한 URL을 다루지만, 목적과 결과가 다릅니다. 잘못 조합하면 상충하는 신호가 발생합니다.
| 방법 | 의미 | 변형 URL 접근 | 링크 신호 통합 | 사용 시점 |
|---|---|---|---|---|
| 캐노니컬 (rel=canonical) | 대표 URL을 선호한다는 신호(힌트) | 접근 가능 유지 | 대표 URL로 통합 | 거의 같은 변형들을 모두 살려 두되 하나를 대표로 지정할 때 |
| 301 리다이렉트 | 영구 이전, 강제 이동 | 접근 불가(대표로 전송) | 대표 URL로 통합 | 중복되거나 오래된 URL을 폐기해 하나로 합칠 때 |
| noindex | 페이지를 색인에서 제외하라는 지시 | 접근 가능 | 통합 안 됨(색인에서 제외) | 검색에 노출하고 싶지 않은 페이지 |
Ahrefs는 같은 페이지에 캐노니컬과 noindex를 함께 사용하지 말라고 권고합니다. 두 신호가 서로 모순되며, 구글은 일반적으로 캐노니컬 태그를 noindex보다 우선해 해석하기 때문입니다. 마찬가지로 캐노니컬 대상이 4XX 또는 5XX 상태를 반환하거나 robots.txt로 차단되어 있으면 링크 신호는 통합되지 않습니다.
실무 체크리스트
- 대표 페이지에는 절대 URL을 사용합니다(https를 포함한 전체 경로).
- 페이지마다 rel="canonical"은 하나만 선언합니다. 두 개 이상이면 모두 무시됩니다.
- rel="canonical"은
<head>안에만 둡니다.<body>에 있으면 무시됩니다. - 대표 페이지에는 자기 참조 캐노니컬을 부여합니다.
- 같은 페이지에 캐노니컬과 noindex를 동시에 적용하지 않습니다.
- 캐노니컬 대상은 200을 반환하는 정상 페이지여야 합니다(리다이렉트, 4XX, 5XX 회피).
- 페이지네이션 페이지를 루트로 캐노니컬 처리하지 않습니다(구글이 권장하지 않음).
- 여러 캐노니컬 기법을 써서 같은 페이지를 서로 다른 대표 URL로 가리키지 않습니다.