본문 자동 분석으로 SEO 메타 태그 생성 자동화
목차
본문 내용으로부터 페이지의 SEO 메타 태그(metaTitle, metaDesc)를 자동으로 생성하는 헬퍼 모듈을 만들었다. 단순한 기능 추가 같지만, 팀의 콘텐츠 관리 효율과 SEO 일관성에 꽤 실질적인 영향을 미친 작업이다.
왜 자동화가 필요했나
이전까지는 개발 팀과 콘텐츠 팀이 각각 페이지를 만들 때 metaTitle과 metaDescription을 수동으로 작성했다. 문제는 몇 가지였다:
- 일관성 부족: 팀원마다 작성 스타일이 다르고, 키워드 포함 여부도 제각각
- 반복 업무: 본문이 이미 있는데 요약을 다시 만드는 중복 작업
- 누락 위험: 급하게 배포할 때 메타 태그를 깜빡하는 경우 발생
- SEO 손실: 검색 엔진 최적화 관점에서 주요 키워드가 누락되기 쉬움
특히 콘텐츠 량이 많아질수록 이런 문제가 누적됐다. "이거 자동화하면 더 나을 텐데" 하는 생각이 들었고, 그래서 헬퍼 모듈을 만들게 됐다.
어떻게 구현했나
seo_generate.py는 다음 같은 워크플로우로 작동한다:
| 입력 | 처리 | 출력 |
|---|---|---|
| 페이지 본문 (HTML/마크다운) | 텍스트 추출 + 요약 + 키워드 분석 | metaTitle (60자 이내) |
| — | — | metaDescription (160자 이내) |
# 개념적 인터페이스
def generate_seo_meta(content: str,
brand_name: str = None,
target_keywords: List[str] = None) -> dict:
"""
본문으로부터 SEO 메타 태그 생성
Returns:
{
"metaTitle": "...",
"metaDescription": "...",
"confidence": 0.85 # 생성 신뢰도
}
"""
핵심은 단순함이었다. 거창한 AI 모델을 쓰기보다, 기본 텍스트 처리(문장 추출, 요약, 키워드 빈도 분석)로 시작했다. 이렇게 하면:
- 빠르다: 네트워크 의존성 없음
- 비용 낮다: 외부 API 호출 불필요
- 예측 가능하다: 팀이 결과를 쉽게 이해하고 조정 가능
팀 의사결정: "완벽할 필요는 없다"
초기에는 "AI를 써서 정말 좋은 메타 설명을 자동 생성해야 한다"는 의견도 있었다. 하지만 몇 가지 이유로 더 간단한 접근을 선택했다:
- 점진적 개선: 먼저 기본 버전을 배포해서 팀이 실제로 써보고, 불편한 점을 개선하는 게 낫다
- 휴먼 리뷰: 자동 생성 결과는 검수 단계에서 팀이 최종 확인하므로, 완벽할 필요가 없다
- 유지보수 용이: 복잡한 모델보다 직관적인 로직이 팀 전체가 이해하고 수정하기 쉽다
이런 식으로 생각하니 PR 리뷰도 훨씬 빨랐다. 코드가 간단하면 팀원들의 피드백도 더 명확해진다.
피할 함정들
비슷한 자동화를 할 때 조심해야 할 점들:
- HTML 정제 실패: 본문에 스크립트나 주석이 섞여 있으면 제거 필수 (XSS 위험)
- 언어 감지: 다국어 서비스라면 언어별로 요약 전략이 달라야 함
- 키워드 오버피팅: 자동 생성이라고 해서 키워드를 억지로 집어넣으면 SEO에 역효과
- 길이 초과: metaTitle은 보통 60자, Description은 160자 제한이 있음. 초과 문자열은 자동 절삭 필수
초반에 이런 엣지 케이스를 놓쳤다가 테스트 단계에서 발견할 수 있었다. 팀과 함께 "어떤 경우에 실패할 수 있는지" 체크리스트를 만들고 하나씩 처리했다.
배운 점
이 작업을 통해 몇 가지를 다시 깨달았다:
- 자동화의 목표는 정확성만이 아니다: 휴먼 에러 줄이기, 반복 업무 감소, 팀의 인지 부하 낮추기도 중요하다
- 첫 버전은 80점으로 충분하다: 나머지 20점은 실사용 과정에서 채워진다. 완벽을 기다리면 배포가 늦어진다
- 도구는 팀 맥락을 반영해야 한다: 일반적인 베스트 프랙티스도 중요하지만, 우리 팀이 실제로 쓸 방식과 검수 프로세스를 먼저 생각해야 한다
다음은 이 헬퍼를 기반으로 콘텐츠 팀의 메타 태그 관리 프로세스 자체를 개선할 수 있을 것 같다.
🛒 이 글과 어울리는 추천 상품
*위 링크는 쿠팡파트너스 활동의 일환이며, 일정액의 수수료를 제공받을 수 있습니다.
댓글 0
첫 댓글 달아줘.