반복 작업을 Python 스크립트로 줄인 사례
블로그를 만들고 글이 늘어나면 반복 확인 작업이 생깁니다. 처음에는 손으로 봐도 되지만, 글이 10개를 넘기면 점점 귀찮아집니다.
Daejin Lab에서도 글을 추가하고 보강하면서 아래 같은 확인을 반복했습니다.
글 파일이 몇 개인가?
각 글에 category가 있는가?
tags가 비어 있지 않은가?
본문이 너무 짧은 글은 없는가?
빌드가 통과하는가?
이런 작업은 사람이 매번 눈으로 보기보다 Python 스크립트로 줄이기 좋습니다.
예시: 글 개수와 기본 정보 확인
Markdown 파일을 읽어서 대략적인 상태를 보는 간단한 스크립트는 이렇게 만들 수 있습니다.
from pathlib import Path
base = Path("src/content/blog")
for path in sorted(base.glob("*.md")):
text = path.read_text(encoding="utf-8")
body = text.split("---", 2)[-1]
word_count = len(body.replace("
", " ").split())
has_category = "category:" in text
has_tags = "tags:" in text
print(path.name, word_count, has_category, has_tags)
이 정도만 있어도 “어떤 글이 너무 짧은지”, “메타 정보가 빠진 글이 있는지”를 빠르게 볼 수 있습니다.
자동화하기 좋은 블로그 점검 항목
개인 블로그 운영에서 자동화하기 좋은 항목은 다음과 같습니다.
Markdown 글 개수 세기
draft: true 글 찾기
카테고리별 글 수 집계
본문 길이가 짧은 글 찾기
태그가 없는 글 찾기
이미지 경로 깨짐 확인
sitemap URL 개수 확인
이런 항목은 판단보다 반복 확인에 가깝습니다. 그래서 AI보다 스크립트가 더 안정적일 때도 많습니다.
자동화하면 안 좋은 부분
반대로 글의 품질 판단은 아직 사람이 봐야 합니다.
이 글이 실제 경험처럼 보이는가?
문장이 너무 AI처럼 반복되는가?
독자가 얻어갈 내용이 있는가?
AdSense 신청 전에 신뢰도가 충분한가?
스크립트는 “짧은 글”을 찾을 수는 있지만, “좋은 글”을 최종 판단하지는 못합니다.
Daejin Lab에서의 활용 방향
앞으로 글이 30개를 넘기면 간단한 점검 스크립트를 둘 계획입니다.
npm run build 전 콘텐츠 점검
카테고리별 글 수 확인
AdSense 신청 전 체크리스트 출력
Search Console 제출 URL 목록 정리
이런 자동화는 블로그 1개일 때보다 3~5개로 늘어났을 때 효과가 커집니다.
이번에 실제로 돌린 점검
이번에는 글 목록을 눈으로 세지 않고, 간단한 Python 점검으로 현재 상태를 먼저 봤습니다.
전체 글 수: 31개
블로그 자동화: 11개
AI 도구: 6개
실전 기록: 6개
개발 자동화: 4개
로컬 LLM: 4개
이미지가 들어간 글: 0개
이 숫자를 보고 바로 다음 작업이 정해졌습니다. 글을 무작정 더 늘리기보다, 먼저 약한 글 10개를 보강하고 개발 자동화·로컬 LLM 카테고리를 채우는 편이 낫다고 판단했습니다.
스크립트가 좋은 이유는 여기 있습니다. 감으로 “글이 부족한 것 같다”고 말하는 대신, 어떤 카테고리가 약한지 바로 볼 수 있습니다.
결론
Python 스크립트는 거창한 자동화보다 반복 확인을 줄이는 데 먼저 쓰는 편이 좋습니다.
처음 목표는 “블로그 운영을 완전 자동화하기”가 아니라, 사람이 매번 확인하던 작은 체크를 줄이는 것입니다. 이 정도만 해도 글 작성과 검수에 더 많은 시간을 쓸 수 있습니다.
이번 점검에서 스크립트로 본 지표
반복 점검 스크립트는 “대충 괜찮아 보인다”를 숫자로 바꾸는 데 쓸모가 있었습니다. 이번 Daejin Lab 보강에서도 사람이 읽기 전에 먼저 아래 항목을 뽑아봤습니다.
| 점검 항목 | 스크립트로 볼 수 있는 것 | 사람이 다시 판단할 것 |
|---|---|---|
| 글 수 | Markdown 파일 개수, draft 제외 여부 | 신청하기에 충분한 운영 기간인가 |
| 내부 링크 | /blog/ 링크 개수 | 실제로 다음 글을 읽게 만드는 연결인가 |
| 이미지 | heroImage 유무 | 꼭 이미지가 필요한 글인가, 표가 더 나은가 |
| 설명문 | description 길이 | 검색 의도와 글 내용이 맞는가 |
| 빌드 | npm run build 성공 여부 | 공개 사이트에서 반영됐는가 |
이 점검은 블로그 글 하단에 관련 글과 내부 링크를 넣은 이유와 Cloudflare Pages 배포 후 꼭 확인하는 체크리스트를 함께 봐야 의미가 있습니다. 숫자는 방향을 잡아주지만, 최종 판단은 실제 페이지를 열어보고 해야 했습니다.