증상 — 한 검색어에 우리 글이 29편, 클릭은 0건이었다
홈페이지 제작을 주제로 쓴 글이 사이트에 137편 실려 있습니다. 그 가운데 제목이 「홈페이지제작업체」라는 같은 말로 시작하는 글이 29편까지 늘었습니다. 한 회사가 한 검색어를 놓고 스물아홉 번 답을 쓴 셈입니다.
28일 치 검색 성과 리포트에서 사이트 전체 클릭은 16건이었습니다. 나중에 실제로 묶은 4편만 따로 보면 28일 노출이 각각 2건 이하, 클릭은 0건이었습니다. 검색 결과에 잠깐 얼굴만 비추고 아무도 누르지 않는 상태입니다.
이런 그림 앞에서는 대개 설명 하나가 먼저 떠오릅니다. 같은 검색어를 노린 글이 너무 많아 서로 순위를 나눠 먹는다는 설명입니다. 저희도 거기서 출발했습니다.
처음 의심한 것 — 29편이 서로 순위를 갉아먹는다
첫 가설은 단순했습니다. 「홈페이지제작업체」로 시작하는 29편이 서로 신호를 흩뜨리고 있으니, 대표 한 편만 남기고 나머지 28편에 canonical 태그를 붙여 신호를 한곳에 모으면 순위가 올라온다는 것입니다.
canonical 태그를 쓰면 페이지가 사라지지 않습니다. 주소는 그대로 살아 있고 사람이 들어가면 글도 그대로 보입니다. 다만 검색엔진은 그 페이지 대신 대표로 지정한 쪽을 검색 결과에 내보냅니다. 삭제보다 부담이 훨씬 적어서 정리 수단으로 자주 씁니다.
가설이 그럴듯했다는 점이 오히려 위험했습니다. 그럴듯한 설명은 확인 단계를 건너뛰게 만듭니다. 저희는 같은 자리에서 한 번 데인 적이 있습니다 — 서비스 소개 글 18편이 순위를 나눠 먹는다는 진단도 집행 직전에 뒤집혔습니다. 그때 남긴 규칙은 하나입니다. 통합 대상을 세는 방식부터 의심한다.
무엇으로 확인했나 — 제목 대신 편별 성과와 발행일을 열었다
가설을 확인하는 데 쓴 자료는 셋입니다.
- 28일 치 검색 성과 리포트 — 편별 노출·클릭·평균 순위
- 편별 발행일 — 발행 후 21일이라는 판정 하한과 대조
- 각 편이 실제로 노리는 검색어 — 29편을 한 편씩 열어 사람이 읽고 판단
세 번째가 품이 가장 많이 듭니다. 기계로 셀 수 없기 때문입니다. 제목 앞부분이 같은지는 1초면 세지만, 두 글이 같은 검색어를 노리는지는 사람이 읽어야 압니다. 29편을 한 편씩 열었고, 가설은 거기서 깨졌습니다.
21일이라는 숫자는 저희가 정해 둔 판정 하한입니다. 발행하고 그보다 짧은 기간의 노출과 클릭은 색인이 자리를 잡는 중이라 성과로 읽지 않습니다. 이 하한이 뒤에서 19편의 운명을 갈랐습니다.
확인 순서도 바꿨습니다. 처음에는 목록을 먼저 만들고 그 목록이 맞는지 훑어볼 참이었는데, 그러면 이미 정해진 답을 확인하는 절차가 됩니다. 그래서 목록을 지우고 29편을 성과·발행일·검색 의도 세 축으로 다시 분류했습니다. 같은 29편인데 축을 바꾸자 한 덩어리가 넷으로 갈라졌습니다.
알리바이 하나 — 29편 중 한 편은 이미 평균 3.7위였다
첫 번째로 걸린 편은 유지보수 범위를 다룬 글입니다. 28일 노출 3건, 클릭 1건, 평균 순위 3.7위였습니다.
숫자만 떼어 놓고 보면 초라합니다. 클릭 1건입니다. 그런데 같은 기간 사이트 전체 클릭이 16건이었습니다. 열여섯 중 하나가 이 글에서 나왔습니다. 비중으로 보면 이 편은 이미 일하고 있었습니다.

평균 3.7위는 검색 결과 첫 화면 위쪽 자리입니다. 여기에 canonical 태그를 붙이면 이 주소는 결과에서 빠지고, 신호는 아직 아무 자리도 잡지 못한 대표 쪽으로 넘어갑니다. 잘 굴러가는 페이지를 정리 대상에 넣으면 그건 정리가 아닙니다.
알리바이 둘 — 제목만 같고 노리는 검색어가 다른 5편
두 번째로 걸린 것은 업종별로 쓴 5편입니다. 펜션·병원·교회·패션몰·쇼핑몰 홈페이지를 각각 다룹니다.
제목이 같은 말로 시작할 뿐 노리는 검색어가 다릅니다. 「병원홈페이지제작」을 검색하는 사람과 「홈페이지제작업체」를 검색하는 사람은 다른 답을 찾습니다. 앞사람은 자기 업종을 아는 곳을 찾고, 뒷사람은 업체를 비교하려 합니다.
이 5편을 대표 한 편에 얹으면 좁은 검색어를 통째로 반납합니다. 좁은 검색어는 찾는 사람이 적은 대신 경쟁도 적어서, 작은 회사가 실제로 이길 수 있는 거의 유일한 자리입니다. 정리한다면서 이길 수 있는 자리부터 지우는 셈입니다.
판단 기준도 여기서 분명해졌습니다. 두 글을 합칠지 말지는 제목이 얼마나 닮았는지가 아니라 두 글을 찾는 사람이 같은 사람인지로 정합니다. 5편은 그 기준에서 전부 다른 사람을 향하고 있었습니다.
알리바이 셋 — 발행 21일이 안 된 19편을 왜 못 세나
세 번째가 가장 큽니다. 29편 중 19편이 8월 5일 이후에 발행한 글이었습니다. 21일이 지나지 않았습니다.
판정할 데이터가 없는 글을 묶으면 그건 정리가 아니라 기회를 미리 없애는 일입니다. 성과가 나쁘다는 근거도, 좋다는 근거도 없습니다. 아직 아무 근거도 없습니다.
여기서 저희 규칙은 한 방향으로만 움직입니다. 데이터가 없으면 손대지 않고 기다립니다. 잠복이 끝난 편은 나중에 그룹 정의 파일에 한 줄 더해 편입하면 그만이지만, 반대로 미리 묶었다가 되돌리면 검색엔진이 다시 읽을 때까지 몇 주를 씁니다. 두 방향의 비용이 이렇게 다르면 선택은 하나입니다.
진짜 원인 — 대상 목록을 제목 앞부분으로만 만들었다
세 부류를 빼면 29편 중 남는 건 4편입니다. 전부 28일 노출 2 이하에 클릭 0건, 그러니까 아무 자리도 잡지 못한 편들입니다.

진짜 원인은 순위 나눠 먹기가 아니라 대상 목록을 만든 방식에 있었습니다. 저희는 제목 앞부분이 같다는 조건 하나로 목록을 뽑았습니다. 그 조건은 「같은 검색어를 노리는가」를 재지 못합니다. 제목의 생김새를 잴 뿐입니다.
그래서 성격이 다른 셋이 한 목록에 섞였습니다. 이미 순위를 잡은 편, 다른 검색어를 노리는 편, 판정하기엔 이른 편입니다. 셋 다 묶으면 손해가 나는데 손해의 종류만 다릅니다. 첫째는 있는 성과를 지우고, 둘째는 이길 수 있는 자리를 버리고, 셋째는 아직 오지 않은 기회를 없앱니다.
29편이라는 숫자는 검색 성과를 재서 나온 값이 아닙니다. 문자열을 맞춰 나온 값입니다. 두 숫자를 같은 것으로 취급한 순간부터 판단이 어긋났습니다.
고친 방법 — 왜 성과 1위가 아니라 의도 1위를 대표로 세웠나
남은 4편만 대표 한 편으로 묶었습니다. 대표로 세운 편은 업체를 고르는 방법을 다룬 글입니다.
여기서 한 번 더 갈렸습니다. 후보 중 성과가 가장 좋은 편은 평균 3.7위인 유지보수 범위 편입니다. 보통은 잘 나가는 편을 대표로 올립니다. 그 편이 이미 검색엔진의 신뢰를 얻었으니 거기에 신호를 얹자는 계산입니다.
그렇게 하지 않은 이유는 대표 자리의 뜻에 있습니다. 대표는 「이 검색어에 검색엔진이 무엇을 보여줄지」를 우리가 지정하는 자리입니다. 「홈페이지제작업체」를 검색하는 사람은 업체를 고르려는 사람이지 유지보수 범위를 알려는 사람이 아닙니다. 성과가 가장 좋은 편이 아니라 검색 의도가 가장 맞는 편을 세웠습니다.
게다가 그 편은 이미 3.7위로 자기 자리를 잡았습니다. 잘 나가는 글을 대표로 올려 다른 4편의 신호를 얹으면, 지금 이기고 있는 검색어까지 흔듭니다. 이득이 불확실한 쪽에 확실한 성과를 걸 이유가 없습니다.
| 부류 | 편수 | 처리 | 사유 |
|---|---|---|---|
| 이미 순위를 잡은 편 | 1편 | 제외 | 28일 노출 3·클릭 1·평균 3.7위. 사이트 전체 클릭 16건 중 하나 |
| 업종별 편 | 5편 | 제외 | 펜션·병원·교회·패션몰·쇼핑몰 — 노리는 검색어가 다르다 |
| 발행 21일 미만 | 19편 | 보류 | 8월 5일 이후 발행. 판정할 데이터가 없다 |
| 노출 2 이하·클릭 0 | 4편 | 통합 | 대표 한 편으로 신호를 모은다 |
28일 치 검색 성과 리포트와 편별 발행일을 대조해 나눈 결과입니다. 처리 방식이 부류마다 다릅니다.
대상을 적는 자리도 옮겼습니다. 글마다 대표 주소 항목을 넣는 방식이면 글이 늘 때마다 손이 갑니다. 지금 기준 137편이고 앞으로 더 늘어납니다. 그래서 그룹 정의 파일 한 곳에서만 대상을 지정합니다.

파일에는 묶은 목록만 넣지 않았습니다. 제외한 편과 그 사유도 문장으로 함께 적었습니다. 몇 달 뒤에 이 그룹을 다시 여는 사람은 왜 29편이 아니라 4편인지부터 궁금할 텐데, 그 답이 파일 밖에 있으면 같은 조사를 처음부터 다시 합니다.
같은 실수를 막는 장치 — 판정 기한을 파일 안에 박았다
통합 자체보다 오래 남는 문제는 되돌릴 시점입니다. canonical 태그는 한 줄이라 붙이기도 떼기도 쉽지만, 검색엔진이 바뀐 신호를 다시 읽는 데 몇 주가 걸립니다. 틀린 채로 두면 그 몇 주를 통째로 잃습니다.
그래서 판정 기한과 판정 규칙을 그룹 정의 파일 안에 함께 적었습니다. 기한은 2026년 9월 22일이고, 규칙은 한 문장입니다 — 그날 대표 편의 검색 노출이 10건 미만이면 「상업형 검색어는 콘텐츠로 이기지 못한다」가 확정입니다.
이 문장에서 중요한 대목은 판정의 방향입니다. 결과가 나쁘면 그룹을 더 넓히자는 결론으로 새기 쉬운데, 그 경우 축을 접는다고 미리 못 박았습니다. 판정 기준을 결과가 나온 뒤에 정하면 아무 숫자나 성공으로 읽힙니다.
기한 없는 정리는 아무도 다시 열지 않습니다. 저희가 앞서 굴린 결정 하나가 정확히 그 형태였습니다. 판정 예정일을 3배 넘겼는데 다시 꺼낸 횟수가 0회였습니다. 사람이 게을러서가 아니라 다시 열 시점을 아무 데도 적어 두지 않아서 그렇습니다.
마지막으로 회귀 검사 6건을 붙였습니다. 그중 둘이 이번 일에서 나왔습니다.
- 대표 사슬 금지 — A가 B를, B가 C를 대표로 가리키는 사슬은 검색엔진이 끝까지 따라가지 않는다
- 판정 기한 필수 — 기한 칸이 빈 그룹은 검사에서 떨어진다

지금 상태와 아직 판정하지 못한 것
묶는 작업은 끝났지만 그날 라이브 반영은 밀렸습니다. 같은 날 다른 작업의 배포가 몰려 호스팅의 하루 빌드 한도에 걸렸고, 그 한도는 24시간 뒤에 풀립니다. 다음 성공 빌드가 함께 실어 나릅니다.
반영 여부를 기억에 맡기지 않으려고 다음 작업 맨 앞에 재실행 검사 3종을 걸어 두었습니다. 라이브 화면에서 대표 지정이 실제로 보이는지 확인하기 전까지 이 일은 끝난 게 아닙니다.
남는 약점도 적어 둡니다. 4편만 모으면 신호가 쏠리는 효과는 작습니다. 29편을 다 묶었을 때보다 확실히 작습니다. 대신 틀렸을 때 잃는 것이 작습니다. 저희는 효과의 크기보다 되돌리는 비용을 먼저 봤습니다. 되돌리기 쉬운 결정과 되돌리는 데 몇 주가 드는 결정을 같은 무게로 다루지 않습니다.
2026년 9월 22일 전까지는 이 선택이 옳았는지 모릅니다. 그날 대표 편의 노출 10건이 답을 줍니다. 잠복이 끝난 19편도 그때 다시 셉니다.
이번 일에서 남길 문장은 하나입니다. 정리 대상을 셀 때는 잘 되고 있는 것과 아직 판정할 수 없는 것을 빼고 셉니다. 29편과 4편의 차이가 전부 거기서 나왔고, 두 부류를 빼는 데 든 시간은 29편을 한 편씩 여는 한나절이었습니다.
홈페이지나 콘텐츠에서 같은 종류의 판단이 필요하다면 상담으로 알려 주세요. 저희 사이트에 쓰는 기준을 그대로 씁니다.