개선된 7개 페이지, GSC에서 모두 노출되지 않음
요약
자동화 작업을 통해 7개의 계산기 페이지 콘텐츠를 개선했으나, Google Search Console(GSC)에서 노출 및 검색어 데이터가 전혀 나타나지 않는 문제를 분석합니다. 페이지는 정상적으로 로드되고 메타 태그도 갖추고 있으나 Google의 인덱싱이나 노출에 문제가 발생한 상황을 다룹니다.
핵심 포인트
- 자동화 커밋을 통해 벤치마크 및 예시 문제 등 콘텐츠 품질 개선 시도
- 콘텐츠 개선 후에도 GSC 상의 노출 수 및 검색어 데이터가 0을 기록
- curl을 통한 페이지 로드 및 메타 데이터 확인 결과 기술적 오류는 없음
- 자동화 작업이 적용된 페이지와 순위가 상승한 페이지 간의 상관관계 불일치
이번 주 자동화 작업이 매일 밤 실행되었습니다. 총 7개의 커밋을 통해 벤치마크가 재작성되고, 예시 문제(worked examples)가 추가되며, 내부 링크가 연결된 계산기 페이지 7개가 개선되었습니다. 오늘 아침 GSC를 확인하여 어느 페이지들이 이동했는지 살펴보았습니다.
하지만 이들 중 어느 것도 28일 데이터에 나타나지 않았습니다. 노출 수(impressions) 상위 50개 페이지에도 포함되지 않았고, 검색어별 분석(query-level breakdowns)에서도 단 하나의 가시적인 검색어도 발견할 수 없었습니다. 페이지 자체는 존재합니다—제가 curl을 실행해보니 로드되며, 적절한 제목과 메타 설명도 갖추고 있습니다. 다만 Google이 아무에게도 이 페이지들을 보여주지 않고 있는 상황입니다.
한편, 이번 주에 실제로 순위가 상승한 유일한 페이지는 자동화 작업이 전혀 건드리지 않은 페이지였습니다.
설정 (The setup)
자동화 대기열(automation queue)은 현재 42개의 커밋을 진행했습니다. 매일 밤 계산기 페이지 하나씩을 선정하여 검증된 벤치마크, 예시 문제, 내부 링크를 통해 콘텐츠를 개선해왔습니다. 이번 주에는 부동산 및 투자 클러스터에서 다음 7개 페이지가 처리되었습니다:
- Cap Rate Calculator (7월 20일)
- EPS Calculator (7월 19일 — 기술적으로는 부동산은 아니지만 관련 분야임)
- Rental Yield Calculator (7월 21일)
- NOI Calculator (7월 22일)
- DSCR Calculator (7월 23일)
- Cash-on-Cash Return Calculator (7월 24일)
- Compound Interest Calculator (7월 25일)
총 7박의 밤 동안, 각 커밋마다 기존에는 단순한 정형 콘텐츠(boilerplate)만 있던 페이지에 구체적이고 비정형적인 내용 300~500단어를 추가했습니다. 자동화 작업은 설계된 대로 정확하게 작동하고 있습니다. 다만 제가 이 작업이 올바른 페이지들에 적용되고 있는지 여부를 확인하지 않았을 뿐입니다.
예상과 데이터가 보여준 것의 차이점 (What I expected vs what the data showed)
저는 적어도 이들 페이지 중 일부는 GSC에 노출될 것이라고 예상했습니다. 페이지당 단 하나의 가시적인 검색어라도 있다면, Google이 해당 콘텐츠를 확인하고 어딘가에 기록했다는 증거가 될 것이었기 때문입니다. 각 페이지의 28일간 검색어 분석 결과는 다음과 같습니다:
| Page | Visible queries (28d) | Impressions |
|---|---|---|
| /tools/cap-rate-calculator/ | 0 | 0 |
| ... | ||
| Zero였습니다. |
이 상황을 파악하는 데 시간이 좀 걸렸습니다. 제 첫 직관은 인덱싱 (Indexing) 문제였습니다. 그래서 Googlebot인 것처럼 cap rate 페이지를 curl로 호출해 보았습니다:
<title>Cap Rate Calculator: Compare Investment Properties | Valuefy</title>
<meta name="description" content="Free cap rate calculator for real estate investors.
Calculate NOI yield, compare properties side-by-side, and benchmark market rates by
...
페이지는 라이브 상태입니다. 적절한 제목, 구체적인 설명, 정확한 H1 태그까지 갖추고 있습니다. 복리 (Compound interest) 페이지도 마찬가지였습니다:
<title>Compound Interest Calculator — Daily to Annual | Valuefy</title>
<meta name="description" content="Free compound interest calculator. Compare daily,
monthly, and annual compounding, add regular contributions, and see year-by-year
...
이 페이지들은 깨진 페이지가 아닙니다. 구조가 잘 잡힌 페이지임에도 불구하고 Google이 전혀 노출시키지 않고 있는 것입니다. 50위에도, 100위에도, 데이터상에서 보이는 그 어디에도 나타나지 않습니다.
가장 가능성 높은 설명은 권위 (Authority) 문제입니다. 실제 도메인 권위 (Domain authority)를 가진 부동산 플랫폼의 계산기들과
수치를 계산해 보면 다음과 같습니다: 이번 주 이전 20일 동안 해당 페이지는 하루 평균 0.25회의 클릭을 기록했습니다. 이번 주에는 하루 평균 0.5회입니다. 클릭률 (Click rate)이 두 배로 증가했습니다. 순위 (Position)는 5단계 상승했습니다. 코드베이스 (Codebase)에는 아무런 변화가 없었습니다. 해당 페이지에 대한 마지막 자동화 커밋 (Automation commit)은 몇 주 전이었습니다.
쿼리 분석 (Query breakdown)을 추출했습니다:
| 쿼리 (Query) | 노출수 (Impressions) | 순위 (Position) |
|---|---|---|
| impression calculator | 52 | 28.9 |
| ... |
전체 1,508회 노출 중 가시적인 노출은 70회뿐입니다. 일반적인 분포를 따르고 있습니다: 수백 개의 롱테일 쿼리 (Long-tail queries)가 각각 GSC의 개인정보 보호 임계값 (Privacy threshold) 미만으로 한두 번의 노출을 생성하며, 이 모든 것이 평균화되어
나머지 176회의 노출은 보이지 않는데, 이는 해당 페이지가 개인정보 보호 임계값 (Privacy threshold) 아래에 숨겨진 실제 "saas valuation" 관련 트래픽을 어느 정도 보유하고 있을 가능성을 의미합니다. 하지만 제가 확인할 수 있는 유일한 창구에는 클릭 의도가 없는 4개의 탐색적 쿼리 (navigational queries)만 나타납니다. 클릭이 0회인 7위는 CTR (클릭률) 문제가 아니라, 쿼리 불일치 (query mismatch) 문제입니다.
발견 사항 #4: og:title 버그가 여전히 존재함
발견 사항 #1과 #2를 확인하기 위해 페이지들을 curl로 호출하던 중, 중복된 og:title 패턴을 다시 발견했습니다. 모든 페이지에 여전히 두 개씩 존재합니다:
<meta property="og:title" content="Valuefy - Free Business Calculators & Financial Tools">
...
<meta property="og:title" content="Cap Rate Calculator: Compare Investment Properties | Valuefy" data-rh="true">
첫 번째는 index.html의 23-24행에 있는 정적 폴백 (static fallback)입니다. 두 번째는 React Helmet에 의해 하이드레이션 (hydrated)된 버전입니다. 해결책인 index.html에서 23-24행을 제거하는 작업은 첫 번째 감사 (audit) 때부터 실행 목록에 있었습니다. 7주가 지났지만, 모든 페이지에 여전히 두 태그가 모두 남아 있습니다.
일부 소셜 공유 플랫폼은 첫 번째 태그를 가져가고, 일부는 마지막 태그를 가져갑니다. 그 결과는 예측할 수 없습니다. 어떤 소셜 미리보기가 나타날지는 어떤 플랫폼이 언제 페이지를 스크래핑 (scraped)했느냐에 따라 달라집니다. 이것이 치명적인 문제는 아니지만, 이 포스트들에서 두 번이나 설명했음에도 아직 실행하지 않은 15분짜리 수정 사항입니다.
이에 대해 내가 할 일
- og:title 중복 수정 — 오늘 밤. 이건 정말로 미뤄져 왔던 일입니다.
- 자동화 큐(automation queue)에 GSC 가시성 확인 단계 추가 — 페이지 개선을 예약하기 전에, 지난 28일 동안 노출(impressions)이 있었는지 확인합니다. 만약 0이라면, 건너뜁니다. 자동화의 시간은 Google이 이미 누군가에게 보여주고 있는 페이지에 쓰이는 것이 더 효율적입니다.
- 개선된 42개 페이지 중 어떤 페이지가 GSC 가시성을 가지고 있는지 식별 — 동일한 확인 작업을 소급하여 실행합니다. 만약 노출 계산기(impression calculator)가 별도의 개입 없이도 순위가 31위에서 26위로 변동할 수 있다면, 우리가 이미 개선한 일부 페이지들은 추적할 가치가 있는 초기 움직임을 보이고 있는 것일 수도 있습니다.
- 노출 계산기(impression calculator)를 건드리지 말 것 — 스스로 계속 움직이게 둡니다. 2주 후에 다시 확인합니다.
불편한 교훈
우리는 마치 모든 페이지가 개선할 가치가 동일한 것처럼 자동화를 실행해 왔습니다. 페이지를 하나 고르고, 더 나은 콘텐츠를 작성하고, 커밋(commit)하고, 다음 페이지로 넘어가는 방식 말입니다. 42번의 작업 커밋이 이루어졌지만, 이 모든 작업은 "Google이 실제로 이 페이지를 누군가에게 보여주고 있는가?"라는 기준으로 정렬되지 않은 목록에 적용되었습니다.
노출이 0인 페이지의 콘텐츠를 개선하는 것은 SEO (검색 엔진 최적화)가 아닙니다. 그것은 아무도 지나가지 않는 건물에 대한 유지보수일 뿐입니다.
지금 중요한 페이지들 — 순위가 20위에서 40위 사이인 페이지들, 클릭률(click rate)이 낮더라도 노출이 발생하고 있는 페이지들 — 바로 그런 페이지들이 더 나은 콘텐츠를 통해 노출을 클릭으로 전환할 수 있는 페이지들입니다. Cap rate 계산기, DSCR 계산기, 임대 수익률(rental yield) 계산기 등은 매우 훌륭한 페이지일 수도 있습니다. 하지만 Google이 아무도 이들을 찾고 있지 않다고 말해주고 있기 때문에, 저는 아직 알 수 없습니다.
2주 후에 노출 계산기를 다시 확인하겠습니다. 만약 26위가 20위가 된다면, 무언가 작동하고 있는 것입니다. 만약 다시 31위로 돌아간다면, 이번 주의 데이터는 노이즈(noise)였던 것입니다. 어느 쪽이든, 저는 정확하게 보고하겠습니다.
저는 valuefy.app에서 이러한 실험들을 진행하며 그 결과들을 기록하고 있습니다. 만약 여러분이 프로그래매틱 SEO (programmatic SEO)를 구축 중이거나, React SEO 문제를 디버깅하고 있거나, 혹은 "자동화는 돌아가는데 아무런 변화가 없는" 것과 같은 벽에 부딪혀 있다면 댓글을 남겨주세요. 서로의 노하우를 비교해보고 싶습니다.
또한 저는 기업들을 위한 AI 툴링 (AI tooling)을 구축하는 AImiten도 운영하고 있습니다. 이 사이드 프로젝트는 아이디어들을 실제 클라이언트 작업에 적용하기 전에 스트레스 테스트 (stress-test)를 해보는 공간입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기