추적 파라미터, 정렬 옵션, 인쇄용 주소처럼 내용은 같지만 URL이 여러 개일 수 있습니다. canonical은 그중 “이 주소를 대표로 참고해 주세요”라고 알려 주는 힌트입니다.
왜 대표 주소가 필요한가요?
예를 들어 아래 세 URL이 거의 같은 상품을 보여줄 수 있습니다.
https://example.com/product/blue-shirt
https://example.com/product/blue-shirt?utm_source=newsletter
https://example.com/product/blue-shirt?sort=review
대표 주소를 일관되게 제시하면 검색엔진이 신호를 한 URL에 모으고, 검색결과에 어떤 주소를 보여줄지 판단하는 데 도움이 됩니다. 다만 canonical은 강제 명령이 아니라 다른 신호와 함께 해석되는 힌트입니다.
<link rel="canonical" href="https://example.com/product/blue-shirt">
자기 자신을 가리키는 canonical도 정상입니다.중복이 없어 보이는 고유 페이지에도 현재의 깨끗한 절대 URL을 canonical로 선언하면 템플릿을 일관되게 관리하기 쉽습니다.
Meta Checker에서 확인하기

- 1대표 URL이 현재 페이지의 의도한 주소인지 확인합니다. ‘현재 URL과 일치’가 보이면 자기 참조 canonical입니다.
주소창의 현재 URL을 확인합니다
추적 파라미터가 붙었는지, HTTP/HTTPS나 www 유무가 의도한 형태인지 봅니다.
기본 탭의 대표 URL을 찾습니다
N/A면 canonical 태그가 없습니다. 다른 URL이면 그 주소가 실제로 대표가 맞는지 판단합니다.
코드 버튼으로 절대 URL을 확인합니다
https://부터 시작하는 완전한 URL을 권장합니다. 오타, 상대 경로, 다른 도메인을 특히 주의하세요.
상태가 New·Changed인지 봅니다
자바스크립트가 뒤늦게 canonical을 추가·변경했다면 서버가 보내는 최초 HTML에도 같은 값을 넣을 수 있는지 검토합니다.
자주 틀리는 경우
| 문제 | 왜 문제인가요? | 개선 |
|---|---|---|
| 모든 페이지가 홈을 canonical로 지정 | 서로 다른 콘텐츠를 홈의 중복본처럼 알릴 수 있습니다. | 각 고유 페이지는 자기 주소를 가리킵니다. |
| 404 또는 리디렉션 URL을 지정 | 대표 URL이 안정적인 200 페이지가 아닙니다. | 최종 200 URL로 바로 지정합니다. |
| HTTP와 HTTPS가 섞임 | 보안 버전 통합 신호가 흔들립니다. | 실제 운영 HTTPS URL로 통일합니다. |
| canonical과 hreflang이 충돌 | 언어별 페이지가 다른 언어를 대표로 가리킬 수 있습니다. | 각 언어 페이지의 canonical·hreflang 관계를 함께 봅니다. |
| 사이트맵 URL과 canonical이 다름 | 서로 다른 대표 후보를 제출합니다. | 사이트맵에는 canonical URL만 넣습니다. |
수정하고 다시 검사하기
- 페이지 유형별 대표 URL 규칙을 정합니다. 파라미터를 제거할지, 슬래시를 유지할지 먼저 결정하세요.
- CMS SEO 설정 또는
<head>템플릿에서 canonical을 수정합니다. - 대표 URL을 직접 열어 200 OK인지, 로그인 없이 접근되는지 확인합니다.
- 내부 링크와 XML 사이트맵도 같은 대표 URL을 사용하도록 정리합니다.
- Meta Checker에서 현재 URL, 대표 URL, 최종 URL을 다시 비교합니다.
페이지 삭제는 canonical로 대신하지 않습니다.완전히 없어진 페이지는 적절한 404/410 또는 관련 페이지로의 리디렉션을 사용합니다. canonical은 중복·유사 페이지 통합을 위한 신호입니다.
완료 체크리스트
- 중요 페이지의 canonical이 N/A가 아니다.
- 대표 URL은 접근 가능한 200 HTTPS 주소다.
- 고유 페이지가 무조건 홈을 가리키지 않는다.
- canonical, 내부 링크, 사이트맵의 URL 형식이 같다.
- 값이 현재 DOM과 최초 HTML에서 일관된다.