요약
•
CSV(또는 구글시트) 2~3개로 **“클러스터(주제)→필러→서포팅→업데이트”**를 추적하면, 네이버형 운영에서 가장 중요한 **주제 밀도(Context)**와 문서 의도 완결(D.I.A), 반복 패턴(어뷰징) 감지를 동시에 관리할 수 있습니다.
•
추천 구성: ① Content(콘텐츠 원장) ② Links(내부 링크 그래프) ③ Metrics(성과 로그, 선택)
목차
1.
전체 구조 개요
2.
CSV #1: Content(콘텐츠 원장) 컬럼 설계
3.
CSV #2: Links(내부 링크 그래프) 컬럼 설계
4.
CSV #3: Metrics(성과 로그) 컬럼 설계(선택)
5.
운영 규칙: 점수화/경고 로직
6.
SQL 쿼리 샘플
7.
결론 / FAQ
1) 전체 구조 개요
권장 파일 3종
•
content_assets.csv: 글 1건=1행 (기획~발행~업데이트~품질 체크까지)
•
content_links.csv: 내부 링크 1건=1행 (Pillar 허브 구조 검증용)
•
content_metrics.csv (선택): 날짜별 성과(노출/클릭 등) 기록
포인트: “문서”만 보지 말고 클러스터(주제군) 단위로 보고, 문서는 그 아래에서 역할(Role)을 갖습니다.
2) CSV #1: Content(콘텐츠 원장) 컬럼 설계
A. 식별/분류(필수)
컬럼명 | 타입 | 예시 | 설명 |
asset_id | string | A-20251214-001 | 글 고유 ID(날짜+일련번호) |
title | string | 서울 재건축 단계별 리스크 체크리스트 | 제목 |
status | enum | idea/draft/published/updated | 진행 상태 |
publish_date | date | 2025-12-14 | 발행일 |
last_update_date | date | 2025-12-20 | 최종 수정일 |
author | string | 파현 | 작성자(팀이면) |
core_topic | string | 서울 정비사업 | 코어 토픽(절대축) |
sub_cluster | string | 사업성/리스크/제도/지역/사례 | 하위 클러스터 |
role | enum | pillar/support/case/update | 글 역할(필러/서포팅/사례/업데이트) |
intent_type | enum | info/decision/howto/news | 검색 의도 유형(정보/판단/방법/시의성) |
funnel_stage | enum | discover/consider/decide | 독자 여정 단계(선택) |
B. D.I.A 구조 체크(필수)
컬럼명 | 타입 | 예시 | 설명 |
conclusion_first | bool | TRUE | 상단 7줄 내 결론 여부 |
evidence_block | bool | TRUE | 데이터/제도 근거 블록 존재 |
counter_risk_block | bool | TRUE | 반론·리스크 문단 존재 |
actionable_checklist | bool | TRUE | 체크리스트/의사결정 가이드 존재 |
scope_statement | bool | TRUE | 범위/비범위 선언(주제 확산 방지) |
originality_type | enum | data_rework/framework/case/none | 독창성 유형 |
sources_declared | bool | TRUE | 데이터/근거 출처 명시 여부 |
freshness_needed | bool | TRUE | 시의성 필요한 주제인가 |
update_log_included | bool | TRUE | 업데이트 로그 포함 여부 |
C. C-Rank(주제 일관성) 관리(필수)
컬럼명 | 타입 | 예시 | 설명 |
topic_fit_score | int(0-5) | 5 | 코어토픽 적합도(자체 평가) |
cluster_priority | int(1-3) | 1 | 1=핵심, 3=보조 |
internal_links_out_target | int | 5 | 이 글에서 나가야 할 링크 목표 |
internal_links_in_target | int | 3 | 이 글로 들어와야 할 링크 목표 |
hub_asset_id | string | A-20251214-000 | 이 글이 속한 필러(허브) ID |
D. AI/어뷰징 리스크 통제(필수)
컬럼명 | 타입 | 예시 | 설명 |
ai_used | bool | TRUE | AI 사용 여부 |
ai_usage_scope | enum | research/outline/edit/none | AI 사용 범위(조사/개요/문장정리/없음) |
ai_ratio_est | int(0-100) | 45 | AI 기여율 추정(운영 통제용) |
human_judgement_block | bool | TRUE | “내 판단/실무상” 문단 존재 |
template_similarity_group | string | T-DECISION-01 | 템플릿 그룹(반복 감지용) |
risk_flags | string | repeat_title,thin_content | 위험 플래그(콤마 구분) |
E. 키워드/메타(선택)
컬럼명 | 타입 | 예시 | 설명 |
primary_query | string | 재건축 분담금 | 메인 타깃 쿼리 |
secondary_queries | string | 비례율,조합,사업성 | 보조 쿼리 |
region_tag | string | 강남/여의도 | 지역 태그 |
asset_notes | string | 업데이트 필요: 금리/규제 | 메모 |
3) CSV #2: Links(내부 링크 그래프) 컬럼 설계
content_links.csv (1행=링크 1개)
컬럼명 | 타입 | 예시 | 설명 |
from_asset_id | string | A-20251214-001 | 링크 출발 글 |
to_asset_id | string | A-20251214-000 | 링크 도착 글(보통 Pillar/Hub) |
link_type | enum | pillar_to_support/support_to_pillar/support_to_case | 링크 유형 |
anchor_text | string | 분담금 계산 구조 | 앵커 텍스트 |
position | enum | intro/body/summary | 링크 위치 |
created_date | date | 2025-12-14 | 생성일 |
is_active | bool | TRUE | 링크 유효 여부 |
이 CSV 하나로 “허브로 회귀하는 흐름(Chain)”이 깨졌는지 바로 점검 가능합니다.
4) CSV #3: Metrics(성과 로그) 컬럼 설계(선택)
content_metrics.csv (1행=글×날짜)
컬럼명 | 타입 | 예시 | 설명 |
date | date | 2025-12-14 | 집계일 |
asset_id | string | A-20251214-001 | 글 ID |
impressions | int | 1200 | 노출 |
clicks | int | 85 | 클릭 |
ctr | float | 0.0708 | 클릭률 |
avg_position | float | 6.2 | 평균 노출 순위(가능하면) |
comments | int | 3 | 댓글 |
saves | int | 4 | 저장 |
backlinks_internal_in | int | 5 | 내부 유입 링크 수(links에서 계산해도 됨) |
5) 운영 규칙: 점수화/경고 로직
A. D.I.A 구조 점수(예시)
•
DIA_struct_score (0~100)
◦
conclusion_first(20) + evidence_block(20) + counter_risk_block(20) + actionable_checklist(20) + sources_declared(10) + originality_type!=none(10)
경고
•
70 미만: “의도 완결 부족”
•
counter_risk_block = FALSE: “신뢰 저하/낙관 편향 위험”
B. C-Rank 주제 밀도 경고(예시)
•
최근 20개 글에서 core_topic 동일 비율이 80% 미만이면 주제 확산 경고
•
sub_cluster가 한쪽으로 쏠리면(예: “뉴스/시의성” 과다) 장기 신뢰 약화 경고
C. 어뷰징(반복) 경고(예시)
•
최근 10개 글에서 template_similarity_group 동일 3회 연속 → 구조 반복 경고
•
ai_ratio_est ≥ 70 글이 5개 중 3개 → AI 과다 경고
•
human_judgement_block = FALSE 연속 → ‘주어 없는 글’ 누적 경고
6) SQL 쿼리 샘플
아래는 SQLite/PostgreSQL 스타일로 작성했습니다(컬럼명 동일 가정).
(1) 최근 20개 글의 코어토픽 일관성(주제 밀도)
WITH last20 AS (
SELECT core_topic
FROM content_assets
WHERE status IN ('published','updated')
ORDER BY publish_date DESC
LIMIT 20
),
counts AS (
SELECT core_topic, COUNT(*) AS cnt
FROM last20
GROUP BY core_topic
)
SELECT
core_topic,
cnt,
ROUND(100.0 * cnt / 20, 1) AS pct
FROM counts
ORDER BY cnt DESC;
SQL
복사
(2) D.I.A 구조 미달(핵심 블록 누락) 리스트
SELECT asset_id, title, publish_date,
conclusion_first, evidence_block, counter_risk_block, actionable_checklist
FROM content_assets
WHERE status IN ('published','updated')
AND (
conclusion_first = FALSE OR
evidence_block = FALSE OR
counter_risk_block = FALSE OR
actionable_checklist = FALSE
)
ORDER BY publish_date DESC;
SQL
복사
(3) “필러 허브로 회귀” 링크가 부족한 글 찾기
SELECT a.asset_id, a.title,
COUNT(l.to_asset_id) AS links_to_hub
FROM content_assets a
LEFT JOIN content_links l
ON a.asset_id = l.from_asset_id
AND l.link_type IN ('support_to_pillar','case_to_pillar')
WHERE a.status IN ('published','updated')
GROUP BY a.asset_id, a.title
HAVING COUNT(l.to_asset_id) < 1
ORDER BY links_to_hub ASC;
SQL
복사
(4) 템플릿 반복(어뷰징 위험) 탐지
SELECT template_similarity_group,
COUNT(*) AS cnt,
MIN(publish_date) AS first_date,
MAX(publish_date) AS last_date
FROM content_assets
WHERE status IN ('published','updated')
AND template_similarity_group IS NOT NULL
GROUP BY template_similarity_group
HAVING COUNT(*) >= 3
ORDER BY cnt DESC, last_date DESC;
SQL
복사
(5) AI 과다 + 판단문단 부재(리스크 조합)
SELECT asset_id, title, publish_date, ai_ratio_est, human_judgement_block
FROM content_assets
WHERE status IN ('published','updated')
AND ai_ratio_est >= 70
AND human_judgement_block = FALSE
ORDER BY publish_date DESC;
SQL
복사
결론
•
이 구조의 핵심은 “글 1개”가 아니라 “클러스터 자산”을 관리하는 것입니다.
•
콘텐츠 원장(Content) + 링크 그래프(Links) + 성과(Metrics)를 갖추면, **주제 일관성(C-Rank)**과 의도 완결(D.I.A), **반복 패턴(어뷰징)**을 데이터로 통제할 수 있습니다.
FAQ
Q1. CSV를 1개로 합치면 안 되나요?
A. 가능하지만, 링크는 “다대다 관계”라서 분리하는 게 유지보수/분석이 훨씬 쉽습니다.
Q2. 점수화가 꼭 필요하나요?
A. 필수는 아니지만, 운영이 길어질수록 “감(感)”이 무너집니다. 최소한 DIA_struct_score만이라도 추천합니다.
Q3. 실제로 어떤 형태로 시작하면 좋나요?
A. 처음엔 content_assets.csv만 만들고 20개만 기록하세요. 그다음 **필러 글 1개를 허브로 지정(hub_asset_id)**하고 links를 붙이면 바로 시스템이 돌아갑니다.
