소개
처음부터 거대한 시스템을 만들 생각은 아니었습니다.
시작은 Claude Code에게 스터디장님이 제공해주신 프롬프트로 “네이버 블로그 키워드 대시보드를 만들어달라”고 요청한 것이었습니다.
이 프롬프트와 함께 제공한 Python 코드를 참고해서,
내 관심 분야와 대상 독자에 맞는 네이버 블로그 키워드 대시보드를 만들어줘.
단, 지금 샘플을 그대로 만들지 말고 먼저 나에게 필요한 정보를 질문해줘.
질문과 답변이 끝나기 전에는 코드 수정이나 대시보드 생성을 시작하지 마.
그런데 Claude의 질문에 답하려다 문득 생각했습니다.
키워드 대시보드를 왜 만들려고 했지?
제가 정말 만들고 싶었던 것은 대시보드 하나가 아니었습니다.
프랜차이즈 본사용 운영관리 솔루션과 외식업 점주용 리뷰· 장부 관리 서비스를 알리고 검색 인지도를 높여, 최종적으로 문의와 인바운드 리드를 만드는 회사 업무용 B2B 콘텐츠 마케팅 자동화 파이프라인이 목적이었습니다.
나는 자사의 본사용 운영관리 솔루션과
점주용 리뷰·장부 관리 서비스가 잘 알려지도록
B2B 콘텐츠 마케팅 퍼널을 만들고 싶어.
인지도를 높이고 AEO/GEO 점수를 높여,
결과적으로 문의와 인바운드 리드 창출로 이어지는
콘텐츠 마케팅 자동화 파이프라인을 구축할 거야.
이 목적을 선언하자, brainstorming 스킬이 제게 물었습니다.
조회수가 목적인지, 리드 창출이 목적인지. 저는 후자라고 했습니다.
글감보드는 워크스페이스 옵시디언에 세팅해둔 환경과 스터디장님의 프롬프트와 선물 덕분에
뚝딱 만들어졌는데요.
한국사이트 스크린샷
네이버 API를 연동하자,
대 다수의 글감이 검색량이 월 10건 이하로 매우 니치한 것이 드러났습니다.
그래서 인기있는 연관검색 키워드를 일부러 특정 분량으로 배치했습니다.
그 중 하나가 '차익가맹금'이었는데요.
문제는, 차익가맹금과 저희 회사제품의 강점을 연관지어 글을 쓰는 과정에서
AI의 환각이 불거졌습니다.
그리고 지금은 예상하지 못했던 문제를 겪고 있습니다.
콘텐츠를 자동으로 만드는 기술보다,
자동으로 만들어진 콘텐츠의 품질을 안정적으로 유지하는 일이 훨씬 어려웠습니다.
진행 방법
1. 독자가 다른데 하나의 콘텐츠로 말하고 있었습니다
우리가 홍보해야 할 서비스는 크게 세 가지였습니다.
본사용 운영관리 솔루션: 프랜차이즈 본사 대상
점주용 리뷰 관리 서비스: 외식업 점주 대상
점주용 장부 관리 서비스: 외식업 점주 대상
프랜차이즈 본사 담당자와 매장 사장님은 관심사도 다르고, 사용하는 언어도 다릅니다.
그래서 처음에는 콘텐츠를 다음과 같이 2트랙으로 나눴습니다.
트랙 A: 프랜차이즈 본사
- 가맹점 관리
- 발주 데이터
- 원가 관리
- SOP
- QSC
- 차액가맹금
- 본사 커뮤니케이션
트랙 B: 외식업 점주
- 리뷰 관리
- 매장 장부
- 비용 관리
- 매출 관리
이 결정은 대화로만 남기지 않고 PRD로 기록했습니다.
00_전략·로드맵/
└─ 콘텐츠 마케팅 퍼널 PRD (2트랙).md
목적, 핵심 KPI, 서비스와 독자의 연결 관계, 키워드 구조, 발행 주기를 문서화했습니다.
이후 팀원들과 다시 논의하면서 운영 방식은 한 번 더 바뀌었습니다.
블로그를 두 개로 나누는 대신, 하나의 네이버 블로그 안에서 카테고리로 독자를 구분하는 방식을 선택했습니다.
자동화 파이프라인을 만든다고 해서 최초 계획을 고집할 필요는 없었습니다. 운영 비용과 팀의 실제 의견을 반영해 구조를 계속 수정했습니다.
2. 검색 결과를 추측하지 않고 직접 측정했습니다
처음에는 AI가 키워드와 경쟁 콘텐츠를 어느 정도 추정해 줄 수 있다고 생각했습니다.
하지만 회사 콘텐츠에 들어갈 데이터라면 “아마 그럴 것”만으로는 부족했습니다.
그래서 네이버 검색 결과를 실제로 열어 다음 항목을 측정하는 도구를 만들었습니다.
상위 게시물 제목
블로그명과 작성일
본문 분량
소제목 수
표 사용 여부
기관 및 법령 언급
외부 출처 사용 여부
경쟁 콘텐츠가 충분히 설명하지 못한 부분
_tools/
├─ collect_serp.sh
├─ extract_serp.js
└─ analyze_post.js
수집 결과는 키워드 대시보드로 연결했습니다.
07_키워드 대시보드/
├─ keywords_data.py
├─ build_dashboard.py
├─ keyword_dashboard.html
└─ _대시보드 운영 노트.md
keywords_data.py만 수정하면 HTML 대시보드를 다시 생성할 수 있도록 만들었고, 데스크톱 1280px과 모바일 375px 환경에서 실제 렌더 화면도 확인했습니다.
검색량 역시 임의의 숫자를 넣지 않았습니다.
처음에는 확보하지 못한 수치를 모두 ‘확인 필요’로 표시했고, 이후 네이버 검색광고 API를 연동해 실측값으로 교체했습니다. API 인증정보는 대화창이나 코드에 붙여넣지 않고 로컬 권한 파일에 분리했습니다.
~/.config/naver-searchad/credentials.json
_tools/fetch_volume.py
공식 API 문서를 기준으로 인증과 키워드 도구 연동 방식을 확인했습니다.
3. 콘텐츠를 쌓아둘 공개 공간도 만들었습니다
키워드를 조사하고 원고를 작성해도, 독자가 볼 수 있는 발행 공간이 없으면 파이프라인은 완성되지 않습니다.
그래서 기존 사내 프론트엔드 리포지토리에 공개 인사이트 허브를 구현했습니다.
routes/insights/
├─ route.tsx
├─ index.tsx
├─ $slug.tsx
└─ -utils/articles.ts
주요 조건은 다음과 같았습니다.
로그인하지 않아도 접근 가능
모바일과 데스크톱에 대응하는 반응형 디자인
MDX 기반 목록·상세 페이지
Obsidian 볼트의 마크다운을 MDX로 변환
기존 디자인 시스템과 라우팅 구조 활용
구현 후 로컬에서 페이지를 열어보니 예상하지 못한 문제가 발견됐습니다.
마크다운 표가 표로 보이지 않고 파이프 문자 그대로 노출되고 있었습니다.
원인은 MDX 설정에 GFM 플러그인이 빠져 있었기 때문이었습니다.
remarkPlugins: [remarkGfm]
remark-gfm을 연결하고 타입체크까지 통과한 뒤, 표가 정상적으로 렌더링되는 것을 확인했습니다.
이 작업은 다음 PR로 정리했습니다.
PR #3
feat(web): 공개 인사이트 허브(/insights) 추가
상태: OPEN
4. 자동화보다 먼저 ‘쓰면 안 되는 말’을 정했습니다
B2B 서비스 콘텐츠는 문장이 자연스럽다고 바로 발행할 수 있는 것이 아니었습니다.
AI는 아직 출시되지 않은 기능도 그럴듯하게 설명할 수 있고, 경쟁 제품을 비교하는 과정에서 근거가 부족한 표현을 만들 수도 있습니다.
그래서 문서 전체를 검색해 미구현 기능이 확정 기능처럼 쓰인 곳이 없는지 점검했습니다.
가드레일에는 다음 원칙을 추가했습니다.
아직 만들어지지 않은 기능을 현재 제공 중인 기능처럼 쓰지 않는다.
서비스가 실제로 확인할 수 있는 데이터 범위를 넘어서지 않는다.
경쟁사와 비교할 때 비교 대상과 기준을 명확히 밝힌다.
우월성을 주장하려면 객관적이고 검증 가능한 근거를 남긴다.
추정한 수치는 실제 수치처럼 표현하지 않는다.
비교광고 체크리스트는 공정거래위원회 심사지침과 국가법령정보센터 자료를 직접 확인해 작성했습니다.
5. 기술적으로 완성된 원고가 읽기 좋은 원고는 아니었습니다
이 프로젝트에서 가장 큰 시행착오는 원고 제작 단계에서 나타났습니다.
‘차액가맹금, 본부가 먼저 준비해야 할 자료’라는 글을 만들고 다음 과정을 거쳤습니다.
리서치
→ 초안 작성
→ AI 문체 검수
→ 도메인 사실 확인
→ 법적 표현 확인
→ 구조 재작성
→ MDX 변환
→ 로컬 렌더 검증
AI 특유의 상투적인 문장과 기계적인 대조 구조도 찾아 수정했습니다.
그런데 모든 검수를 마친 글을 직접 읽어보니 문제가 있었습니다.
말끔했지만 지루했습니다.
고객의 관심에서 시작해 문제를 보여주고, 해결 방법을 설명한 뒤 우리 솔루션으로 이어져야 하는데 앞부분이 너무 길었습니다.
무엇보다 중요한 질문에 제대로 답하지 못했습니다.
그래서 자사의 본사용 운영관리 솔루션이 이 문제를 어떻게 해결한다는 것인가?
사실관계를 더 많이 넣는다고 해결되지 않았습니다.
글의 중심축 자체가 흐렸기 때문입니다.
결국 긴 원고를 계속 고치는 방식을 멈추고, 먼저 10줄 이내의 스토리텔링 요약으로 방향을 확인하는 방식으로 바꿨습니다.
1. 고객은 어떤 상황에 있는가?
2. 무엇이 불편한가?
3. 기존 방식은 왜 관리하기 어려운가?
4. 어떤 문제가 생길 수 있는가?
5. 해결의 핵심은 무엇인가?
6. 자사 솔루션의 어떤 실제 기능이 연결되는가?
7. 독자는 무엇을 해야 하는가?
차액가맹금 글도 ‘자료를 준비해야 한다’는 넓은 주제에서 벗어나, 관련 동의서를 자사 솔루션의 소통관리 기능으로 관리하는 이야기로 방향을 다시 잡았습니다.
현재 이 원고는 방향 컨펌 전이기 때문에 PR에 포함하지 않고 로컬에만 두었습니다.
결과와 배운 점
지금까지 만든 것
현재까지 다음 구성요소를 확보했습니다.
본부와 점주를 구분한 콘텐츠 마케팅 퍼널 PRD
키워드 12개의 검색 결과를 실측하는 수집·분석 도구
네이버 검색광고 API 기반 검색량 조회 도구
갱신 가능한 HTML 키워드 대시보드
SOP·QSC·차액가맹금 관련 글감 리서치 문서
미출시 기능 및 비교광고 표현을 통제 하는 가드레일
Obsidian 마크다운을 MDX로 변환하는 발행 경로
반응형 공개 인사이트 허브
AI 문체 검수와 사람의 컨펌을 결합한 원고 제작 루프
하지만 아직 완성된 자동화 시스템이라고 부르기는 어렵습니다.
자동화 범위가 넓어질수록 사실 오류, 서비스 기능의 과장, 법적 표현, 지루한 전개 같은 품질 리스크가 함께 커졌기 때문입니다.
가장 크게 배운 점
처음에는 콘텐츠 자동화를 다음처럼 생각했습니다.
키워드 입력
→ AI가 글 작성
→ 자동 발행
지금은 다음 구조가 더 현실적이라고 생각합니다.
목적과 독자 정의
→ 실제 검색 데이터 수집
→ 글의 핵심 메시지 결정
→ 10줄 스토리 컨펌
→ 초안 생성
→ 기능·수치·법적 표현 검수
→ 사람의 최종 편집
→ 발행
→ 성과 데이터 반영
자동화의 핵심은 사람을 완전히 빼는 것이 아니었습니다.
사람이 반드시 판단해야 하는 지점을 명확하게 정하고, 그 사이의 반복 작업을 자동화하는 것에 가까웠습니다.
다음 계획
앞으로는 글을 많이 생산하는 것보다, 일정 수준 이상의 품질을 반복해서 만들 수 있는 기준을 먼저 고정하려고 합니다.
원고 작성 전 10줄 스토리 승인
서비스 기능의 실제 제공 여부 확인
수치와 법령의 출처 확인
고객 문제와 솔루션 연결 여부 확인
AI식 상투 표현 제거
모바일·데스크톱 렌더 검증
발행 후 유입과 문의 데이터 기록
최종 목표는 ‘사람 없이 돌아가는 콘텐츠 공장’이 아닙니다.
조사와 반복 작업은 AI가 빠르게 처리하고,
회사의 신뢰를 좌우하는 판단은 사람이 통제하는 파이프라인.
지금은 자동화보다 품질 튜닝에 더 많은 시간이 들고 있습니다.
하지만 이 시행착오 덕분에, 무엇을 자동화해야 하는지보다 먼저 무엇을 자동화하면 안 되는지를 배우고 있습니다. 🚀