발행량을 늘렸는데 편당 노출은 왜 거꾸로 떨어졌나
SEO 콘텐츠 축에서 발행량을 늘릴수록 오퍼로 이어지는 트랙의 편당 노출은 오히려 줄었습니다. 08-21에 관측한 편당 노출 2.6이 08-25 재측정에서 0.9로 떨어졌습니다.
08-16에 발행량 확대 지시가 있었고, 파이프라인은 그대로 돌아 일평균 3.5편·최대 9편을 찍고 있었습니다. 그런데 08-21과 08-18 두 세션이 각각 오퍼 직결 트랙(ax)이 노출을 못 만든다고 보고했고, 08-25 진단에서 그 격차가 더 벌어진 것이 확인됐습니다.
| 트랙 | 편수 | 노출확보율 | 28일 노출합 | 편당 노출 |
|---|---|---|---|---|
| tax | 12 | 100% | 239 | 19.9 |
| region | 21 | 86% | 200 | 9.5 |
| nomu | 6 | 100% | 50 | 8.3 |
| ax(오퍼 직결) | 88 | 39% | 81 | 0.9 |
발행이 늘어나는 동안 ax 트랙의 편당 효율은 2.6에서 0.9로 더 떨어졌습니다. '더 쓰면 언젠가 걸린다'는 가설이 3주에 걸쳐 반증된 셈입니다. 이 표 하나로 다음 질문이 갈렸습니다 — 88편이 안 뜨는 이유가 콘텐츠 자체에 있는가, 아니면 다른 층에 있는가.

처음 의심한 것 — 같은 키워드에 열여섯 편이 쌓인 중복
08-25 진단에서 원인을 셋으로 나눠 정량화했습니다. 그중 가장 먼저, 그리고 가장 강하게 의심한 것은 콘텐츠 중복(카니발라이제이션)이었습니다.
- ax 88편 중 `홈페이지제작업체` 헤드가 16편, `블로그원고대행` 헤드가 6편입니다.
- 헤드 중복이 31/88편(35%)에 달합니다.
- 88편 전부 대시(—) 포함, `(2026)` 종결 100%, `~하는 법` 형식 39%, 하루 최대 9편입니다.
- 제목 틀이 제각각인 tax·region 트랙만 편당 노출이 10~20배입니다.
같은 키워드에 16편이 붙으면 구글이 정본을 못 정한다고 첫 번째로 가정했고, 대량생산 서명(대시·연도 종결·정형화된 제목)은 구글 2024-03 spam policy가 겨냥하는 scaled content abuse 형태와 겹칩니다. 여기에 세 번째로 '다리 부재'를 더했습니다 — 오가닉 착지 상위 15에 ax 글이 0편이고, `content_to_offer` 이벤트가 28일 0건, `scroll_100`이 96건인데 `click`은 5건, 페이지/세션은 1.1이었습니다.
결론을 내리기 전에 대안 넷을 검토했습니다.
- 현행 유지 + 새 축(업무 질의) 잠복기 대기 → 기각. 새 축은 아직 판정 불가지만, 그것과 별개로 88편의 중복은 이미 확정된 손실이고 대기해도 안 풀립니다.
- 발행량 축소 후 편당 깊이 강화 → 부분 채택. 다만 '깊이'는 이미 충분했습니다 — 본문 중앙값 1,256자, 표 포함 131/136편, 방법론은 전편에 있었습니다. 부족한 건 깊이가 아니라 배치였습니다.
- 타깃 키워드 밴드 하향(월검색 100~300) → 보류. 밴드를 낮춰도 같은 헤드에 16편을 쌓는 구조가 그대로면 같은 결과가 납니다. 중복 가드가 먼저입니다.
- 신규 발행 중단 + 기존 136편 재편 → 채택.
이 세 가지로 08-25 1차 결론을 냈습니다. 신규 발행을 중단하고 기존 136편을 재편한다, 다리 놓기(W1)를 먼저 하고 중복 16편 통합(W2)은 이월한다는 결정이었습니다.
무엇으로 확인했나 — 키워드 155개와 검색량을 직접 대조하다
결론을 낸 그날 저녁, 반대가설이 나왔습니다. '메인 오퍼가 검색량이 없는 거 아니야 이 정도면?' 콘텐츠 중복 가설로는 설명이 안 되는 질문이었습니다 — 16편이 겹쳐서 못 뜬 것이라면, 겹치지 않은 나머지 편들은 떠야 합니다.
판별 테스트로 확인했습니다. 광고 키워드 데이터베이스(08-24 갱신, 155키워드)에 ax 88편이 쓰인 자리의 실측 월검색량을 전부 대조했습니다.

60%(53편)는 이미 수요가 있는 자리에 썼습니다. 검색량이 없어서 안 뜬 것이라는 가설은 나머지 40%에 대해서만 맞았습니다.
콘텐츠 중복은 왜 1차 원인이 아니었나
콘텐츠 중복이 1차 원인이라면 검색량이 충분하고 겹치지도 않은 자리는 떴어야 합니다. 그런데 그렇지 않았습니다. 판별 테스트 결과 콘텐츠 중복과 대량생산 서명은 실재하지만 2차 요인이었고, 1차 원인은 따로 있었습니다.
더 아픈 쪽은 나머지 60%였습니다. `홈페이지제작업체` 자리는 월검색 2,840회인데 여기에만 28편을 쏟았고 편당 노출은 0.9였습니다. 검색량이 없어서가 아니라, 검색량이 있는데도 안 뜬 것입니다.
진짜 원인 — 콘텐츠로도 못 이기고 광고로도 못 사는 자리였다
이유는 광고 데이터에 있었습니다. 같은 키워드의 시장 입찰가와 우리 단가 천장을 대조하자 격차가 드러났습니다.
| 키워드 | 시장 입찰가 | 우리 단가 천장 | 배율 |
|---|---|---|---|
| 홈페이지제작업체 | 19,486원 | 2,095원 | 9.3배 |
| AI챗봇 | 20,172원 | 4,800원 | 4.2배 |
| AI자동화 | 10,104원 | 5,625원 | 1.8배 |
세 자리 전부 `route_reason: hard-kill: economic_fail`로 분류돼 있었습니다. 입찰가 격차가 큰 자리일수록 오가닉 1페이지도 같은 사업자들이 점유하고 있다는 신호입니다. 광고로도 못 사고, 콘텐츠로도 못 이기는 자리였습니다.

오퍼 단위로 월검색 합을 다시 보면 격차가 더 뚜렷합니다.
- 세무도구 274,540회, 노무도구 78,260회
- AI자동화 10,730회(중앙값 20)
- 홈페이지제작 9,060회
- AI챗봇 4,360회(중앙값 20)
- 블로그대행 120회
ax가 노린 건 상업형 질의, 구축이 잡은 건 정보형 질의
노출을 만든 tax·nomu 트랙이 오퍼 트랙의 25~60배이고 질의도 정보형입니다. 다른 경로로 같은 결론에 도착한 셈입니다.
고친 것 1 — 사람이 오는 곳과 오퍼가 있는 곳을 다리로 잇다
원인이 재판정되면서 재편 계획도 바뀌었습니다. '중복 정리'에서 '자리 재판정'으로 — 밴드 분류가 통합보다 먼저이고, 검색량 300 미만·미매칭 35편은 손대지 않기로 했습니다. `홈페이지제작업체` 28편만 통합하되, 28일 후에도 노출이 10 미달이면 '상업형은 콘텐츠로 안 된다'로 확정하기로 했습니다.
그런데 원인과 별개로 남아 있던 수치가 있었습니다. `content_to_offer` 이벤트가 28일째 0건이었습니다. 예전에 같은 형태의 0을 '미집행'으로 오판한 전례가 있어서, 이번에는 계기가 실제로 발화하는지부터 갈랐습니다.
analytics.google.com/g/collect?...&en=content_to_offer_click&ep.event_label=nomu→AI자동화:primary → 204
계기는 끝까지 살아 있었습니다. 그러니 0은 '아무도 안 눌렀다'가 맞았고, 원인은 노출 면적이었습니다. 오퍼 링크가 글 하나에 2개뿐이고 둘 다 같은 카드에 있었으며, 그 카드는 문서 높이의 55.3%(2,176px/3,936px) — 뷰포트 661px 기준 세 화면 아래였습니다.
다리가 없으면 오퍼를 새로 만들어도 같은 결과가 난다는 것도 이번에 함께 확인됐습니다. 세무·노무 유입 의도에 맞는 오퍼는 이미 계산기(무료) → 유료 서면 → 전문가 매칭까지 3층 구조로 설계돼 있었지만, 정작 다리가 없어서 그 설계까지 함께 0건으로 막혀 있었습니다.
- CTA 카피를 다시 쓴다 → 기각. 안 보이는 문구를 고쳐도 안 보입니다.
- 상위 10편에 손으로 다리를 붙인다 → 기각. 137편이고 매주 늘어나서 편별 작업은 끝나지 않습니다.
- 컴포넌트 하나로 전편에 본문 중간 다리를 놓는다 → 채택.
대가도 있었습니다. 본문 흐름에 오퍼 카드 한 칸이 끼어듭니다. 그래서 문구를 오퍼별 4종으로 고정해 글마다 달라지지 않게 하고, 배경·테두리를 기존 콘텐츠 블록과 같은 토큰으로 맞춰 이물감을 줄였습니다.
본문 중간 다리 컴포넌트를 2번째 섹션 뒤에 넣자 첫 오퍼 링크 깊이가 56.7%에서 28.2%로 줄었습니다. 슬롯을 inline·primary·secondary로 나눠 어느 자리가 눌리는지 GA4에서 분리했습니다 — 이게 없으면 다리를 더 놓아도 효과를 판정할 수 없습니다. 같은 137편에 공유 썸네일도 자동 생성했습니다(PR #387). 측정 장치 자체를 먼저 믿을 수 있어야 다음 판단이 서는 문제는 에이전트는 왜 한 턴 만에 멈추나에서 다룬 것과 같은 결입니다.

0건은 계측 부재였나 진짜 0이었나 — 세 번 갈라 봐야 했다
이 축에서 '0건'이 나온 건 이번이 처음이 아니었습니다. 08-19에 이미 한 번 걸렸고, 08-25 재검증에서 한 번 더 걸렸습니다. 매번 같은 질문을 다시 던져야 했습니다 — 계기가 안 도는가, 계기는 도는데 안 눌리는가, 눌리는데 안 쌓이는가.
첫 번째(08-19): 리포트 페이지의 클릭 발화 함수가 `data-ga-category`·`data-ga-label`을 발화하고 있었는데, 이 둘은 GA4에 커스텀 디멘션으로 등록된 적이 없었습니다. `data-ga-action`도 범용 `click`이라 '리포트→오퍼 클릭'만 골라 조회할 방법이 없었습니다. 28일 누적 95건이 전부 미분류로 잠겨 있었고, 조회가 안 되니 0건과 95건 미분류가 구분조차 안 됐습니다. 이벤트명 자체를 `content_to_offer_click`으로 전용화해 해소했습니다(PR #359, 11개 테스트 통과).
두 번째(08-25): 이벤트명을 전용화한 뒤에도 0건이었습니다. 위에서 본 대로 라이브 네트워크 확인 결과 계기는 살아 있었고, 원인은 노출 면적이었습니다.
세 번째(08-25): 노출 면적을 고친 뒤에도 GA4에 `content_to_offer_click`이 안 쌓이는 순간이 있었습니다. 브라우저에서 gtag 호출 자체를 가로채 확인하니, `gtag('event', ...)`는 분명히 호출되는데 전송이 안 나가고 있었습니다. 클릭 직후 서브도메인으로 이동하면서 gtag의 비동기 전송과 경쟁했고, 페이지가 unload되며 전송이 유실되는 구조였습니다. `transport_type: 'beacon'`으로 `sendBeacon`을 강제해 해소했습니다(PR #405).
세 번 다 같은 도구로는 못 잡았습니다. 첫 번째는 GA4 UI에서 디멘션 등록 여부를 확인해야 했고, 두 번째는 라이브 리포트 페이지에서 CTA를 직접 눌러 네트워크 탭을 봐야 했고, 세 번째는 브라우저 안에서 gtag 호출 자체를 가로채는 코드를 심어야 했습니다. '0건'이라는 같은 숫자가 매번 다른 층에서 다른 이유로 나왔습니다.
고친 것 2 — 자리를 다시 나누고 발행 가드를 세우다
구조 쪽 수정도 같은 재검증에서 나왔습니다. 발행 파이프라인이 slug를 `-2026`으로 리네임하면서 구버전 URL이 404가 나고 있었는데, GA4 28일 기준 15회 유입이 이 죽은 URL로 도달하고 있었습니다. 슬러그가 없으면 `-2026` 존재를 확인해 308로 리다이렉트하도록 고쳤습니다.
발행 가드도 1종에서 2종으로 늘렸습니다. 중복 상한에 더해 월검색 300 미만 배제를 추가했습니다. `홈페이지제작업체`처럼 검색량이 있는 자리에 중복이 쌓이는 것과, 애초에 검색량이 없는 자리에 새로 발행하는 일은 다른 문제이고, 가드도 따로 걸어야 했습니다.
이 재편 결정에서도 발행 자동화는 끄지 않았습니다. 이번 축은 이미 발행된 것의 배치를 고치는 일로 한정했습니다. tsc·vitest 109개·next build·기존 규약 신규 위반 0건, 리다이렉트 로컬 검증 308/200/404까지 통과한 뒤에 적용했습니다.
같은 실수를 막는 장치 — 재판정 전에도 손실 없는 것만 먼저 고친다
이번 진단에서 남긴 장치는 다섯 가지입니다.
- 이벤트명 전용화(`content_to_offer_click`)로 커스텀 디멘션 등록 없이도 즉시 조회 가능해졌습니다.
- 본문 중간 다리 슬롯 3분리(inline·primary·secondary)로 어느 자리가 눌리는지 GA4에서 갈립니다.
- beacon 전송 강제로 페이지 이동과 경쟁하는 클릭 유실을 구조적으로 막았습니다.
- 발행 가드 2종(중복 상한 + 월검색 300 미만 배제)으로 같은 형태의 콘텐츠 중복 재발을 앞단에서 자릅니다.
- 구버전 slug 308 리다이렉트로 발행 파이프라인의 리네임이 유입을 죽이지 않게 했습니다.
함께 정리한 것도 있습니다. 오퍼 클릭 보고 함수를 전역 함수로 바꿔 폐기된 콘솔 분기를 지웠습니다. 같은 사고가 2026-07-27과 07-28에 두 번 있었던 자리였습니다 — 새 slug prefix 하나만 생겨도 죽어 있던 코드가 되살아나는 구조였습니다.
발행량을 유지할지 타깃을 바꿀지는 여전히 사업 판단으로 남아 있습니다. 이번에 확정한 것은 그 판단 전에도 손실 없이 할 수 있는 것 — 배치 수리 — 뿐입니다. 재편은 순위 회복에 수주가 걸려 매출로 바로 안 붙지만, 이미 오는 유입을 오퍼로 넘기는 일은 지금 당장 있는 숫자(28일 오가닉 117세션)로 시작할 수 있었습니다. 비슷한 형태로 계측과 원인 진단이 겹친 사례를 정리하고 싶다면 상담에서 짚어 드립니다.