본문 바로가기
솔로프리너 블로그
블로그 자동화9분 읽기

6개월간 AI 블로그 자동화에 매달렸는데, 구글이 "가치 없는 콘텐츠"라고 했다

Gemini로 95편을 찍어냈고, 11편을 발행했다. 오늘 아침 AdSense 메일이 왔다: "주의 필요 — 가치가 별로 없는 콘텐츠". 기술 문제는 없었다. 구글이 본 건 콘텐츠 자체였다. 이 글은 그 6개월의 복기이자, 오늘부터 시작하는 작업일지 블로그의 선언이다.

6개월간 AI 블로그 자동화에 매달렸는데, 구글이 "가치 없는 콘텐츠"라고 했다

2026년 4월 17일 아침, 애드센스에서 메일이 한 통 도착했다. 읽는 데 3초면 충분한 내용이었는데도 나는 세 번을 다시 읽었고, 그러고 나서야 대시보드를 열었다. 빨간 배지는 거기 그대로였다.

주의 필요: sprblog.org — 가치가 별로 없는 콘텐츠

Ads.txt 상태는 "승인됨" 초록 배지 그대로였으니 기술적인 문제는 아니었다. 구글이 본 건 단 하나, 콘텐츠 자체의 품질이었다. 이 글은 그 메일을 받고 30분 만에 정리한 복기이자, 오늘부터 시작하는 작업일지 블로그의 선언이기도 하다.

6개월 동안 내가 만든 파이프라인

블로그를 시작한 건 2025년 말이었고, 목표는 단순했다. "AI로 콘텐츠를 자동 생산해서 애드센스 + 제휴 마케팅으로 월 100만 원 패시브 인컴을 만든다"—당시 트위터와 유튜브에서 넘쳐나던 성공 사례 속에 나도 한 자리를 잡고 싶었다.

파이프라인은 6개의 조각으로 이뤄져 있었다.

  1. n8n 워크플로로 키워드 자동 발굴 — 매주 트렌드 키워드를 수집
  2. Gemini 2.5 Flash로 콘텐츠 생성 — 키워드 하나를 1500자 SEO 글로 변환
  3. 이미지 자동 생성 — Gemini 이미지 + Unsplash 폴백
  4. 예약 발행 시스템 — 15분마다 큐를 확인해서 자동 업로드
  5. 뉴스레터 자동 발송 — 매주 월요일 오전 10시
  6. 제휴 상품 자동 삽입 — 12개 플랫폼(Amazon, 쿠팡, 노션 등)

그림으로 그리면 이랬다. 돌아가는 조각들과, 그 안에 조용히 쌓이고 있던 저품질 신호까지.

코드는 돌아갔고 워크플로는 멎지 않았으며 Gemini는 군말 없이 글을 찍어냈다. 그래서 나는 한동안, 이게 잘 되고 있는 거라고 믿었다.

6개월 뒤의 숫자

메일을 받고 나서 제일 먼저 한 일은 Supabase에 쿼리 한 줄을 날리는 것이었다.

SELECT
  COUNT(*) FILTER (WHERE deleted_at IS NOT NULL) AS archived,
  COUNT(*) FILTER (WHERE status = 'published' AND deleted_at IS NULL) AS live
FROM blog_posts;

결과가 이랬다.

지표
생성한 글95편
발행까지 도달한 글11편
현재 live 글0편
애드센스 경고1통

95편을 만들어 0편이 살아남은 셈이다. 그 사이 11편은 한 번 발행됐다가 내 자신의 기준에 미달해서 9일 전에 전부 soft-delete했고, 나머지 84편은 발행조차 못 하고 draft 상태로 지워졌다. 애드센스는 이 모든 과정을 조용히 지켜보고 있었다.

구글이 본 3가지 신호

경고를 받고 남아 있던 11개 발행 글의 메타데이터를 다시 뜯어봤더니 부끄러울 정도로 선명한 패턴이 있었다.

신호 1 — 깨진 로마자 슬러그

Gemini는 한글 제목을 영어 슬러그로 바꿀 때 종종 로마자로 망가뜨렸다. 예를 들어 "솔로프리너를 위한 SNS 마케팅 전문가 자격증" 글의 실제 슬러그는 이렇게 나왔다.

solkropeurineoreulk-wihan-sns-maketij-jeonmunga-jagyeokjeuj-jinjja-pilkyohangayo

사람도 못 읽는 URL을 구글이 읽을 리 없었고, 이런 슬러그가 11개 중 2개에 박혀 있었다. 크롤러 입장에서는 저품질·스팸 사이트의 전형적인 지문처럼 보였을 것이다.

신호 2 — 1000단어 미만 얇은 글

11개 글의 단어 수 중앙값은 1364단어였지만, 하위 2개는 각각 610단어와 919단어에 그쳤다. 애드센스가 내부적으로 선을 긋는 "thin content" 경계가 대략 1500단어 근처라는 건 여기저기서 들은 얘기였는데, 깊이를 만들 시간을 나는 AI에게 맡겨놓았고 AI는 길이를 채우는 일에만 최적화돼 있었다.

신호 3 — 템플릿 반복

태그 배열을 보면 거의 모든 글이 "솔로프리너", "1인 사업가", "수익화", "생산성 도구" 계열의 태그를 8~10개씩 스터핑하고 있었다. 제목도 "N인 사업가를 위한 OO: 시간과 비용을 절약하는 초격차 전략" 같은 틀에 변수만 바꾼 꼴이었다. 2024년 구글 Helpful Content Update가 정확히 이 패턴을 타깃으로 한다는 걸 나는 읽어놓고도 그냥 돌려놓고 있었다.

진짜 문제—거기에 나는 없었다

기술적 결함 3개는 표면의 흠집일 뿐이고, 더 아래에 있는 근본 원인은 한 줄로 요약된다.

95편 어디에도 나는 없었다.

그 6개월 동안 나는 한국 사주명리 기반 PDF 플래너를 만들었고, Cloudflare에서 Vercel+Supabase로 인프라를 옮겼으며, Qdrant에 503개 청크를 쌓아 개인 지식베이스를 구축했다. NAS 16GB에 n8n·pdf-server·qdrant를 도커 컴포즈로 올렸고, Claude Code로 하루 단위 커밋을 찍었다. 글로 쓸 소재가 넘쳐났다는 뜻이다.

그런데 블로그에는 "1인 사업가를 위한 시간 관리 7가지 팁" 같은 글만 찍혀 나왔다. 내가 쓴 게 아니었고, Gemini가 썼으며, Gemini는 내가 누군지 몰랐다. 독자가 블로그를 켜는 이유는 정보만이 아니라 누군가의 경험을 훔쳐보고 싶어서인데, 그 자리에 내가 비어 있으면 내 블로그는 구글에게도 독자에게도 존재할 이유가 없다.

방향 전환—2026년 4월 16일

그래서 어제(04-16), 나는 세 가지를 결정했다.

  • AI 자동 콘텐츠 파이프라인 중지. n8n 워크플로 3개(AI Agent 자동 발행·수동 트리거 생성·황금 키워드 발굴)를 ACTIVE에서 DEACTIVATED로 내렸다.
  • 블로그의 정체성 재정의. 블로그는 이제 "솔로프리너 여정을 가감 없이 기록하는 작업 일지"가 된다. 기획·자동화·실패·성공을 있는 그대로 쓴다.
  • AI의 역할 축소. 글 생성이 아닌, 분류와 추천과 포맷팅만. 내가 쓴 작업 기록을 카테고리로 묶거나, 주간 인사이트를 뽑거나, 제휴 글 초안 드래프트를 돕는 보조 작업에만 쓴다.

그리고 오늘(04-17), 애드센스 메일이 도착했다. 타이밍이 섬뜩하게 맞아 들어갔는데, 구글은 내가 파이프라인을 내리기 전날 이미 판단을 끝내놓은 것 같았다.

오늘 배포한 기술 마무리

경고 메일을 받고 나서 30분 안에 복기와 정리, 그리고 조치까지 마쳤다. 코드 레벨에서 한 일은 두 가지였다.

1) 옛 published URL에 대한 410 Gone 응답

구글 인덱스에는 옛 URL들이 아직 남아 있고, 그 URL을 누가 방문하면 지금까지는 404(Not Found)가 떨어졌다. 그런데 404는 "지금 없음, 나중에 돌아올 수도"라는 뜻이고, 410(Gone)은 "영구 삭제, 재인덱싱 말 것"이라는 더 강한 신호다. 저품질 콘텐츠에서 회복하려면 인덱스에서 최대한 빠르게 빠지는 게 유리했다.

Next.js 16에서는 middleware.tsproxy.ts로 이름이 바뀌었는데, 그 사실도 오늘 처음 알게 돼서 한꺼번에 챙겼다. 공식 codemod까지 제공된다(npx @next/codemod@latest middleware-to-proxy).

// src/proxy.ts
import { NextResponse } from "next/server";
import { ARCHIVED_SLUGS } from "@/lib/archived-slugs";

export function proxy(req) {
  const { pathname } = req.nextUrl;
  const match = pathname.match(/^\/[^/]+\/([^/]+)\/?$/);
  if (match && ARCHIVED_SLUGS.has(match[1])) {
    return new NextResponse("Gone", {
      status: 410,
      headers: { "X-Robots-Tag": "noindex" },
    });
  }
  return NextResponse.next();
}

2) 95개 soft-deleted 글은 이미 필터링 중

다행히 src/lib/queries/posts.ts의 모든 public 쿼리가 .is("deleted_at", null) 필터를 가지고 있어서, sitemap·홈·피드·카테고리 페이지가 자동으로 삭제 글을 제외하고 있었다. 별도로 손댈 부분은 없었다는 뜻이다.

이 두 조치가 "이 사이트는 가치 없는 콘텐츠를 걷어냈다"는 신호를 구글에 보내는 역할을 한다. 다만 걷어내는 것만으로는 부족하고, 앞으로가 훨씬 중요하다는 것도 안다.

앞으로 2주—15편 약속

오늘부터 2주간 하루 한 편씩 작업일지를 올린다. 주제는 내가 지난 6개월 동안 실제로 했던 일들이다.

  • LLM Wiki + Knowledge Flywheel 구축기 (RAG 503청크, content_hash dedup)
  • NAS Docker 16GB로 n8n·pdf-server·qdrant를 같이 돌리는 방법
  • Qdrant RAG Ingestion의 dead count 노드 버그를 잡은 이야기
  • FortuneTab 사주명리 PDF 플래너 3개월 개발 회고
  • Next.js 16 Cache Components 전환 경험
  • Cloudflare에서 Vercel+Supabase로 넘어간 이전 복기
  • SoloDesk 결정세션 기획안
  • 크몽 전자책 214페이지 판매 현황
  • Claude Code로 1인 개발 생산성을 끌어올린 실전
  • Supabase RLS와 Storage 세팅 중 밟은 함정
  • ... 그리고 진행 중인 모든 것들

한 편이 1500자라도, 그 한 편이 나라는 사람의 작업 흔적이기만 하면 된다. 95편의 AI 글보다 1편의 진짜 기록이 더 무겁다는 걸, 오늘 확인받았다.

마지막 한 줄

애드센스 메일 때문에 쓰기 시작했지만, 이 글은 애드센스를 위한 글이 아니라 나를 위한 글이다. 블로그를 켜는 목적을 오늘 처음으로 정직하게 적은 셈이다.

다음 글은 내일 올라간다. LLM Wiki를 어떻게 쌓기 시작했는지부터 쓰려고 한다.


이 글이 당신에게 닿았다면. 블로그 상단 뉴스레터 구독으로 작업일지 업데이트를 받아보시길. 주 1회 정리해서 보낸다. 실제 실패와 실제 숫자만 담는다.

#작업일지#AI 블로그#AdSense#솔로프리너#Gemini#n8n#구글 검색#실패 복기
Juno Solo
Juno Solo

AI 자동화 & 1인 사업 전략가

AI와 자동화 도구를 활용해 1인 사업을 설계하고 운영하는 전략가. n8n, Claude, Gemini 기반의 콘텐츠 자동화 시스템을 직접 구축하고, 솔로프리너가 더 스마트하게 일할 수 있는 실전 가이드를 제공합니다.

공유카카오네이버

FortuneTab

사업 결정이 어려울 때? Fortune Score로 타이밍을 확인하세요

자세히 보기
쿠팡 파트너스 배너

이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

관련 글

Free Resource

무료로 받는 솔로프리너 실행 자료

AI 콘텐츠 운영법, 생산성 도구 세팅, 수익화 실험 기록을 매주 1회 이메일로 보내드립니다. 첫 구독 시 실행 체크리스트를 함께 드립니다. 언제든 해지할 수 있습니다.