Search

CSV 기반 콘텐츠 자산 관리 구조

요약

•
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를 붙이면 바로 시스템이 돌아갑니다.
Kakao Channel