중복 콘텐츠와 canonical 태그, 대표 URL 지정하는 법
중복 콘텐츠란 무엇인가
중복 콘텐츠(duplicate content)는 같거나 매우 비슷한 본문이 서로 다른 여러 URL에서 동시에 접근되는 상태를 말합니다. 사람 눈에는 한 페이지처럼 보여도 검색 엔진은 URL을 기준으로 페이지를 구분하기 때문에, 주소가 다르면 서로 다른 페이지로 인식합니다. 의도적으로 복사하지 않았더라도 사이트 구조나 URL 생성 방식 때문에 같은 글이 여러 주소로 만들어지는 경우가 의외로 많습니다. 예를 들어 같은 글이 https://example.com/post, https://example.com/post?ref=kakao, https://www.example.com/post 처럼 세 주소로 열린다면, 검색 엔진은 사실상 같은 내용을 세 번 마주치게 되고 어느 주소를 검색 결과에 보여줄지 스스로 골라야 하는 상황이 생깁니다.
완전 중복과 유사 중복
- 완전 중복: 본문, 제목, 이미지까지 동일한 페이지가 여러 URL로 존재하는 경우입니다. 파라미터가 붙은 URL, www 유무 차이, http/https 차이 등이 대표적입니다.
- 유사 중복(near-duplicate): 본문 대부분이 겹치고 일부만 다른 경우입니다. 상품 옵션만 다른 페이지, 지역명만 바꿔 찍어낸 글, 거의 같은 내용을 약간만 손본 글 등이 해당합니다.
- 사이트 간 중복: 다른 사이트의 글을 그대로 가져오거나, 내 글이 무단으로 복제되어 다른 도메인에 올라간 경우입니다. 어느 쪽이 원본인지 가려야 하는 상황입니다.
중복 콘텐츠가 색인과 평가에 주는 영향
흔히 '중복 콘텐츠 페널티'라는 말을 쓰지만, 구글은 단순히 콘텐츠가 중복됐다는 이유만으로 사이트에 불이익을 주는 별도의 페널티는 없다고 설명해 왔습니다. 다만 페널티가 없다는 것과 아무 문제가 없다는 것은 다릅니다. 중복은 벌점이 아니라 '분산'과 '비효율' 형태로 손해를 만듭니다.
- 대표 URL 선택: 검색 엔진은 같은 내용의 여러 URL 중 하나만 대표(canonical)로 골라 검색 결과에 노출하려 합니다. 이 선택을 검색 엔진에 맡기면 내가 원한 주소가 아닌 엉뚱한 URL이 대표로 잡힐 수 있습니다.
- 평가 신호 분산: 외부 링크나 사용자 반응 같은 신호가 여러 URL로 흩어지면, 한 페이지로 모았을 때보다 각 주소의 평가가 약해질 수 있습니다.
- 크롤링 낭비: 검색 엔진은 사이트마다 한정된 크롤링 자원을 씁니다. 같은 내용을 여러 주소로 반복해서 크롤링하면, 정작 새 글이나 중요한 페이지를 가져갈 기회가 줄어들 수 있습니다.
- 검색 결과 노출 제한: 매우 유사한 페이지가 많으면 검색 결과에서 일부만 보여주고 나머지는 생략(omitted results)되는 경우가 있습니다.
rel=canonical, 대표 URL을 지정하는 태그
rel=canonical은 '이 내용의 대표 주소는 여기입니다'라고 검색 엔진에 알려주는 신호입니다. 중복되거나 유사한 페이지들의 <head> 영역에 대표 URL을 가리키는 <link rel="canonical" href="https://example.com/post" /> 태그를 넣고 모두 같은 대표 주소를 가리키게 하면, 검색 엔진은 여러 URL을 하나로 묶어 그 대표 주소를 색인·평가의 기준으로 삼으려고 합니다. 대표 페이지 자신에게도 자기 자신을 가리키는 canonical(self-referencing canonical)을 넣어 두는 것이 권장됩니다.
canonical이 작동하는 방식과 주의점
- 절대 URL 권장: href에는 https://를 포함한 전체 주소(절대 경로)를 쓰는 것이 안전합니다. /post 같은 상대 경로는 해석 오류를 부를 수 있습니다.
- 지시가 아니라 힌트: canonical은 명령이 아니라 강한 권고입니다. 검색 엔진이 내용·내부 링크·사이트맵 등을 함께 보고 다른 URL을 대표로 판단할 수도 있어, 신호를 일관되게 맞추는 것이 중요합니다.
- 신호 일관성: canonical, 내부 링크, 사이트맵에 적는 URL, 리디렉션 방향이 서로 다른 주소를 가리키면 검색 엔진이 혼란스러워합니다. 한 페이지의 대표 주소는 모든 곳에서 동일하게 유지하세요.
- noindex와 함께 쓰지 않기: 대표로 묶을 페이지에 canonical과 noindex를 동시에 거는 것은 모순된 신호입니다. 둘 중 의도에 맞는 하나만 사용하세요.
사례 1: 파라미터가 붙은 URL과 도메인 변형
가장 흔한 중복 원인은 추적·정렬·필터용 쿼리 파라미터입니다. ?ref=kakao, ?utm_source=newsletter, ?page=1, ?sort=recent 처럼 파라미터만 다르고 내용은 같은 주소가 계속 생겨나며, SNS 공유 링크에 추적 파라미터가 붙는 경우가 특히 잦습니다. 이런 변형 URL 모두가 파라미터 없는 깨끗한 주소를 canonical로 가리키게 하면, 검색 엔진은 추적 파라미터가 붙은 주소를 별개 페이지로 색인하지 않고 원본으로 통합하려 합니다.
| URL 예시 | 내용 | 권장 처리 |
|---|---|---|
| /post | 원본 | 대표 URL(자기 참조 canonical) |
| /post?utm_source=kakao | 동일 | canonical을 /post로 지정 |
| /post?sort=recent | 동일(정렬만 다름) | canonical을 /post로 지정 |
| www/http 변형 | 동일 | 301 리디렉션으로 통합 |
한편 사이트 설정에 따라 같은 페이지가 https://www.example.com 과 https://example.com, http와 https, /post 와 /post/ 처럼 여러 형태의 주소로 모두 열리는 경우가 있습니다. 검색 엔진은 이를 다른 페이지로 볼 수 있으므로, 하나의 형태를 정해 나머지는 301 리디렉션으로 보내 통일하는 것이 좋습니다. /Post 와 /post 같은 대소문자 차이, /index.html 과 / 처럼 같은 자원으로 가는 변형도 한 주소로 정리합니다.
사례 2: 모바일 전용 페이지와 복제 페이지
과거에는 m.example.com 같은 모바일 전용 도메인을 따로 운영하는 사이트가 많았고, 이 경우 PC 페이지와 모바일 페이지의 본문이 사실상 같아 중복이 됩니다. 전통적인 처리법은 모바일 페이지에서 PC 대표 페이지로 canonical을 걸고, PC 페이지에서 모바일 페이지로 alternate(media)를 연결해 짝을 지어주는 것입니다. 다만 오늘날에는 별도 모바일 도메인 대신 하나의 URL로 PC·모바일을 함께 대응하는 반응형 웹이 권장됩니다. 반응형은 URL이 하나뿐이라 중복 문제가 애초에 생기지 않고, 구글의 모바일 우선 색인(mobile-first indexing)과도 잘 맞습니다. 인쇄용 페이지나 미리보기용 페이지처럼 같은 글의 복제본을 별도 URL로 만든 경우에도, 복제본이 원본을 canonical로 가리키게 해야 합니다.
네이버 블로그에서의 중복 콘텐츠
네이버 블로그는 글의 HTML을 직접 수정할 수 없어 canonical 태그를 임의로 넣을 수 없습니다. 대신 블로그 환경에서 신경 써야 할 중복은 다른 형태로 나타납니다. 같은 글을 여러 편으로 거의 복사해 올리거나, 다른 사람의 글을 그대로 옮겨 적거나, 본인의 글을 다른 플랫폼에 그대로 재발행하는 경우입니다.
- 자기 복제 주의: 키워드만 살짝 바꿔 거의 같은 글을 양산하면, 검색 엔진이 가장 적합한 한 편만 노출하고 나머지는 생략할 수 있습니다. 글마다 고유한 정보와 관점을 담는 것이 안전합니다.
- 재발행 시 원본 명시: 네이버 블로그 글을 자체 사이트 등에 다시 올린다면, canonical을 설정할 수 있는 쪽에서 원본을 가리키도록 정리하면 평가가 한 곳으로 모일 가능성이 높아집니다.
- 도용 대응: 내 글이 무단 복제됐다면, 원본의 게시 시점과 작성 흔적을 확보해 두고 필요 시 검색 엔진에 신고할 수 있습니다. 검색 엔진은 보통 원본을 가려내려 하지만 항상 완벽하지는 않습니다.
웹사이트(워드프레스·자체 사이트)에서의 처리
직접 코드를 수정할 수 있는 사이트라면 canonical을 적극 활용할 수 있습니다. 워드프레스는 Yoast SEO, Rank Math 같은 플러그인이 글마다 자기 참조 canonical을 자동으로 넣어 줍니다. 태그·카테고리 아카이브, 페이지네이션, 내부 검색 결과 페이지처럼 중복 신호가 생기기 쉬운 영역을 점검하는 것이 핵심입니다.
| 상황 | 권장 처리 | 비고 |
|---|---|---|
| 일반 글/페이지 | 자기 참조 canonical | 기본값 |
| 추적 파라미터 URL | 원본으로 canonical | 정규 URL 정리 |
| 페이지네이션 2페이지~ | 각 페이지 자기 참조 | 각 페이지를 별개로 색인 |
| 내부 검색 결과 페이지 | noindex | 색인 가치 낮음 |
| www/http 변형 | 301 리디렉션 | 도메인 통합 |
참고로 페이지네이션 글 목록의 2페이지 이후를 무조건 1페이지로 canonical 거는 것은 권장되지 않습니다. 각 페이지는 서로 다른 글 목록을 담아 내용이 다르므로, 각자 자기 자신을 가리키는 편이 자연스럽습니다. 반대로 내부 검색 결과 페이지처럼 색인 가치가 낮은 영역은 canonical보다 noindex가 적절합니다.
중복 정리 후, 색인 상태를 함께 점검하세요
canonical과 리디렉션으로 대표 URL을 정리했다면, 실제로 검색 엔진이 의도대로 색인했는지 확인하는 단계가 남습니다. 구글 검색에서 site:내도메인 으로 검색하거나, 자체 사이트라면 Google Search Console의 'URL 검사'로 어떤 주소가 대표로 선택됐는지 확인할 수 있습니다. 의도한 대표 URL이 아니라 다른 변형이 선택됐다면 신호가 어긋난 것이니 다시 점검해야 합니다.
중복을 정리해 대표 URL을 한 곳으로 모은 뒤에도, 정작 그 페이지가 구글에 색인되지 않았다면 검색 노출 자체가 일어나지 않습니다. 네이버 블로그처럼 구글 색인이 구조적으로 누락되기 쉬운 환경이라면, 어떤 글이 색인됐고 어떤 글이 빠졌는지부터 한눈에 보는 것이 먼저입니다. 인덱스키트는 블로그·웹사이트 주소를 입력하면 글별 색인 여부를 PDF 진단 보고서와 색인 현황 페이지로 정리해 보여주고, 누락된 글에 대해 Google Indexing API로 색인 요청을 대신 보냅니다. 다만 색인은 검색 엔진에 대한 '요청'이며, 최종 색인 여부와 시점, 검색 순위는 구글·네이버의 정책과 알고리즘이 결정합니다. canonical 정리와 색인 요청은 '제대로 평가받을 기회를 만드는 작업'으로 이해하는 것이 정확합니다.
자주 묻는 질문
Q. 중복 콘텐츠가 있으면 구글에서 페널티를 받나요?
구글은 단순히 내용이 중복됐다는 이유만으로 부과하는 별도의 페널티는 없다고 설명해 왔습니다. 다만 검색 엔진이 여러 URL 중 하나만 대표로 골라 노출하기 때문에, 내가 원한 주소가 아닌 URL이 노출되거나 외부 링크 같은 평가 신호가 흩어지는 손해가 생길 수 있습니다. 그래서 canonical로 대표 URL을 직접 지정하는 것이 좋습니다.
Q. canonical과 301 리디렉션 중 무엇을 써야 하나요?
둘 다 변형 URL을 대표로 모으는 역할을 하지만 방식이 다릅니다. 301 리디렉션은 변형 주소로 접속한 사용자를 대표 주소로 실제로 넘겨버리므로 도메인·프로토콜 통합(www/비www, http/https)에 적합합니다. canonical은 변형 URL을 그대로 열어두고 '대표는 여기'라는 신호만 주는 방식으로, 추적 파라미터가 붙은 주소처럼 페이지를 살려둬야 하는 경우에 적합합니다.
Q. 네이버 블로그에서는 canonical을 설정할 수 없는데 어떻게 하나요?
네이버 블로그는 글 HTML을 직접 수정할 수 없어 canonical 태그를 넣을 수 없습니다. 대신 같은 글을 거의 복사해 여러 편 올리지 않고, 글마다 고유한 정보를 담는 것이 현실적인 대응입니다. 같은 글을 자체 사이트 등 다른 플랫폼에 재발행한다면, canonical을 설정할 수 있는 쪽에서 원본을 가리키게 해 평가를 한 곳으로 모을 수 있습니다.
Q. canonical을 모든 페이지가 홈을 가리키게 설정하면 안 되나요?
안 됩니다. 내용이 다른 개별 글들이 모두 홈을 canonical로 가리키면, 검색 엔진은 그 글들을 홈과 같은 페이지로 묶어 색인에서 제외할 수 있습니다. canonical은 '같은 내용'을 묶을 때만 사용하고, 내용이 다른 페이지는 각자 자기 자신을 가리키는 자기 참조 canonical을 쓰는 것이 원칙입니다.
관련 글 더 보기
- 내부 링크 전략, 크롤러가 내 글을 발견하게 만드는 법— 내부 링크가 크롤러의 페이지 발견과 색인에 미치는 영향, 링크 권위 전달...
- 메타태그 완벽 가이드, 검색 결과에서 내 페이지가 보이는 방식을 결정하는 태그— title, description, OG 태그 등 검색 엔진과 SNS에서...
- 구글 색인이 안 될 때 확인할 원인 7가지와 해결법— 색인 요청을 했는데 안 되거나, 갑자기 색인이 풀리는 경우의 원인을 정리...