블로그 분석기 – 품질 감사 및 점수은(는) 무엇을 하나요?
블로그 게시물을 5개 항목에 걸쳐 0~100점 척도로 평가하고 우선순위별 개선 권장사항을 제공합니다. AI 콘텐츠 탐지 분석도 포함합니다. 로컬 파일이나 게시된 URL 모두 지원합니다.
참고 문서:
references/quality-scoring.md– 전체 채점 체크리스트references/eeat-signals.md– E-E-A-T 평가 기준
입력 처리
- 로컬 파일: 파일을 직접 읽기
- URL: WebFetch로 가져와서 내용 추출
- 디렉터리: 블로그 파일 스캔 후 모두 감사 (배치 모드)
- 플래그:
--format json|table,--batch,--sort score
점수 매기기 프로세스
1단계: 내용 추출
블로그 게시물을 읽고 다음을 추출:
- 프론트매터 (제목, 설명, 날짜, lastUpdated, 저자, 태그)
- 제목 구조 (H1, H2, H3 계층)
- 단락 개수 및 단락별 단어 수
- 통계 (출처 유무를 포함한 숫자 주장)
- 이미지 (개수, alt 텍스트 유무, 형식)
- 차트/SVG (개수, 유형 다양성)
- 링크 (내부, 외부, 깨진 링크)
- FAQ 섹션 유무
- 스키마 마크업 (현재 유형)
- 메타 태그 (제목, 설명, OG 태그, 트위터 카드)
- 문장 길이 (burstiness 분석용)
- 어휘 토큰 (다양성 점수용)
2단계: 각 항목 점수 매기기
references/quality-scoring.md 파일을 불러와 전체 체크리스트를 확인합니다. 각 항목을 점수 매깁니다:
콘텐츠 품질 (30점)
| 체크 항목 | 점수 | 통과 기준 |
|---|---|---|
| 깊이/포괄성 | 7 | 주제를 철저히 다루고 주요 누락 없음 |
| 가독성 (Flesch 60-70) | 7 | Flesch 60-70 이상적, 55-75 허용; 학년 7-8; Gunning Fog 7-8 |
| 독창성/고유 가치 표지 | 5 | 독창적 데이터, 사례 연구, 직접 경험 |
| 문장 및 단락 구조 | 4 | 평균 문장 15-20단어, 20단어 초과 ≤25%; 단락 40-80단어; H2는 200-300단어마다 |
| 참여 요소 | 4 | 요약 상자, 강조 표시, 다양한 콘텐츠 블록. 허용: "TL;DR", "Key Takeaways", "The Bottom Line", "What You'll Learn", "At a Glance", "In Brief" |
| 문법/안티패턴 | 3 | 수동태 ≤10%, AI 트리거 단어 ≤5/1K, 전환 단어 20-30%, 깔끔한 산문 |
가독성 대역 (페르소나별 적용, 기본값 사용 가능):
| 독자층 | Flesch 학년 | Flesch 난이도 | 점수 영향 |
|---|---|---|---|
| 일반 소비자 | 6-8 | 60-80 | 범위 내이면 만점 |
| 전문가 | 8-10 | 50-60 | 범위 내이면 만점 |
| 기술 전문가 | 10-12 | 30-50 | 범위 내이면 만점 |
| 기본값 (페르소나 없음) | 7-8 | 60-70 | 현재 점수 방식 유지 |
콘텐츠 명확성은 AI 인용 가능성의 #2 요인입니다 (+32.83% 점수 차이). 미국 성인 평균 독서 수준은 7~8학년입니다.
SEO 최적화 (25점)
| 체크 항목 | 점수 | 통과 기준 |
|---|---|---|
| 키워드 포함 제목 계층 | 5 | H1 -> H2 -> H3, 건너뛰기 없음, 2~3개 제목에 키워드 포함 |
| 제목 태그 (40-60자, 키워드, 파워 워드) | 4 | 키워드 앞부분 배치, 긍정적 감성 |
| 키워드 배치/밀도 | 4 | 자연스러운 통합, 스터핑 금지, 처음 100단어 이내 |
| 내부 링크 (3-10개 맥락적) | 4 | 설명적 앵커 텍스트, 양방향 |
| URL 구조 | 3 | 짧고, 키워드 풍부, 불용어 없음, 소문자 |
| 메타 설명 (150-160자, 통계) | 3 | 사실 중심, 통계 포함 |
| 외부 링크 (tier 1-3) | 2 | 권위 있는 출처로 3-8개 아웃바운드 링크 |
E-E-A-T 신호 (15점)
| 체크 항목 | 점수 | 통과 기준 |
|---|---|---|
| 저자 표시 (이름 포함, 약력 포함) | 4 | 실명, 자격 증명, 판매 톤 금지 |
| 출처 인용 (tier 1-3, 인라인) | 4 | 8개 이상 고유 통계, 조작 0건 |
| 신뢰 지표 | 4 | 연락처 페이지, 소개 페이지, 편집 정책 |
| 경험 신호 | 3 | "When we tested...", 독창적인 사진/데이터 |
기술 요소 (15점)
| 체크 항목 | 점수 | 통과 기준 |
|---|---|---|
| 스키마 마크업 (3+ 유형 = 보너스) | 4 | BlogPosting + FAQ + Person 최소 |
| 이미지 최적화 | 3 | AVIF/WebP, 설명적 alt 텍스트, LCP 제외 지연 로딩 |
| 구조화된 데이터 요소 | 2 | 표, 목록, 비교 블록 |
| 페이지 속도 신호 | 2 | LCP < 2.5s, 렌더링 차단 JS 없음 |
| 모바일 친화성 | 2 | 반응형, 탭 대상 48px+ |
| OG/소셜 메타 태그 | 2 | og:title, og:description, og:image, twitter:card |
AI 인용 준비도 (15점)
| 체크 항목 | 점수 | 통과 기준 |
|---|---|---|
| 문단 수준 인용 가능성 (120-180단어) | 4 | 통계 + 출처를 포함한 독립 섹션 |
| Q&A 형식 섹션 | 3 | H2의 60-70%가 질문 형태, FAQ 존재 |
| 개체 명확성 | 3 | 모호하지 않은 주제 개체, 일관된 용어 |
| 추출용 콘텐츠 구조 | 3 | 답변 우선, thead가 있는 표, 비교 형식 |
| AI 크롤러 접근성 | 2 | SSR/SSG, JS 차단 콘텐츠 없음 |
3단계: AI 콘텐츠 탐지
게시물의 AI 생성 콘텐츠 위험을 분석합니다:
Burstiness 점수 (문장 길이 분산):
- 게시물 전체 문장 길이의 표준 편차 계산
- 인간 글쓰기: 높은 분산 (짧고 임팩트 있는 문장 + 길고 복잡한 문장)
- AI 글쓰기: 낮은 분산 (일관된 중간 길이 문장)
- 점수: 0-10 척도 (10 = 매우 인간스러운 burstiness)
알려진 AI 문구 탐지 – 다음 17개 문구의 발생 횟수 기록:
- "It's important to note"
- "In today's digital landscape"
- "Delve into"
- "Navigating the complexities"
- "Let's explore"
- "Furthermore"
- "In conclusion"
- "It is worth mentioning"
- "Embark on"
- "Cutting-edge"
- "Leverage" (동사, 비금융 맥락)
- "Game-changer"
- "Revolutionize"
- "Streamline"
- "Harness the power"
- "Dive deep"
- "Unlock the potential"
- 엠 대시(-) – 모든 인스턴스 카운트, AI 글쓰기 패턴으로 플래그
어휘 다양성 (Type-Token Ratio):
- 고유 단어 / 전체 단어 계산
- 인간 글쓰기: 장문에서 TTR 일반적으로 0.4-0.6
- AI 글쓰기: TTR 종종 0.35 미만 (반복적 어휘)
AI 콘텐츠 위험 평가:
- 결합된 신호를 바탕으로 AI 확률 > 50%인 경우 플래그
- 플래그를 유발한 특정 구절 제공
- 인간화 권장: 개인적인 일화, 다양한 문장 리듬, 도메인 전문 용어
4단계: 등급 결정
| 점수 | 등급 | 조치 |
|---|---|---|
| 90-100 | 탁월 | 그대로 발행, 최고 콘텐츠 |
| 80-89 | 강력 | 약간의 다듬기, 발행 준비 완료 |
| 70-79 | 수용 가능 | 목표 개선 필요 |
| 60-69 | 기준 미달 | 상당한 재작업 필요 |
| < 60 | 재작성 | 근본적 문제, 개요부터 시작 |
5단계: 보고서 생성
기본 출력 형식 (Markdown):
## 블로그 품질 보고서: [제목]
**점수: [X]/100** -- [등급]
### 항목별 점수
| 항목 | 점수 | 최대 | 비고 |
|------|------|------|------|
| 콘텐츠 품질 | X | 30 | [1줄 요약] |
| SEO 최적화 | X | 25 | [1줄 요약] |
| E-E-A-T 신호 | X | 15 | [1줄 요약] |
| 기술 요소 | X | 15 | [1줄 요약] |
| AI 인용 준비도 | X | 15 | [1줄 요약] |
| **합계** | **X** | **100** | |
### AI 콘텐츠 위험
- **Burstiness 점수**: [X]/10 ([인간적 / 보통 / 단조로움])
- **탐지된 AI 문구**: [N] ([발견된 문구 목록])
- **어휘 다양성 (TTR)**: [X] ([높음 / 수용 가능 / 낮음])
- **AI 확률**: [X]% -- [문제 없음 / 검토 권장 / 높은 위험]
- **플래그된 구절**: [해당되는 경우 단조롭거나 공식적인 섹션 인용]
### 발견된 문제
#### 심각 (반드시 수정)
- [ ] [문제 위치 및 수정 방법]
#### 높은 우선순위
- [ ] [문제 위치 및 수정 방법]
#### 중간 우선순위
- [ ] [문제 위치 및 수정 방법]
#### 낮은 우선순위
- [ ] [문제 위치 및 수정 방법]
### 빠른 통계
- 단어 수: [N]
- 단락: [N] (X개는 150단어 초과)
- H2 섹션: [N] (X개는 질문 형식, X개는 답변 우선 형식)
- 통계: [N] 출처 포함 / [N] 출처 미포함
- 이미지: [N] (X개는 alt 텍스트 있음, 형식: ...)
- 차트: [N] (유형: ...)
- 내부 링크: [N]
- 외부 링크: [N] (티어 분류: ...)
- 스키마 유형: [목록]
- OG/소셜 태그: [있음/없음]
### 권장 조치
1. [가장 영향력 있는 수정 -- 심각 항목 우선]
2. [두 번째로 영향력 있는 수정]
3. [세 번째]
`/blog rewrite <file>` 명령어를 실행하여 이러한 최적화를 자동으로 적용하세요.
내보내기 형식
기본: 마크다운 보고서
위에 표시된 표준 상세 보고서입니다.
JSON 내보내기 (--format json)
CI/CD 또는 대시보드와 통합하기 위한 기계 판독 가능 출력:
{
"file": "post.md",
"title": "...",
"score": 78,
"rating": "Acceptable",
"categories": {
"content_quality": { "score": 22, "max": 30 },
"seo_optimization": { "score": 18, "max": 25 },
"eeat_signals": { "score": 12, "max": 15 },
"technical_elements": { "score": 13, "max": 15 },
"ai_citation_readiness": { "score": 13, "max": 15 }
},
"ai_detection": {
"burstiness": 6.2,
"ai_phrases_found": ["Furthermore", "Let's explore"],
"ttr": 0.44,
"ai_probability": 32
},
"issues": {
"critical": [],
"high": [],
"medium": [],
"low": []
}
}
테이블 내보내기 (--format table)
빠른 검토를 위한 간결한 요약:
File | Score | Rating | Content | SEO | EEAT | Tech | AI-Ready | AI Risk
post.md | 78 | Acceptable | 22/30 | 18/25 | 12/15 | 13/15 | 13/15 | 32%
배치 모드
디렉터리가 주어지거나 --batch 플래그가 사용되면 블로그 파일을 스캔하고 요약 테이블을 생성합니다. --sort score를 사용하여 점수순으로 정렬합니다 (기본 오름차순).
## 블로그 감사 요약: 분석된 게시물 [N]개
| 파일 | 점수 | 등급 | 콘텐츠 | SEO | EEAT | 기술 | AI 준비 | AI 위험 | 최상위 문제 |
|------|------|------|--------|-----|------|------|---------|---------|-------------|
| post-1.md | 85 | Strong | 26/30 | 20/25 | 13/15 | 14/15 | 12/15 | 18% | OG 태그 누락 |
| post-2.md | 42 | Rewrite | 10/30 | 8/25 | 5/15 | 9/15 | 10/15 | 71% | 12개 조작 통계 |
| post-3.md | 71 | Acceptable | 20/30 | 16/25 | 10/15 | 12/15 | 13/15 | 25% | 답변 우선 없음 |
### 우선순위 큐 (가장 낮은 점수 순)
1. post-2.md (42) -- 전체 재작성 필요, 높은 AI 콘텐츠 위험
2. post-3.md (71) -- 답변 우선 형식 + 통계 필요
3. post-1.md (85) -- OG 태그 추가, 약간의 다듬기
가장 낮은 점수부터 `/blog rewrite <file>` 명령어를 각각 실행하세요.