canonical 태그 사용법 — 중복 콘텐츠 정리와 대표 URL 지정 가이드
SEO Check 편집팀 · 2026-09-28 업데이트 · 7분 읽기
canonical 태그는 내용이 같거나 거의 같은 여러 URL 중 검색 결과에 보여 줄 대표 주소를 검색엔진에 알려 주는 태그입니다. 모든 페이지의 <head>에 https://로 시작하는 절대 URL로, 자기 자신을 가리키도록 하나만 넣는 것이 기본입니다. 여기에 www·http 중복은 301 리디렉션으로 합치고, 사이트맵과 내부 링크도 같은 대표 주소를 쓰면 중복 콘텐츠 문제 대부분이 해결됩니다.
canonical 태그는 무엇이고 왜 필요한가요?
같은 페이지라도 주소는 생각보다 쉽게 여러 개로 늘어납니다. https://example.co.kr/shop, https://www.example.co.kr/shop, https://www.example.co.kr/shop?utm_source=kakao는 모두 같은 화면을 보여 주지만 검색엔진에는 서로 다른 URL입니다.
대표 주소가 정해지지 않으면 다음 문제가 생깁니다.
- 외부 링크와 공유 신호가 여러 주소로 나뉘어 한 페이지로 모이지 않습니다.
- 검색엔진이 의도하지 않은 주소(파라미터가 붙은 주소 등)를 검색 결과에 보여 줄 수 있습니다.
- 크롤러가 같은 내용을 반복해서 수집하느라 새 페이지 수집이 늦어집니다.
중복 콘텐츠 자체로 벌점을 받는 것은 아니지만, 평가가 분산되고 원하는 주소가 노출되지 않는 손해가 생깁니다.
올바른 작성법: 절대 URL과 자기참조
<head>
<link rel="canonical" href="https://www.example.co.kr/service/bathroom">
</head>
- 절대 URL:
https://와 도메인을 포함한 전체 주소를 씁니다. 상대 경로(/service/bathroom)도 인식되지만, 개발 서버나 다른 도메인에서 복제될 때 오류가 생기기 쉽습니다. - 자기참조: 대표 페이지는 자기 자신을 canonical로 지정합니다. 파라미터가 붙은 주소로 접속해도 canonical은 파라미터 없는 주소를 가리키게 됩니다.
- 페이지당 하나: 테마와 SEO 플러그인이 각각 canonical을 출력해 두 개가 되는 경우가 많습니다. 서로 다른 canonical이 여러 개면 구글은 모두 무시할 수 있습니다.
<head>안의 HTML 원본에:<body>안에 넣은 canonical은 무시됩니다. 자바스크립트로 나중에 값을 바꾸는 방식도 피합니다.- 최종 URL을 가리키기: canonical 대상 주소는 리디렉션 없이 200으로 응답하고, noindex가 없는 페이지여야 합니다.
PDF처럼 HTML이 아닌 파일은 HTTP 응답 헤더로 지정할 수 있습니다.
Link: <https://www.example.co.kr/catalog.pdf>; rel="canonical"
중복 URL은 어디서 생기고 어떻게 정리하나요?
| 중복 유형 | 예시 | 권장 처리 |
|---|---|---|
| http / https | http://와 https:// 주소가 모두 열림 |
https로 301 리디렉션 + canonical |
| www / non-www | example.co.kr와 www.example.co.kr |
한쪽으로 301 리디렉션 + canonical |
| 끝 슬래시·index 파일 | /about, /about/, /about/index.html |
한 형식으로 301 리디렉션 |
| 추적 파라미터 | ?utm_source=kakao, ?fbclid=... |
canonical을 파라미터 없는 주소로 |
| 정렬·필터 | ?sort=price, ?color=red |
canonical을 기본 목록으로 |
| 콘텐츠 재게시 | 협력사·포털에 같은 글 게시 | 게시처에 원문 canonical 요청 |
원칙은 간단합니다. 사용자도 다른 주소로 보낼 필요가 있으면 301 리디렉션, 두 주소를 모두 열어 두어야 하면 canonical입니다. www·http 통합처럼 한쪽 주소가 필요 없는 경우는 canonical만으로는 부족하며 301 리디렉션이 가장 강한 신호입니다. 리디렉션 설정과 단계 관리는 크롤링 오류·리디렉션 가이드에서 다룹니다.
필터 조합 중 "빨간 원피스"처럼 검색 수요가 있는 페이지를 따로 노출하고 싶다면, 그 페이지는 자기참조 canonical과 고유한 제목·설명을 갖춘 독립 페이지로 만듭니다.
페이지네이션은 어떻게 처리하나요?
게시판이나 상품 목록의 ?page=2, /page/3/ 같은 페이지는 1페이지와 내용이 다르므로 각 페이지가 자기 자신을 canonical로 지정합니다. 2페이지 이후를 모두 1페이지로 canonical하면, 그 페이지에만 연결된 게시물이나 상품이 발견되지 않을 수 있습니다.
- 페이지 번호 링크는
<a href>로 된 일반 링크로 제공합니다. - 구글은 2019년에
rel="next",rel="prev"를 색인 신호로 쓰지 않는다고 밝혔습니다. 넣어도 해는 없지만 canonical을 대신하지 못합니다. - 전체 항목을 한 페이지에 보여 주는 "전체 보기" 페이지가 있고 속도가 충분히 빠르다면, 분할 페이지의 canonical을 전체 보기 페이지로 지정하는 방법도 있습니다.
hreflang과 함께 쓸 때 주의할 점
다국어 사이트에서 가장 흔한 실수는 영어 페이지의 canonical을 한국어 페이지로 지정하는 것입니다. 언어가 다르면 중복이 아니므로 각 언어 페이지는 자기 자신을 canonical로 지정하고, 언어 버전 사이의 관계는 hreflang으로 연결합니다.
<!-- 한국어 페이지: https://www.example.co.kr/ko/pricing -->
<link rel="canonical" href="https://www.example.co.kr/ko/pricing">
<link rel="alternate" hreflang="ko" href="https://www.example.co.kr/ko/pricing">
<link rel="alternate" hreflang="en" href="https://www.example.co.kr/en/pricing">
<link rel="alternate" hreflang="x-default" href="https://www.example.co.kr/en/pricing">
hreflang에 적는 URL도 각 언어 페이지의 canonical URL과 정확히 같아야 합니다. 자세한 규칙은 hreflang 가이드를 참고하세요.
흔한 실수
- 모든 페이지의 canonical이 홈페이지를 가리킴 (템플릿에 주소를 고정해 둔 경우)
- 운영 사이트의 canonical이 개발 서버나 이전 도메인을 가리킴
- https 페이지에서 http 주소를 canonical로 지정
- canonical 대상이 404, 리디렉션, noindex 페이지
- noindex와 다른 URL을 가리키는 canonical을 함께 사용 (색인하지 말라는 신호와 다른 페이지로 합치라는 신호가 충돌)
- canonical 대상 URL을 robots.txt로 차단
- canonical은 A인데 사이트맵·내부 링크는 B를 사용
사이트맵에는 canonical과 똑같은 주소만 넣어야 합니다. 이 부분은 XML 사이트맵 가이드에서 다룹니다.
구글이 선택한 대표 URL 확인하기
구글 서치콘솔의 URL 검사에 주소를 넣으면 사용자가 선언한 표준 URL과 Google이 선택한 표준 URL을 비교할 수 있습니다. 두 값이 다르다면 리디렉션, 내부 링크, 사이트맵 중 어딘가가 다른 주소를 가리키고 있다는 뜻입니다. 페이지 색인 생성 보고서의 다음 항목도 함께 확인합니다.
| 보고서 항목 | 의미 |
|---|---|
| 적절한 표준 태그가 포함된 대체 페이지 | canonical이 의도대로 작동 중인 정상 상태 |
| 중복 페이지, 사용자가 표준으로 선택하지 않음 | canonical이 없어 구글이 직접 대표를 고른 상태 |
| 중복 페이지, Google에서 사용자와 다른 표준을 선택함 | 지정한 canonical을 구글이 따르지 않은 상태 |
canonical과 중복 콘텐츠 처리의 배경은 저자의 전자책 PART 3. On-Page SEO 전략에서도 다룹니다.
SEO Check에서는 이렇게 점검합니다
무료 SEO 진단은 홈페이지의 canonical과 대표 주소 설정을 다음 기준으로 확인합니다.
- canonical 존재: 없으면 개선 필요로 표시합니다.
- 개수: 서로 다른 canonical이 여러 개면 문제로 표시합니다.
- 동일 도메인: 다른 도메인을 가리키면 문제로 표시합니다.
- 절대·https 주소: https 페이지에서 http 주소를 가리키면 개선 필요입니다.
- 자기참조: 최종 접속 주소와 같은 URL을 가리켜야 통과입니다.
- 대표 주소 통합: HTTP→HTTPS 301 리디렉션, www/non-www 통일, 리디렉션 1단계 이하인지 함께 확인합니다.
- 신호 일치: og:url이 canonical과 같은지, 사이트맵 URL이 같은 호스트와 https를 쓰는지 대조합니다.
자주 묻는 질문
canonical 태그는 모든 페이지에 넣어야 하나요?
canonical을 지정하면 구글이 반드시 따르나요?
canonical과 301 리디렉션 중 무엇을 써야 하나요?
목록의 2페이지 이후도 canonical을 1페이지로 지정해야 하나요?
이 항목, 내 사이트는 어떨까요?
무료 간편진단으로 canonical · 중복 콘텐츠를 포함한 핵심 항목을 1분 만에 확인하세요.