내가 로컬 LLM을 사용해 10,000개 이상의 페이지에 대한 SEO 콘텐츠를 생성하는 방법

발행: (2026년 3월 10일 AM 10:37 GMT+9)
15 분 소요
원문: Dev.to

Source: Dev.to

Apex Stack

AI를 활용한 콘텐츠에 대한 과대광고가 많이 떠돌고 있습니다. 대부분은 블로그 글을 더 빨리 쓰는 것에 초점을 맞추죠. 이는 괜찮지만, 더 큰 기회를 놓치고 있습니다: 프로그래밍 방식의 콘텐츠 파이프라인에 AI를 구성 요소로 사용해 수천 개의 고유 페이지를 생성하는 것입니다.

저는 12개 언어에 걸쳐 287 000개의 페이지를 보유한 주식 비교 사이트를 운영하고 있습니다. 각 페이지에는 AI가 생성한 서술 섹션이 들어가 있는데, 이는 일반적인 채우기 문구가 아니라 각 주식 쌍에 특화된 분석입니다. AI가 페이지 전체를 쓰는 것이 아니라, 인간적인 느낌이 필요한 부분만 작성하고, 나머지는 구조화된 데이터가 담당합니다.

아래는 시스템이 작동하는 방식과 Google이 실제로 받아들이는 AI 콘텐츠를 만들기 위해 제가 배운 내용입니다.

Why a Local LLM (and Why Llama 3)

First question everyone asks: Why not just use the OpenAI API?

FactorWhy a local Llama 3 instance wins
Cost287 k 페이지 × 500‑800 토큰 ≈ $200‑$400 (GPT‑3.5 요금 기준) 초기 생성만으로도. 템플릿 업데이트, 다국어 변형, 반복 개선을 위한 재생성이 빠르게 누적됩니다.
SpeedAPI 속도 제한으로 인해 요청이 대기열에 쌓여 며칠이 걸릴 수 있습니다. 적절한 GPU를 갖춘 로컬 Llama 3은 시간당 수천 페이지를 생성할 수 있으며, 속도 제한이나 서비스 중단에 구애받지 않습니다.
Control프롬프트를 미세 조정하고, 생성 파라미터를 조정하며, 비용을 걱정하지 않고 전체 배치를 다시 실행할 수 있습니다. 저는 품질 검사를 지속적으로 통과하는 결과물을 얻을 때까지 약 15번의 프롬프트 템플릿 반복 작업을 거쳤습니다.
Privacy금융 데이터가 제3자 API를 통해 흐르는 것은 이상적이지 않습니다. 로컬에서 실행하면 모든 데이터가 온프레미스에 보관됩니다.

That said, cloud APIs have their place—for one‑off content, complex reasoning tasks, or when you need the best possible quality on a small number of pages, GPT‑4 or Claude is better. But for batch generation at scale, local is the way to go.

템플릿 + AI 하이브리드

핵심 개념: AI가 전체 페이지를 작성하는 것이 아니라, 구조화된 템플릿 내의 특정 섹션을 작성합니다.

페이지 구조 (단순화)

[Header — ticker names, logos, prices]          ← Structured data
[Key Metrics Table — P/E, market cap, etc.]      ← Structured data
[AI Comparison Summary — 2‑3 paragraphs]        ← AI generated
[Dividend Analysis]                             ← Mix of data + AI narrative
[Growth Metrics Chart]                          ← Structured data
[AI Investment Considerations]                  ← AI generated
[FAQ Section]                                   ← AI generated from data
[Schema Markup]                                  ← Auto‑generated

Note: 각 페이지의 약 60‑70 %는 템플릿이 렌더링하는 구조화된 데이터이며, AI는 나머지 30‑40 %인 자연어가 필요한 부분—요약, 분석, FAQ—을 채웁니다.

하이브리드 접근 방식의 장점

  • 고유성: 모든 페이지가 서로 다른 데이터 서로 다른 서술을 가지고 있어 Google이 중복 콘텐츠로 표시하지 않습니다.
  • 정확성: AI는 프롬프트에 전달된 실제 재무 데이터를 기반으로 텍스트를 생성하며, 학습 데이터에서 가져오는 것이 아닙니다. 이는 콘텐츠를 사실에 기반하게 하고 환상을 줄여줍니다.

프롬프트 아키텍처

정확한 프로덕션 프롬프트는 공유할 수 없습니다(전체 청사진에 있습니다), 하지만 일반적인 접근 방식을 소개합니다.

1. 컨텍스트 주입

각 프롬프트는 해당 주식 쌍에 대한 실제 데이터로 시작합니다. AI가 처음부터 생성하는 것이 아니라 제공받은 데이터를 분석하고 서술합니다.

You are analyzing {STOCK_A} vs {STOCK_B}.

Here is the current financial data:
- {STOCK_A} P/E: {pe_a}, Market Cap: {mcap_a}, Dividend Yield: {div_a}
- {STOCK_B} P/E: {pe_b}, Market Cap: {mcap_b}, Dividend Yield: {div_b}

Write a 2‑paragraph comparison focusing on...

2. 변형 지시사항

모든 페이지가 동일하게 들리지 않도록 무작위 스타일 지시를 포함합니다: 문장 길이를 다양하게 하고, 주식 A 또는 주식 B로 시작을 교차시키며, 다른 비교 프레임워크(가치 vs 성장, 소득 vs 평가 등)를 사용합니다.

3. 출력 제약조건

  • 단어 수 제한
  • 형식 요구사항(예: 마크다운 헤딩, 불릿 리스트)
  • 명시적인 “포함 금지” 규칙(본문에 금융 조언 면책 조항 금지, “AI로서”와 같은 자기 언급 금지, 일반적인 채우기 문구 금지)

4. 품질 게이트

생성 후, 각 콘텐츠는 자동 검사를 통과합니다:

  • 다른 생성 페이지와 비교한 최소 고유성 점수
  • 가독성 점수(예: Flesch‑Kincaid)
  • 원본 데이터와의 사실 일관성
  • 키워드 밀도 검사

Source:

Google의 유용한 콘텐츠 업데이트가 의미하는 바

Google의 공식 입장: AI‑생성 콘텐츠가 자동으로 나쁜 것은 아니다. 품질이 낮은 콘텐츠는 제작 방식에 관계없이 나쁘다.

내가 287 k 페이지에서 관찰한 내용

색인된 페이지는 다음을 가지고 있음색인되지 않은 페이지는 다음을 가지고 있음
고유한 데이터 포인트어떤 주식 쌍에도 적용될 수 있는 일반적인 서술
해당 데이터에 연결된 구체적인 분석단순히 숫자를 반복하는 얇은 분석
올바른 스키마 마크업페이지 간에 너무 유사한 패턴
사람이 실제로 입력할 검색 질의에 대한 답변명확한 검색 의도가 없음

교훈: AI 콘텐츠는 실제로 구체적인 내용을 담아야 한다.

  • 얇음: “주식 A는 주식 B보다 높은 P/E를 가지고 있다.”
  • 유용함: “주식 A의 P/E 35는 시장이 상당한 성장을 기대한다는 의미이며, 이는 지난 분기에 매출이 40 % 증가한 점과 일치한다. 반면 주식 B의 P/E 12는 보다 성숙한 기업으로, 안정적이지만 성장 속도가 느린 것을 반영한다.”

내러티브가 맥락, 해석 및 실행 가능한 인사이트를 제공할 때, Google은 이를 유용한 콘텐츠로 간주한다.

다국어 생성

프로그래밍 SEO의 가장 큰 장점 중 하나는 저비용으로 다국어를 지원할 수 있다는 점이다. 내가 이를 처리하는 방법은 다음과 같다:

ComponentApproach
템플릿 문자열 (헤더, 라벨, 버튼 텍스트)인간 번역가가 한 번 번역하고 로케일 파일에 저장한다 (언어당 ≈ 200‑300개의 문자열).
AI 내러티브 섹션대상 언어로 직접 생성한다 (영어에서 번역되지 않음). 프롬프트는 영어이지만, 모델에게 데이터를 삽입한 상태로 대상 언어로 출력하도록 지시하여 보다 자연스러운 콘텐츠를 만든다.
데이터로케일마다 동일하게 유지된다 (숫자, 티커 심볼, 백분율). 형식(날짜 형식, 숫자 구분자)은 로케일에 따라 템플릿에서 처리한다.

결과: 최소한의 언어당 노력으로 12개 언어를 지원한다. 무거운 작업은 시스템 구축에 있으며, 추가 언어당 보통 2‑3 일 정도 소요된다.

비용 상세

경제성을 궁금해 하시는 분들을 위해:

항목비용
로컬 GPU (일회성, 중고 RTX 3090)~ $700
생성 실행에 필요한 전기~ $5 / 배치
Supabase (무료 티어 + 소액 유료)$25 / 월
호스팅 (DigitalOcean Spaces)$5 / 월
Cloudflare CDN무료 티어
도메인$12 / 년

월간 반복 비용 총합: ~ $30 / 월

대규모 API 호출 비용을 지불하거나 작가를 고용하는 것에 비해, 로컬 LLM은 약 5 k–10 k 페이지 정도의 콘텐츠를 생성한 뒤 자체 비용을 회수합니다.

내가 만든 실수

  1. 시작 시 페이지를 너무 많이 – Google이 색인할 것을 확인하기 전에 287 k 페이지에 대한 콘텐츠를 생성했습니다. 약 5 k 페이지 정도로 시작해 색인된 후에 확장했어야 했습니다.
  2. 프롬프트 변형 부족 – 첫 번째 단계에서는 모든 페이지에 동일한 프롬프트 구조를 사용했습니다. 출력은 기술적으로는 고유했지만 구조가 동일해 Google이 문제로 판단했습니다. 두 번째 단계에서 무작위 스타일 지시를 추가하니 큰 차이가 있었습니다.
  3. 가독성 무시 – 초기 AI 출력은 조밀하고 임상적이었습니다. 실제 금융 분석은 기술적 세부사항과 이해하기 쉬운 설명 사이를 오갑니다. 그래서 이러한 변화를 명시적으로 프롬프트에 포함시켰습니다.
  4. 초기 품질 게이트 부재 – 모든 것을 일괄 생성하고 한 번에 모두 게시했습니다. 게시 전 자동 품질 검사를 구현해 AI 출력 하위 10 %를 걸러내면 얇은 콘텐츠 플래그를 방지할 수 있습니다.

Source:

오늘의 시스템

  1. 데이터 새로 고침yfinance를 통해 최신 금융 데이터를 가져옵니다 (일일 크론 작업).
  2. 콘텐츠 생성 – 오래되었거나 서술이 없는 페이지에 Llama 3을 실행합니다 (주간).
  3. 품질 검사 – 고유성, 가독성, 사실 정확성을 위한 자동 점수화.
  4. 빌드 – Astro가 모든 페이지에 대한 정적 HTML을 생성합니다.
  5. 배포 – CDN에 푸시합니다.

전체 과정은 단일 머신에서 실행됩니다. 주당 총 인력 시간: 모니터링 및 가끔 프롬프트 조정에 약 2시간 정도.

전체 기술 세부 사항—정확한 프롬프트 템플릿, 품질 점수 시스템, Astro 프로젝트 구조, 전체 배포 파이프라인—을 보고 싶다면 Programmatic SEO Blueprint 를 확인하세요. 여기에는 MIT 라이선스 코드를 포함한 예제가 있어 자신의 프로젝트에 적용할 수 있습니다.

규모에 맞는 AI 기반 콘텐츠 시스템 구축에 대한 더 많은 정보를 원한다면 팔로우하세요.

0 조회
Back to Blog

관련 글

더 보기 »