포스트메이트
블로그/SEO/디지털마케팅

키워드 카니발라이제이션 진단부터 해결까지 서치콘솔로 실측하는 방법

노트북 화면에 구글 검색 결과 페이지가 표시된 모습

블로그를 1~2년 운영하다 보면 어느 순간 특정 키워드 순위가 오르다 내리다를 반복하는 걸 발견하게 된다. 분명 괜찮은 글인데 3개월째 10~13위에서 꿈쩍도 안 한다면, 내 다른 글이 경쟁자일 수 있다.

키워드 카니발라이제이션(keyword cannibalization)은 같은 사이트의 복수 페이지가 동일한 검색 의도를 두고 서로 경쟁하는 현상이다. 외부 경쟁자가 아니라 내 글끼리 싸우는 상황이라 더 골치 아프다. 한국어로 된 가이드 대부분이 "비슷한 글이 있으면 합치거나 삭제하라"고 하는데, 무턱대고 지웠다가 멀쩡하던 트래픽을 날린 사례가 실제로 많다.

중요한 건 순서다. 실제로 경쟁이 일어나고 있는지 서치콘솔 데이터로 먼저 확인하고, 그다음에 상황에 맞는 처리 방법을 고르는 것. 이 글에서는 그 진단 흐름 3단계와 처리 방식별 선택 기준을 실전 비교표로 정리한다.


키워드 카니발라이제이션이 순위에 미치는 피해

검색엔진 입장에서 같은 질문에 답하는 페이지가 두 개 이상이면 어느 쪽을 올릴지 판단하기 어려워진다. 결국 둘 다 어중간한 순위에 배치되거나, 매일 다른 URL을 올리는 순위 진동이 반복된다.

피해 구조를 정리하면 세 가지다.

첫째, 순위 신호 분산. 백링크·내부링크·클릭 데이터가 두 페이지로 갈라져 어느 쪽도 충분한 권위를 쌓지 못한다. 하나로 모았더라면 상위권에 들었을 신호가 희석된다.

둘째, 순위 진동. 구글이 어느 URL을 인덱싱할지 결정하지 못해 A글과 B글이 번갈아 순위에 오르내린다. 특히 6~15위 구간에서 장기 정체로 나타나는 경우가 많다. 이 구간에 오래 물려 있으면 클릭이 거의 없어 데이터도 쌓이지 않는 악순환이 된다.

셋째, CTR 분산. 같은 키워드로 두 URL이 동시에 노출되면 클릭이 나뉘고, 결국 둘 다 클릭률이 낮아진다. 구글 알고리즘은 CTR도 신호로 활용하기 때문에 중장기적으로 순위에도 영향을 준다.

한 가지 주의할 점이 있다. 키워드가 겹쳐도 검색 의도가 다르면 카니발라이제이션이 아니다. "블로그 수익화 방법"이라는 키워드를 공유하는 두 글이라도, 하나는 애드센스 세팅 입문 가이드고 다른 하나는 1인 마케터용 협찬 전략이라면 의도가 달라 경쟁하지 않는다. 진단에 앞서 이 의도 일치 여부를 먼저 따지는 이유다.


서치콘솔 3단계 진단 흐름 🔍

카니발라이제이션 여부는 추측이 아니라 서치콘솔 데이터로 확인한다. 아래 세 단계를 순서대로 밟으면 된다.

1단계 — 쿼리별 노출 URL 확인

구글 서치콘솔 → 성과(Performance) → 검색결과 탭에서 날짜 범위를 최소 3개월 이상으로 설정한다. 짧은 기간에는 일시적 변동과 구분하기 어렵다.

  1. 상단 필터에서 쿼리(Query) 탭을 선택하고, 확인하고 싶은 키워드를 입력해 필터를 건다.
  2. 아래 테이블에서 페이지(Pages) 탭으로 전환한다.
  3. 같은 쿼리에 대해 두 개 이상의 URL이 노출수(Impressions)를 나누고 있으면 경쟁 가능성이 있다.

체크포인트: 노출수 비중이 비슷하게 나뉠수록 경쟁이 심하다는 신호다. 한 URL이 노출의 90% 이상을 차지하고 나머지가 5% 미만이라면 실질적 경쟁보다는 자연스러운 크롤 노이즈일 수 있다.

2단계 — 순위 진동 패턴 확인

1단계에서 복수 URL이 감지됐다면, 각 URL의 평균 게재순위(Average Position) 추이를 기간별로 비교한다.

  • URL A와 URL B의 순위가 30~90일 구간에서 서로 교차하며 오르내리는 패턴 → 진짜 카니발라이제이션 신호
  • 한 URL이 일관되게 1~5위를 유지하고 다른 URL이 20위 이하에 머문다 → 경쟁이 아니라 자연스러운 주제 분화일 가능성이 크다

순위가 교차한다는 건 구글이 우선 URL을 결정하지 못했다는 뜻이다. 이 상태에서는 어느 쪽도 상위 5위권에 안착하기 어렵다.

3단계 — 클릭·노출 규모로 살릴 글 결정

진단 결과 카니발라이제이션이 맞다면, 두 글 중 어느 쪽을 메인으로 살릴지 결정한다.

  • 클릭 수가 더 많은 URL 또는 외부 백링크가 더 집중된 URL을 메인 글로 지정한다.
  • 노출수는 많지만 CTR이 낮은 URL은 제목·메타 설명 경쟁력이 약한 것이므로, 단순히 노출 규모만 보지 않는다.
  • 두 글이 비슷한 규모라면 최근성(더 최신 정보를 담은 글)과 내부링크 집중도를 함께 고려한다.

처리 방식을 결정하는 세 가지 변수

진단이 끝난 뒤 "어떤 방법을 쓸까"를 고르기 전에, 먼저 아래 세 가지 변수를 확인해야 한다. 이 변수 조합이 처리 방식을 결정한다.

변수 A — 백링크·클릭이 한쪽에 몰려 있는가 서치콘솔에서 클릭 수가 압도적으로 많은 URL이 있거나, 외부 백링크가 어느 한 URL에 집중돼 있다면 "살릴 URL"이 명확한 상태다. 이 경우 나머지 글의 처리(통합·리디렉션)가 쉽다. 반면 두 URL이 클릭·백링크 모두 비슷하게 나뉘어 있다면 살릴 글을 먼저 정해야 하고, 그 결정이 이후 방법 선택에 영향을 준다.

변수 B — 두 글의 콘텐츠가 독립적인 가치를 가지는가 같은 검색 의도를 다루더라도 한 글은 초보용 개요, 다른 글은 심화 실전 가이드라면 검색자에게 각각 다른 가치를 제공한다. 독립 가치가 있으면 합치는 것보다 키워드를 재분배해 경쟁을 피하는 편이 낫다. 독립 가치가 없다면(거의 같은 내용, 비슷한 깊이) 통합이 정답이다.

변수 C — 중복이 의도적 기획인가, 기술적 부산물인가 페이지네이션, URL 파라미터(?sort=, ?ref=), 필터 조합으로 생기는 중복은 의미 있는 콘텐츠 결정이 필요 없다. 기술적 수단(canonical·noindex)으로 색인만 정리하면 된다. 반면 직접 기획·발행한 두 글이 경쟁한다면 콘텐츠 수준의 결정(통합·재배치·리디렉션)이 필요하다.


변수 조합으로 보는 처리 방식 선택표

세 변수를 먼저 파악하면 아래 표에서 처리 방법을 바로 찾을 수 있다.

변수 A (살릴 URL 명확?) 변수 B (독립 가치?) 변수 C (중복 유형) 선택할 처리 방식
명확 (한쪽에 클릭·백링크 집중) 없음 (내용·깊이 유사) 의도적 기획 콘텐츠 통합 + 301 리디렉션
명확 없음 기술적 부산물 canonical 태그 (파라미터·필터 URL)
불명확 (비슷하게 나뉨) 있음 (세부 타겟 다름) 의도적 기획 키워드 재배치 — 경쟁 키워드를 분리
불명확 없음 의도적 기획 클릭 높은 쪽을 살릴 글로 정한 뒤 통합
해당 없음 해당 없음 기술적 부산물 (태그·카테고리 등) noindex — 검색 유입이 불필요한 URL

이 표의 핵심은 처리 방식이 "어떤 기능을 가졌냐"가 아니라 내 상황의 변수 조합에서 결정된다는 것이다. canonical이 301보다 약한 도구인 것은 맞지만, 기술적 중복 URL에 301을 쓰면 구조가 불필요하게 복잡해진다. noindex가 극단적 방법처럼 느껴지지만, 검색 유입이 목적이 아닌 관리용 URL에는 오히려 깔끔하다.


방법별 적용 절차와 주의사항

콘텐츠 통합 + 301 리디렉션 (변수 A 명확 + 변수 B 독립가치 없음)

가장 흔한 케이스다. 백링크·클릭이 한쪽에 몰려 있고, 두 글이 내용상 비슷하다면 여기서 출발한다.

  1. 3단계 진단으로 살릴 글(강한 URL) 을 정한다.
  2. 약한 글의 핵심 정보 중 강한 글에 없는 내용을 추출해 강한 글에 흡수시킨다.
  3. 약한 글 URL에 301 리디렉션을 설정해 강한 글 URL로 연결한다.
  4. 서치콘솔에서 강한 글 URL로 색인 요청(URL 검사 → 색인 생성 요청) 을 보낸다.
  5. 3~4주 후 서치콘솔에서 통합된 URL의 순위·노출 변화를 확인한다.

구글 공식 문서에 따르면 301 리디렉션은 중복 URL을 통합하기 위한 강력한 신호(strong signal)로 권장하는 방법이다. 재크롤링까지 수 주 걸리니, 통합 직후 순위가 잠깐 흔들려도 바로 원복하지 말고 지켜보는 게 맞다.

한 가지 함정이 있다. 글을 합쳤는데 트래픽이 떨어졌다면 대부분 301 리디렉션을 누락했거나, 약한 글로 향하는 인바운드 백링크를 새 URL로 연결하지 못한 경우다. 통합 직후 서치콘솔 색인 요청은 필수이고, 주요 외부 링크도 갱신 요청하는 것이 좋다.

canonical 태그 적용 (변수 C 기술적 부산물)

기술적으로 생성된 중복 URL(파라미터·필터 조합 등)에 적합하다. HTML <head> 태그 안에 아래 한 줄을 추가한다.

<link rel="canonical" href="https://yourdomain.com/강한글-url/" />

절대 경로(absolute URL)를 사용하고, canonical이 가리키는 URL은 실제로 접근 가능해야 한다. canonical은 힌트이지 명령이 아니다. 두 글의 내용이 상당히 다르거나 약한 글로 향하는 외부 링크가 많으면 Google이 canonical을 무시할 수 있다. 이 경우엔 301 리디렉션으로 전환하거나 약한 글을 noindex 처리하는 방향을 검토한다. 강한 신호가 필요한 상황이라면 canonical보다 301 리디렉션이 우선이다.

키워드 재배치 적용 (변수 B 독립 가치 있음)

두 글이 세부 타겟이나 깊이가 달라 각자 살릴 수 있다면 합치는 대신 경쟁 키워드를 분리한다.

  1. 약한 글의 제목·H1·메타 설명에서 경쟁 키워드를 제거하고, 다른 세부 키워드로 교체한다.
  2. 본문 첫 문단에서 핵심 키워드 배치를 수정한다.
  3. 내부링크를 재점검해 약한 글로 연결된 앵커 텍스트도 새 키워드 방향으로 수정한다.
  4. 서치콘솔에서 두 URL 모두 색인 요청 후 수 주간 모니터링한다.

재배치 후 순위 안정까지 시간이 더 걸린다는 점을 감수해야 한다. 다만 두 글 모두 다른 의도로 잘 잡혀 있다면 굳이 건드릴 필요가 없다. 순위가 교차하지 않고 안정적이면 카니발라이제이션이 아닐 가능성이 크다.


새 글 기획 단계에서 카니발라이제이션 예방하기

사후 처리보다 기획 단계에서 막는 쪽이 훨씬 낫다. 글을 새로 쓰기 전에 세 가지를 확인하는 습관을 들이면 된다.

  • 서치콘솔에서 타겟 키워드로 이미 노출 중인 내 글이 있는가
  • 기존 글의 검색 의도와 새 글의 의도가 같은가 (같으면 기존 글을 업데이트하는 쪽이 낫다)
  • 구글에서 site:yourdomain.com "키워드" 검색으로 중복 후보를 미리 점검한다

블로그가 글 50편 이상이 되면 콘텐츠 인벤토리를 스프레드시트로 관리하는 것이 현실적이다. 글 URL·타겟 키워드·검색 의도를 한 줄씩 정리해 두면 새 주제 기획 때 중복 여부를 빠르게 확인할 수 있다. 주기적 점검은 분기 1회 정도가 적당하다. 서치콘솔 성과 탭에서 날짜 범위를 3개월로 놓고, 복수 URL에 노출이 분산된 쿼리가 있는지 훑는 것만으로 조기 발견이 가능하다.


키워드 카니발라이제이션은 사실 꼼꼼히 글을 써온 블로거일수록 자주 만나는 문제다. 열심히 쌓아온 글들이 서로 발목을 잡는 상황이니 억울할 수도 있는데, 서치콘솔 데이터로 실제 경쟁 여부부터 따진 다음 처리 방식을 고르면 생각보다 깔끔하게 풀린다. 진단 없이 무조건 합치거나 삭제하는 건 오히려 득보다 실이 크다는 점만 기억해 두자.


참고자료

이 글이 도움이 됐나요?

여러분의 반응이 다음 글의 방향이 돼요

이어서 읽기 좋은 글