캐노니컬 태그 Canonical Tag
캐노니컬 태그(Canonical Tag)는 같은 콘텐츠가 여러 URL로 접근될 때 검색엔진에 대표 URL을 알려주는 HTML 선언입니다. 문서 head 영역에 link rel="canonical" 형태로 넣어, 변형 URL로 분산될 수 있는 신호와 색인을 대표 주소 한 곳으로 모읍니다. 구글은 이를 규칙이 아닌 힌트로 다루며 실제로 다른 URL을 대표로 고르는 사례가 흔하므로, 리디렉션·사이트맵·내부 링크 신호와 일치시켜야 효과가 있습니다.
왜 대표 주소 선언이 필요한가
하나의 페이지가 여러 URL로 접근되는 일은 흔합니다. 구글 검색 센터의 표준화(canonicalization) 문서는 중복 URL이 생기는 대표 사례로 http와 https 프로토콜 변형, 모바일·데스크톱 기기별 변형, 정렬·필터가 만드는 변형, 같은 콘텐츠가 지역별로 다른 URL로 접근되는 변형을 듭니다 Google 공식. 대표 URL을 지정하지 않으면 이 변형들이 저마다 색인 후보가 됩니다.
구글은 내용이 비슷한 페이지들을 하나로 묶은 뒤, 그중 가장 완전하고 유용하다고 판단한 페이지를 대표(canonical)로 스스로 선택합니다 Google 공식. 이 판단을 검색엔진에만 맡기면 의도하지 않은 URL이 검색 결과에 노출될 수 있습니다. 캐노니컬 태그는 사이트가 "대표 주소는 여기"라고 직접 알려주는 장치입니다. IETF 표준 RFC 6596은 이 링크 관계를 "같은 콘텐츠를 중복 형태로 반환하는 리소스 집합 가운데 선호되는 주소를 지정하는 것"으로 정의합니다 RFC 6596.
중복은 일부 사이트만의 문제가 아닙니다. Semrush가 10만 개 사이트, 4억 5천만 페이지를 분석한 2016년 연구에서 분석 대상 사이트의 50%가 중복 콘텐츠 문제를 안고 있었습니다 Semrush 실측. 중복 정리는 크롤링과 색인 효율과 바로 연결됩니다.
작성 방법과 동작 원리
문서의 head 영역에 한 줄을 넣습니다. 구글 문서는 상대 경로 대신 프로토콜과 도메인을 포함한 절대 경로를 쓰고, 대표 페이지 자신에도 자기 자신을 가리키는 자기 참조 캐노니컬(self-referential canonical)을 넣으라고 권장합니다 Google 공식.
<!-- 접근 URL: https://example.com/works/portfolio-a/?utm_source=newsletter -->
<!-- head 안의 선언: 대표 주소는 파라미터가 없는 원본임을 알립니다 -->
<link rel="canonical" href="https://example.com/works/portfolio-a/" />
힌트일 뿐, 명령이 아니다 - 공식과 실측의 간극
가장 자주 오해받는 부분이 강제력입니다. 구글 표준화 문서는 대표 URL 지정을 "indicating a canonical preference is a hint, not a rule"(대표 지정은 규칙이 아니라 힌트)이라고 못 박습니다 Google 공식. 그래서 지정한 캐노니컬과 실제 구글이 고른 대표가 어긋나는 일이 실무에서 자주 나타납니다.
| 구글 공식 입장 | rel=canonical은 명령이 아니라 힌트다. 콘텐츠 품질·내부 링크·리디렉션 등 다른 신호를 근거로 구글이 지정과 다른 URL을 대표로 선택할 수 있다. Google 공식 |
|---|---|
| 전문가 실측 결과 | 실제로 구글이 지정 캐노니컬을 무시하고 다른 URL을 대표로 고르는 사례가 흔하다. 서치 콘솔에 "Duplicate, Google chose different canonical than user"라는 별도 상태가 존재할 정도이며, 캐노니컬은 수십 개 표준화 신호 중 하나로 다뤄진다. Ahrefs 실측 |
차이가 생기는 이유는 캐노니컬 태그가 단독 명령이 아니라 여러 신호 중 하나이기 때문입니다. 내부 링크·사이트맵·리디렉션이 캐노니컬과 다른 URL을 가리키면 구글은 사실상 신호 다수결을 따릅니다. 그래서 실무에서는 캐노니컬 한 줄에만 의존하지 말고, 모든 신호가 같은 URL을 가리키도록 맞추는 것이 신뢰할 수 있는 유일한 방법입니다. 구글 문서도 방법마다 서로 다른 URL을 지정하지 말라고 안내합니다 Google 공식.
| 구분 | 캐노니컬 태그 | 301 리디렉션 |
|---|---|---|
| 페이지 접근 | 두 URL 모두 접근 가능 | 원본 URL 접근 시 대표 주소로 이동 |
| 구글 문서의 분류 | 지정한 URL이 대표가 되어야 한다는 강한 신호(힌트) | 리디렉션 대상이 대표가 되어야 한다는 강한 신호 |
| 주 용도 | 변형 URL을 유지한 채 대표 지정(파라미터·정렬 변형) | 주소 이전, 페이지 폐기, http→https 통일 |
두 URL을 모두 살려 둘 이유가 없다면 301 리디렉션이 더 명확한 선택입니다. 캐노니컬 태그는 "페이지는 유지하되 대표만 지정"해야 하는 경우에 씁니다.
테마 제작 단계의 실무 체크포인트
SEO 플러그인에 맡기기 전에, 테마가 출력하는 캐노니컬이 무엇인지부터 알아야 합니다. 워드프레스 코어는 단일 글·페이지에는 rel_canonical 훅으로 캐노니컬을 자동 출력하지만, 커스텀 라우트·아카이브·검색 결과 페이지에는 출력하지 않습니다. 맞춤 테마를 직접 만드는 경우 이 빈틈을 테마 레벨에서 메우고, 출력 기준을 구글 권고(절대 URL·자기 참조·신호 일치)에 맞춥니다 Google 공식.
// 워드프레스 코어는 단일 글에만 캐노니컬을 자동 출력합니다.
// 아카이브·커스텀 라우트는 테마에서 직접 계산해 메웁니다.
add_action( 'wp_head', 'jt_output_canonical' );
function jt_output_canonical() {
if ( is_singular() ) {
return; // 코어(rel_canonical)가 이미 출력합니다.
}
global $wp;
// $wp->request 에는 /page/2 같은 경로가 포함되어
// 페이지네이션의 각 페이지가 자기 자신을 참조하게 됩니다.
$canonical = trailingslashit( home_url( $wp->request ) );
echo '<link rel="canonical" href="' . esc_url( $canonical ) . '" />' . "\n";
}
- 캐노니컬 URL은 항상 https·대표 도메인 기준으로 계산하고 리디렉션·사이트맵과 같은 기준을 공유합니다. 구글 문서는 기법 간에 서로 다른 URL을 지정하지 말라고 안내합니다 Google 공식.
- 테마와 SEO 플러그인이 동시에 출력하면 캐노니컬이 두 개가 됩니다. 구글 표준화 문제 해결 문서는 CMS 나 플러그인이 잘못된 URL을 가리키도록 표준화 기법을 오용하는 사례를 흔한 원인으로 듭니다 Google 공식. 반드시 한쪽만 출력하도록 정리합니다.
- 배포 후에는 페이지 소스 보기로 실제 출력을 확인하고, 구글 서치 콘솔 URL 검사 도구에서 "사용자가 선언한 표준 URL"과 "Google에서 선택한 표준 URL"이 일치하는지 점검합니다 GSC 고객센터.
자주 하는 실수
- 템플릿 복사로 인한 엉뚱한 대표 선언 - 페이지 템플릿을 복사하면서 rel=canonical 대상을 바꾸지 않아 모든 페이지가 엉뚱한 주소를 대표로 선언하게 되는 사례입니다. 구글 검색 센터 블로그가 대표적 실수로 꼽습니다 Google 공식. 공통 헤더에 홈 URL을 하드코딩하는 것도 같은 유형이므로, 배포 직후 아무 하위 페이지나 열어 소스를 확인해야 합니다.
- 페이지네이션 일괄 1페이지 지정 - 구글 페이지네이션 문서는 연속 페이지의 첫 페이지를 대표로 쓰지 말고 각 페이지에 자체 대표 URL을 주라고 안내하며, rel="next"/rel="prev"를 더 이상 사용하지 않는다고 분명히 밝힙니다 Google 공식.
- https/www 변형 불일치 - 실제 서비스는 https·www 도메인인데 캐노니컬은 http 나 www 없는 주소를 가리키는 경우입니다. 캐노니컬은 규칙이 아닌 힌트이므로 리디렉션·사이트맵과 어긋나면 그대로 무시될 수 있습니다 Ahrefs 실측.
- 이중 출력 - 한 문서에 서로 다른 URL을 가리키는 rel=canonical이 여러 개 있으면, 구글은 "모든 rel=canonical 힌트를 무시할 가능성이 높다"고 안내합니다 Google 공식.
- noindex와 동시 사용 - 구글 대표 URL 지정 문서는 사이트 내부에서 대표 선택을 막을 목적으로 noindex를 쓰는 것을 권장하지 않습니다. 페이지가 검색에서 완전히 차단되기 때문입니다 Google 공식. 목적에 맞는 신호 하나만 남깁니다.
참고 자료
- How to specify a canonical with rel="canonical" and other methods - Google Search Central
- What is canonicalization - Google Search Central
- Fix canonicalization issues - Google Search Central
- Pagination, incremental page loading, and their impact on Google Search - Google Search Central
- 5 common mistakes with rel=canonical - Google Search Central Blog
- URL Inspection tool - Google Search Console Help
- RFC 6596: The Canonical Link Relation - IETF
- Duplicate, Google Chose Different Canonical Than User - Ahrefs
- 11 Most Common On-Site SEO Mistakes - Semrush Study