sgkstudio.
엔지니어링

SEO 카니발라이제이션 — 18편이 순위를 나눠 먹는다는 진단이 틀렸다

SEO 카니발라이제이션을 원인으로 지목했다가 집행 직전에 되돌렸다. 서비스 소개 글 89편의 28일 노출은 82건, 클릭은 2건이었고 같은 기간 세무 정보 글 12편은 202건으로 편당 16.8건이었다. 격차의 원인을 '같은 검색어를 노린 18편이 서로 순위를 갉아먹는다'로 봤는데, 검색어별로 다시 뽑아 보니 노리던 검색어에서 노출이 0건이었다. 나눠 먹으려면 일단 그 자리에 나타나야 한다.

2026-09-08처음 잰 숫자 — 서비스 소개 글 89편 전체가 구글 서치 콘솔 28일 노출 82건·클릭 2건. 같은 기간 세무 정보 글 12편은 202건으로 편당 16.8건반증된 가설 — 같은 대표 검색어를 노린 18편의 SEO 카니발라이제이션. 페이지×검색어로 다시 뽑으니 월 2,840회짜리 목표 검색어에서 노출 0건, 보이는 유일한 홈페이지 검색어는 52위 하나였다진짜 원인 — 콘텐츠 품질이 아니라 자리 선택. 페이지 평균순위 3~9위는 노출 1~3건짜리 극희소 검색어들의 평균이었다조치 — 통합 보류(되돌리는 데 수 주가 드는 조치를 반증된 전제 위에서 집행하지 않는다), 발행 관문 2종(대표 검색어당 5편 상한·월간 검색량 300회 하한) 신설로 통과 클러스터 15개에서 3개, 제목 틀 3종 분화로 같은 서명 100% 해제. 387번 변경

증상 — 89편을 쌓았는데 28일 노출이 82건이었다

우리 홈페이지에는 두 종류의 글이 매일 자동으로 올라간다. 하나는 세무·노무 같은 정보 글이고, 다른 하나는 홈페이지 제작·AI 챗봇·업무 자동화처럼 우리가 파는 서비스 검색어를 노리고 쓰는 소개 글이다. 뒤쪽이 매출과 가까운 축이라 발행량도 그쪽에 더 실었다.

그런데 구글 서치 콘솔 28일 집계를 열면 숫자가 반대로 나왔다. 서비스 소개 글은 89편이 쌓여 있는데 그 89편 전체의 노출이 82건, 클릭이 2건이었다. 같은 기간 세무 정보 글은 12편뿐인데 노출 202건, 편당 16.8건이었다.

구글 서치 콘솔 28일 노출 건수 막대그래프. 서비스 소개 글은 89편 합계 82건, 세무 정보 글은 12편 합계 202건
편수는 일곱 배 넘게 차이 나는데 노출은 반대로 뒤집혀 있다 — 여기서 '많이 쓰는 것'이 답이 아니라는 게 먼저 보였다

숫자를 처음 본 자리에서 떠오르는 설명은 두 가지다. 글이 나쁘거나, 글끼리 부딪히거나. 서비스 소개 글은 같은 주제로 계속 찍어 냈기 때문에 뒤쪽 설명이 자연스러워 보였다.

이런 상태는 실패처럼 보이지 않아서 늦게 발견한다. 발행은 매일 정상으로 끝나고 편수는 꾸준히 올라간다. 화면에서 꺼지는 초록불도 없고 줄어드는 숫자도 없다. 다만 노출만 안 늘어난다.

처음 의심한 것 — 같은 검색어를 노린 18편이 서로를 밀어낸다

2026년 8월 25일 진단은 부진의 2차 요인으로 SEO 카니발라이제이션을 지목했다. 같은 대표 검색어를 노린 글이 18편까지 쌓였으니 검색엔진이 어느 편을 올릴지 정하지 못하고, 그 사이에 순위가 잘게 나뉜다는 그림이다.

이 설명은 그럴듯했다. 실제로 18편은 제목도 서로 닮아 있었고, 다루는 각도만 조금씩 달랐다. 그래서 진단은 곧바로 처방까지 붙였다. 대표 글 1편을 세우고 나머지 17편에는 원본 표시를 걸어, 검색엔진 눈에는 한 편만 남기는 통합이다.

이 현상이 실제로 일어나면 데이터에 자국이 남는다. 사람이 많이 치는 검색어 하나 아래에 자사 글 여러 편이 낮은 순위로 늘어서고, 어제는 이 글이 걸렸다가 오늘은 저 글이 걸리는 식으로 대표 페이지가 흔들린다. 그러니까 이 진단은 확인할 방법이 분명한 진단이다. 그 검색어를 열어 몇 편이 몇 위에 걸려 있는지 세면 된다.

원본 표시는 '이 글의 원본은 저쪽'이라고 검색엔진에 알려 주는 표식이다. 걸어 두면 나머지 글의 평가가 대표 글 쪽으로 모인다. 대신 검색엔진이 그 관계를 다시 읽고 색인을 갱신하기까지 몇 주가 걸리고, 그동안 원래 순위가 있던 글은 자리를 잃는다.

  • 가설: 같은 대표 검색어를 노린 18편이 서로 순위를 나눠 먹는다
  • 처방: 대표 글 1편 + 나머지 17편 원본 표시 통합
  • 비용: 색인 갱신에 수 주, 그 사이 기존 순위는 되돌리지 못한다

무엇으로 확인했나 — 페이지별 요약을 검색어별로 다시 뽑았다

되돌리는 데 몇 주가 드는 조치라 집행 전에 전제만 한 번 확인하기로 했다. 쓴 도구는 새로 만든 게 없다. 구글 서치 콘솔에서 28일 데이터를 페이지별 요약이 아니라 페이지와 검색어를 짝지은 조합으로 내려받았다.

이 구분이 이 글의 전부다. 페이지별 요약은 '이 글이 평균 몇 위였나'만 알려 준다. 페이지와 검색어를 짝지어 놓으면 '이 글이 어떤 말로 검색됐을 때 몇 위였나'가 보인다. 카니발라이제이션은 검색어 하나를 두고 벌어지는 일이라, 검색어 축이 없으면 애초에 관측할 수 없는 현상이다.

확인할 것은 하나였다. 우리가 노린 대표 검색어에서 18편이 실제로 몇 위에 몇 번씩 걸리고 있는가. 나눠 먹기가 사실이라면 그 검색어 아래에 여러 편이 낮은 순위로 늘어서 있어야 한다.

집행 전에 정한 판정 기준
뽑아 본 것가설이 맞다면실제로 나온 값
목표 검색어 아래 걸린 자사 글 편수여러 편이 낮은 순위로 늘어선다한 편도 없음
목표 검색어 노출 건수적어도 몇십 건은 잡힌다0건
보이는 홈페이지 검색어대표 검색어 주변「홈페이지 제작 단가표」 52위 하나

가설을 죽일 수 있는 값을 먼저 적어 두고 데이터를 뽑았습니다. 이 표를 미리 안 쓰면 어떤 결과가 나와도 원래 결론 쪽으로 읽게 됩니다.

새 도구는 만들지 않았다. 매일 보던 화면에서 축 하나를 바꿔 내려받았을 뿐이고 걸린 시간은 몇 분이었다. 몇 주짜리 조치를 앞둔 확인 비용치고는 싸다.

알리바이 ① — 노리던 검색어의 노출이 0건이었다

결과는 늘어선 목록이 아니라 빈 칸이었다. 우리가 노린 대표 검색어 「홈페이지제작업체」는 월간 검색량이 2,840회인데, 28일 동안 그 검색어로 잡힌 노출이 0건이었다. 18편 중 한 편도 그 자리에 나타나지 않았다.

나눠 먹으려면 일단 그 검색어 결과에 나타나야 한다. 아무도 도달하지 못한 자리에서는 서로 갉아먹을 순위 자체가 없다. 가설이 여기서 죽었다.

빈 칸은 해석의 여지가 좁아서 좋다. 순위가 낮게 나왔다면 '조금만 더 다듬으면'이라는 여지가 남는다. 노출이 0건이면 그 여지가 없다. 검색엔진이 우리 글을 그 질의의 후보로 아예 세지 않았다는 뜻이고, 그 상태에서 글끼리 순위를 나눠 먹을 방법은 없다.

목표 검색어 관련 수치 카드 세 개. 「홈페이지제작업체」 월간 검색량 2,840회, 그 검색어로 잡힌 28일 노출 0건, 보이는 유일한 홈페이지 검색어는 「홈페이지 제작 단가표」 52위
노린 자리에서 노출이 0건이면 그 자리에서 벌어지는 어떤 경쟁도 우리 일이 아니다

홈페이지 쪽에서 보이는 검색어가 하나 있기는 했다. 「홈페이지 제작 단가표」였고 평균순위는 52위였다. 검색 결과 다섯 번째 페이지 언저리라 사람 눈에 닿는 자리가 아니다.

알리바이 ② — 평균순위 3~9위는 왜 믿을 수 없었나

같은 데이터에는 반대 방향으로 읽히는 숫자도 있었다. 페이지 단위로 보면 이 글들의 평균순위가 3위에서 9위 사이였다. 첫 페이지 상단이다. 이 숫자만 보면 글은 잘 하고 있고 남은 문제는 미세 조정뿐인 것처럼 읽힌다.

그 평균이 무엇의 평균인지 열어 보면 뒤집힌다. 순위를 만든 검색어들은 대부분 28일 동안 노출이 1건에서 3건씩만 잡힌 극희소 검색어였다. 한 달에 두어 번 검색되는 긴 문장 질의에서 3위를 한 것이고, 그런 자리를 여러 개 모아도 총 노출은 82건에 머문다.

보이는 지표와 그 안에 섞인 것을 비교한 표. 페이지 평균순위 3~9위는 노출 1~3건짜리 극희소 검색어의 평균, 목표 검색어 노출은 0건, 28일 총 노출은 89편 합계 82건
같은 데이터가 페이지 축에서는 '잘하고 있다'로, 검색어 축에서는 '그 자리에 없다'로 읽힌다

평균순위는 잘 속는 지표다. 사람이 거의 안 치는 말에서 상위에 걸릴수록 평균이 좋아지고, 사람이 많이 치는 말에서 아예 안 걸리면 그 실패는 평균에 들어가지도 않는다. 노출이 0건인 검색어는 평균을 계산할 행 자체가 없기 때문이다.

진짜 원인 — 글의 품질이 아니라 자리 선택이었다

두 알리바이를 합치면 그림이 하나로 모인다. 89편은 서로 부딪혀서 밀린 게 아니라, 사람이 실제로 검색하는 자리에 처음부터 서 본 적이 없다. 문장을 다듬거나 편수를 늘려서 움직일 축이 아니었다.

이 결론은 며칠 앞서 같은 데이터에서 나온 판정과 정확히 겹친다. 노출이 안 붙는 원인을 콘텐츠 중복으로 봤다가 검색광고 입찰가로 바로잡은 기록이 SEO 콘텐츠 노출이 안 붙은 원인에 있다. 그때 확인한 것도 같은 문장이었다. 문제는 우리가 무엇을 쓰느냐가 아니라 어느 자리를 고르느냐였다.

같은 파이프라인에서 다른 종류의 착시를 만난 적도 있다. 후보는 쌓이는데 결과물이 한 편도 안 나오던 때의 기록이 콘텐츠 자동화 파이프라인 0편에 있다. 그때도 눈에 보이는 지표는 전부 살아 있었고, 실제로 세어 봐야 하는 층은 화면에 없던 층이었다.

여기서 스스로 경계한 지점이 하나 있다. 통합이라는 처방은 이미 준비돼 있었고, 근거만 '내부 링크 권위를 대표 글 한 곳에 모은다'로 바꾸면 그대로 집행할 수 있었다. 그렇게 하지 않았다. 결론을 먼저 정해 놓고 근거를 갈아 끼우는 일이기 때문이다. 게다가 그 근거였다면 대상이 하필 18편일 이유도 없다.

  • 안 1 — 지시대로 통합한다: 보류. 통합의 명시 근거가 카니발라이제이션인데 그것이 관측되지 않는다
  • 안 2 — 통합하되 근거를 내부 링크 권위 집중으로 바꾼다: 기각. 근거를 사후에 갈아 끼우는 일이고, 그 근거라면 대상 범위가 달라져야 한다
  • 안 3 — 발행 관문을 먼저 세우고 통합 여부는 회사 대표 판단으로 올린다: 채택

고친 방법 ① — 되돌릴 수 없는 쪽의 기대손실을 먼저 셌다

통합을 멈추면 18편이 색인에 그대로 남는다. 남겨서 잃는 몫은 사실상 없다. 이 글들의 현재 노출이 16건이라 갉아먹을 몫 자체가 작다. 미루는 대상은 통합으로 얻었을지 모를 권위 집중 효과 하나뿐이다.

반대로 통합했다가 전제가 틀렸으면 잃는 쪽이 구체적이다. 극희소 검색어에서나마 첫 페이지에 걸려 있던 13편의 순위가 원본 표시에 밀려 사라지고, 색인이 다시 정리되기까지 몇 주 동안 되돌릴 방법이 없다.

통합을 보류했을 때와 집행했다가 틀렸을 때의 비교 카드. 보류 시 색인에 남는 글의 현재 노출 16건, 집행 후 오판 시 잃는 첫 페이지 롱테일 13편, 색인 갱신 대기 수 주
매출이 아직 0인 구간에서는 되돌릴 수 없는 쪽의 기대손실이 크다 — 판단이 반반이면 가역 쪽으로 기운다

매출이 아직 붙지 않은 구간에서 이 비교는 한쪽으로 기운다. 얻을 몫은 불확실하고 작은 반면, 틀렸을 때의 손실은 확실하고 몇 주짜리다. 그래서 통합은 집행하지 않고 회사 대표가 판단할 항목으로 남겼다.

고친 방법 ② — 19편째가 만들어지지 않게 하는 발행 관문 2종

멈추기만 하면 같은 상태가 유지될 뿐이다. 이미 쌓인 18편을 어떻게 할지와 별개로, 내일 자동 발행이 19편째를 찍어 내는 것은 지금 막을 수 있다. 그래서 글을 만드는 쪽에 관문 두 개를 넣었다.

첫째는 편수 상한이다. 같은 대표 검색어를 노린 글이 이미 5편 있으면 그 검색어로는 더 만들지 않는다. 둘째는 검색량 하한이다. 월간 검색량이 300회에 못 미치는 자리는 후보에서 뺀다. 아무도 안 치는 말에서 1위를 해도 사람은 오지 않는다.

발행 관문 두 종과 적용 결과 표. 대표 검색어당 편수 상한 5편으로 19편째 차단, 월간 검색량 하한 300회로 이길 수 없는 자리 차단, 통과 클러스터는 15개에서 3개로 감소
관문은 만들어진 글을 지우지 않는다 — 만들어지기 전에 후보에서 빼는 자리에 걸었다

이 두 관문을 기존 후보 목록에 적용하니 통과하는 주제 묶음이 15개에서 3개로 줄었다. 홈페이지·AI 챗봇·업무 자동화 묶음이 전부 막혔다. 우리가 가장 팔고 싶은 세 가지가 통째로 걸린 셈인데, 그게 바로 이번에 확인한 사실이다. 팔고 싶은 자리와 지금 이길 수 있는 자리가 다르다.

관문을 후보 목록 단계에 건 이유도 같다. 이미 발행한 글을 지우는 조치는 되돌리기 어렵지만, 후보에서 빼는 조치는 기준 한 줄만 되돌리면 끝난다. 값이 싼 쪽부터 집행한다.

고친 방법 ③ — 제목 100%가 같은 서명을 달고 있었다

검색어 축을 열어 본 김에 제목도 세어 봤다. 자동 발행 글의 제목이 전부 같은 틀에서 나오고 있었다. 가운데에 붙임표를 넣는 형태가 100%, 끝에 연도를 괄호로 다는 형태가 100%였다.

한 사이트의 글 수십 편이 글자 단위로 같은 서명을 달고 있으면, 사람 눈에도 기계 눈에도 한 틀에서 찍어 낸 묶음으로 읽힌다. 그래서 제목 틀을 3종으로 갈라 서명을 풀었다.

이건 순위를 올리려고 한 조치가 아니다. 위에서 확인한 대로 지금 우리 문제는 순위가 아니라 자리 선택이다. 다만 자리를 옳게 고른 뒤에도 같은 서명이 남아 있으면 그때 가서 별도 원인이 되므로, 값이 싼 지금 치웠다.

같은 실수를 막는 장치 — 집행 전에 전제를 한 번 잰다

이번에 실제로 위험했던 것은 틀린 가설 자체가 아니다. 가설과 처방이 한 문서 안에 붙어 있었고, 그 처방이 되돌리는 데 몇 주가 드는 종류였다는 점이다. 전제를 확인하는 데 든 시간은 데이터 한 번 내려받는 정도였다.

그래서 규칙을 하나로 줄였다. 되돌리는 데 시간이 드는 조치는, 그 조치의 명시 근거가 관측 가능한 형태인지 먼저 확인하고 집행한다. 관측 가능한 형태란 '어떤 데이터를 어떻게 뽑으면 이 가설이 틀렸다고 나오는가'에 답할 수 있다는 뜻이다. 이번 경우 그 답은 '노린 검색어에서 노출이 0건이면 나눠 먹기는 없다'였고, 실제로 0건이 나왔다.

자동 발행 쪽에는 관문 두 개가 남았다. 사람이 매번 기억해서 거르는 대신, 같은 자리에 19편째를 만들려는 시도가 후보 단계에서 걸린다. 이번 변경은 387번 변경으로 들어갔고, 통합 여부는 아직 열려 있는 판단 항목이다.

이 기록을 남기는 이유는 결론이 깔끔해서가 아니다. 반대다. 처방이 먼저 서 있었고 데이터는 나중에 뽑았다. 순서가 그랬다는 사실을 지우면 다음번에도 같은 순서로 간다.

  • 되돌리는 데 수 주가 드는 조치는 집행 전에 명시 근거를 한 번 관측한다
  • 근거가 관측되지 않으면 근거를 갈아 끼우지 않고 조치를 멈춘다
  • 이미 쌓인 것을 지우기 전에, 같은 것이 더 쌓이는 입구부터 막는다

검색 노출이 안 붙어서 글을 더 쓸지 기존 글을 정리할지 고민하고 있다면, 페이지별 순위 화면을 닫고 검색어별로 한 번 뽑아 보길 권한다. 노리던 말에서 노출이 0건이라면 그 위에 세운 진단은 대부분 다시 봐야 한다. 회사 콘텐츠에서 어느 자리를 먼저 잡아야 하는지 같이 보고 싶다면 상담으로 알려 주시면 된다. 이 글은 SGK Studio가 썼습니다.

같은 방식으로 우리 업무를 재보고 싶다면

이 글에 쓴 계측·판정·자동화는 저희가 실제로 매일 돌리는 방식 그대로입니다. 어떤 작업을 자동화할 수 있고 어디를 사람이 잡아야 하는지, 현재 업무 흐름을 놓고 같이 짚어 드립니다.

새 글이 올라오면 알려 드립니다

이런 계측 기록을 새로 쓰면 메일로 한 통 보냅니다. 광고나 판촉은 보내지 않습니다.