캐노니컬 태그(canonical tag)는 같은 내용에 접근하는 주소가 여러 개일 때 그중 어느 것이 대표 주소인지를 검색엔진에 알리는 HTML 선언이다. 문서의 <head> 안에 rel="canonical" 링크 요소로 넣는다.
구글은 이 대표 주소를 표준 URL(canonical URL)이라 부르고, 대표를 고르는 절차 전체를 표준화라고 부른다.
같은 내용이 여러 주소로 흩어지면 검색엔진이 어느 것을 보여 줄지 스스로 고르기 때문이다. 그 선택을 사이트가 먼저 알려 주는 장치가 캐노니컬 태그다.
중복 주소는 실수보다 구조 때문에 생긴다. 구글은 발생 원인으로 지역별 변형, 기기별 변형, HTTP와 HTTPS 같은 프로토콜 변형, 정렬과 필터 같은 사이트 기능, 크롤러에 노출된 데모 버전 같은 우연한 변형을 든다 (구글 검색 센터, URL 표준화란 무엇인가요?).
지정하지 않아도 사이트는 돌아간다. 구글도 “선호하는 표준 URL을 지정하지 않아도 사이트는 정상적으로 작동합니다”라고 적어 뒀다.
그래도 지정하는 이유는 셋이다. 검색 결과에 어떤 주소를 보일지 정하고, 흩어진 신호를 한 주소로 모으고, 중복 페이지를 크롤링하는 데 시간을 낭비하지 않기 위해서다.
크롤링 쪽은 눈에 잘 안 띄지만 실제 효과가 있다. 구글은 “표준 페이지가 가장 정기적으로 크롤링되며, 중복 페이지는 사이트의 크롤링 부담을 줄이기 위해 이보다 적게 크롤링됩니다”라고 설명한다.
색인 단계에서도 대표 하나만 남는다. 구글은 중복 삭제라고도 부르는 이 절차로 “검색결과에 중복 콘텐츠 중 하나의 버전만 표시”한다.
문서 <head> 안에 링크 요소를 한 줄 넣으면 된다. HTML이 아닌 파일에는 HTTP 헤더로 같은 값을 보낸다.
<link rel="canonical" href="https://example.com/dresses/green-dress" />
PDF처럼 <head>가 없는 파일은 응답 헤더를 쓴다.
Link: <https://example.com/downloads/guide.pdf>; rel="canonical"
구글이 정리한 두 방법의 장단점이 갈린다. 링크 요소는 중복 페이지를 무한히 매핑할 수 있지만 규모가 크거나 URL이 자주 바뀌는 사이트에서는 관리가 복잡해지고, HTTP 헤더는 페이지 용량을 늘리지 않으면서 HTML이 아닌 파일에도 쓸 수 있다 (구글 검색 센터, rel=“canonical” 및 다른 메서드로 표준 URL을 지정하는 방법).
작성할 때 지킬 규칙은 넷이다.
https://www.example.com/dresses/green/green-dress.html을, 좋지 않은 예로 /dresses/green/green-dress.html을 든다.사이트맵에 넣은 주소도 신호가 된다. 다만 이때 사이트맵과 캐노니컬 태그가 서로 다른 주소를 가리키면 안 된다.
따르지 않는 경우가 있다. 구글은 캐노니컬 태그를 규칙이 아니라 신호로 다룬다.
문서의 표현이 분명하다. “내가 표준 URL로 사용하고 싶은 URL을 명시하더라도 반드시 이 URL이 선택되는 것은 아니며 Google에 힌트만 제공하게 됩니다”라고 적혀 있다.
구글이 대표를 고르는 방식은 이렇다. 비슷한 페이지를 묶은 뒤 “색인 생성 프로세스에서 수집한 요소(또는 신호)에 기반해 객관적으로 가장 완전하며 검색 사용자에게 유용한 페이지를 선택”한다.
어느 쪽이 선택됐는지는 구글 서치 콘솔의 URL 검사에서 확인한다. 사용자 선언 표준 URL과 구글에서 선택한 표준 URL이 나란히 표시된다.
두 값이 다를 수 있다는 것도 서치 콘솔 도움말에 명시돼 있다. “Google에서 사용자가 선언한 표준 URL을 선택할 수 있지만 경우에 따라 더 나은 표준 URL의 예라고 판단되는 다른 URL을 선택하기도 합니다”가 원문이다 (구글 서치 콘솔 고객센터, URL 검사 도구).
서치폴라리스 도메인에서 실제로 확인해 봤다. 2026년 8월 31일 서치 콘솔 URL 검사로 여섯 개 주소를 검사한 결과다.
| 검사한 주소 | 색인 상태 | 사용자 선언 표준 | 구글이 선택한 표준 |
|---|---|---|---|
| /wiki/rag/ | 제출되어 색인이 생성됨 | /wiki/rag/ | /wiki/rag/ |
| /blog/rag/ | 제출되어 색인이 생성됨 | /blog/rag/ | /blog/rag/ |
| /blog/geo/ | 리디렉션이 포함된 페이지 | /wiki/geo/ | /wiki/geo/ |
| www가 붙은 홈 | 리디렉션이 포함된 페이지 | https 홈 | https 홈 |
| http로 시작하는 홈 | 리디렉션이 포함된 페이지 | https 홈 | http 홈 |
| /wiki/geo/?utm_source=chatgpt.com | 구글에 알려지지 않은 URL | 없음 | 없음 |
여섯 건 중 다섯 건은 선언과 선택이 같았다. 어긋난 것은 http로 시작하는 홈 주소 한 건이다.
이 주소는 https로 리디렉션되고 우리가 선언한 표준도 https인데, 구글이 선택한 표준으로는 http 주소가 그대로 표시됐다. 구글이 문서에서 “HTTP 페이지보다는 HTTPS 페이지를 표준 페이지로 선호합니다”라고 밝힌 것과 별개로 벌어진 일이다.
색인 상태가 “리디렉션이 포함된 페이지”라 검색 결과에 노출되는 주소는 https 쪽이다. 그래도 선언이 곧 결과가 아니라는 점은 그대로 드러난다.
/blog/rag/와 /wiki/rag/는 다른 이야기를 한다. 같은 주제를 다루는 두 주소가 각자 자기를 표준으로 갖고 둘 다 색인됐다.
주소가 겹쳐 보여도 본문이 다르면 구글은 중복으로 묶지 않는다.
마지막 줄도 자주 오해되는 부분이다. 추적 파라미터가 붙은 주소는 구글이 크롤링한 적이 없으면 표준 URL 자체가 존재하지 않는다.
리다이렉트는 주소를 실제로 옮기고, 캐노니컬 태그는 두 주소를 모두 살려 둔 채 대표만 알린다. 신호의 세기도 다르다.
구글은 표준화 방법을 영향력이 큰 순서로 나열해 뒀다.
| 방법 | 구글이 설명한 신호의 세기 |
|---|---|
| 리디렉션 | 리디렉션 대상이 표준 URL이 되어야 하는 강력한 신호 |
| rel=“canonical” 링크 주석 | 지정된 URL이 표준 URL이 되어야 하는 강력한 신호 |
| 사이트맵 포함 | 사이트맵에 포함된 URL이 표준이 되도록 하는 약한 신호 |
선택 기준은 사용자가 옛 주소에 계속 접근해야 하는지다. 도메인을 바꾸거나 페이지를 통합해 옛 주소가 더는 필요 없으면 리다이렉트를 쓴다.
정렬 파라미터가 붙은 목록 페이지처럼 두 주소가 다 살아 있어야 하면 캐노니컬 태그를 쓴다. 이 경우 리다이렉트를 걸면 사용자가 정렬 기능을 못 쓴다.
둘은 겹쳐 쓸 수 있다. 구글은 “이러한 방법들은 중첩하여 사용할 수 있으므로 함께 사용하면 더 효과적”이고 “두 가지 이상의 방법을 사용하면 검색 결과에 선호하는 표준 URL이 표시될 가능성이 높아집니다”라고 안내한다.
구글이 문서에 하지 말라고 적어 둔 것부터 확인하면 대부분 걸러진다. 다섯 가지가 명시돼 있다.
noindex와 함께 쓰지 않는다. 구글은 이 조합이 “페이지가 Google 검색에서 완전히 차단될 수 있으므로 권장하지 않습니다”라고 못 박았다.# 뒤의 값은 일반적으로 지원되지 않는다.hreflang을 쓰는 다국어 사이트는 한 가지가 더 붙는다. 구글은 “hreflang 요소를 사용한다면 같은 언어로 표준 페이지를 지정하세요”라고 안내한다.
내부 링크도 같은 방향으로 맞춘다. “사이트 내에서 연결할 때는 중복 URL이 아닌 표준 URL에 연결하세요”가 권장사항에 들어 있다.
robots.txt로 막힌 페이지는 캐노니컬 태그가 읽히지 않는다. 크롤러가 그 문서를 못 여는데 안에 적힌 선언이 전달될 리 없기 때문이다.
표준화는 테크니컬 SEO에서 가장 조용히 새는 항목이다. 순위가 아니라 어떤 주소가 대표로 남는지를 정하는 일이라 문제가 생겨도 겉으로 잘 드러나지 않는다.
캐노니컬 URL은 무엇을 의미하나요? 구글이 여러 중복 페이지 중 가장 대표적이라고 선택한 페이지의 주소를 뜻합니다. 사이트가 캐노니컬 태그로 선언한 값과 구글이 실제로 고른 값이 다를 수 있어서, 서치 콘솔 URL 검사에서는 두 값을 따로 보여 줍니다.
canonical은 무슨 뜻인가요? 표준의, 정본의라는 뜻입니다. 원래는 종교 경전의 정경을 가리키던 말이고, 웹에서는 여러 사본 중 원본에 해당하는 주소라는 의미로 쓰입니다. 캐노니컬을 검색하면 회사 채용이나 연봉 관련 결과가 함께 뜨는데, 우분투 리눅스를 만드는 영국 기업 Canonical Ltd.와 이름이 같기 때문입니다.
HTML 어디에 캐노니컬 태그를 넣나요?
<head> 안에 넣습니다. 구글 문서는 “rel=“canonical” link element는 HTML의 <head> 섹션에 포함되어 있는 경우에만 허용됩니다”라고 못 박고 있어서 <body>에 넣으면 읽히지 않습니다. 자바스크립트로 나중에 삽입하거나 값을 바꾸는 방식도 권장되지 않습니다.
서치폴라리스가 AI 검색 가시성을 진단하고 GEO 실행까지 대행합니다.