튜토리얼

make.com 자동 블로그 폭망 썰

한 줄 요약 : 자동화는 성공, 구글 SEO는 실패

2024.11.28 | 조회 6.39K |
0
|
혼자 할만한 사업의 프로필 이미지

혼자 할만한 사업

혼자 할만한 현실적인 사업을 찾아서 공유합니다.

생성형 AI가 처음 출시되었을 때부터 정말 많이 보이는 자동 블로그 (Auto Blog) 튜토리얼. 만드는 건 대충 오케이, 근데 과연 수익화도 가능할까? 궁금해서 직접 해봤어요.

저의 웃음벨, 외쿡 유튜브 썸네일
저의 웃음벨, 외쿡 유튜브 썸네일

 


자동 블로그? 그게 뭐지 🤔

자동 블로그란, 한번 세팅해 놓으면 주기적으로 글을 알아서 발행해 주는 블로그 시스템을 말해요. 주로 make.com이나 Zapier같은 자동화툴 + 생성형 AI의 조합으로 만들죠.

옛날옛적 트위터 봇이나 각종 매크로 툴이랑 비슷하죠? 다른 점이 있다면, make.com같은 노코드 툴 덕분에 누구나 콘텐츠 봇을 만들 수 있을 정도로 쉬워졌다는 거예요.

make.com - Zapier보다 저렴해서 선택했어요
make.com - Zapier보다 저렴해서 선택했어요

 


계획

블로그의 목적은 수익이죠. 그래서 구글 애드센스가 뽑은 가장 수익성 좋은 카테고리 '금융', 그중에 제가 익숙한 '퀀트 투자'에 관련된 블로그를 만들자 생각하고, 블랙키위에서 연관 키워드를 수집했어요. 이렇게 모은 키워드를 구글 시트에 올려놓고, make.com으로 연결해서 1일 1포스팅하면 되겠다 생각했죠.

블랙키위에서 다운받은 퀀트 투자 연관 키워드
블랙키위에서 다운받은 퀀트 투자 연관 키워드

 

수집한 키워드로 Claude AI에서 샘플을 작성해 봤는데... 글이 너무 모호하더라고요. 채팅으로 쓸 땐 AI한테 추가 질문을 하면서 구체적인 내용을 유도하면 되지만, 이런 과정을 '자동화' 처리하기 어렵겠다는 생각이 들었어요. 그리고 AI의 고질적인 거짓말 문제도 있었고요.

Claude AI로 작성한 샘플. 퀀트 전략 중에 BAA에 대해 틀린 정보를 지어내는 모습
Claude AI로 작성한 샘플. 퀀트 전략 중에 BAA에 대해 틀린 정보를 지어내는 모습

 

그래서 검색 키워드로 시작하는 시나리오는 버리고, 유튜브에 떠도는 방법들(RSS 피드를 활용한다던가, 뉴스 검색을 활용하는 방법)을 테스트해 보고 조합하여 새로운 계획을 짜봅니다.

소재가 생각날 때마다 휴대폰에서 이메일을 보내놓으면, AI가 구글 검색해서 연관이 높은 뉴스를 선별, 이렇게 필터링된 정보로 블로그 글을 작성한다면? AI가 거짓말하는 문제, 내용이 모호한 문제도 어느 정도 해결되지 않을까?

make.com에서 테스트한 여러 시나리오
make.com에서 테스트한 여러 시나리오

 

최종 시나리오는 이렇습니다.

  • Step 1: 이메일로 받은 내용으로 뉴스 검색
  • Step 2: 뉴스 선별 & 1차 가공
  • Step 3: 블로그 본문 작성 & 업로드

 


0. 각종 API 연결하기

ㅔ? 뭔 연결이요? 😮

화려한 용어만큼 어렵진 않은데, 처음이라면 낯설어서 스트레스받을 수 있어요. 한 번만 하면 되니까, 눈 딱 감고 후딱 해봅시다.

각각의 연결 방법은 블로그에 따로 적어두고, 여긴 링크만 남겨둘께요. 

대부분 계정만 연결해도 되지만, 가끔 구석진 메뉴에 들어가서 Secret Key를 발급받는 등의 단계를 거쳐야 합니다. 특히 Gmail 연결이 살짝 복잡한데요. 저는 궁금해서 써봤지만, 사실 꼭 필요한 부분은 아닐수도 있어요. 한번 보시고, 각자 시나리오에 맞게 바꾸시면 될 것 같아요.

참고로 티스토리, 네이버 블로그는 연결이 안됩니다.

 


1. 이메일로 받은 내용으로 뉴스 검색

 

Step 1: 이메일로 받은 내용으로 뉴스 검색
Step 1: 이메일로 받은 내용으로 뉴스 검색

 

새로운 시나리오를 열면, 한 가운데 보이는 +버튼 선택하여 다양한 트리거를 연결할 수 있어요. Gmail을 검색하고 Watch Emails을 선택합니다. 세부 설정 화면에서 Advanced settings를 체크하고 아래와 같이 설정했어요.

Gmail > Watch Emails 설정

  • Folder: 전체 보관함
  • Filter type: Simple filter
  • Criteria: Only unread emails
  • Sender email address: 휴대폰에서 메모 발송 시 사용할 이메일 주소
  • Mark email message(s) as read when fetched: Yes
  • Maximum number of results: 1
Gmail > Watch Emails 설정
Gmail > Watch Emails 설정

 

잘 연결되었는지 테스트 해봅니다. 휴대폰에서 Make.com에 연결된 이메일로 아무 말이나 보내고 (이메일이 도착할 때까지 잠깐 대기) 하단 메뉴바에 있는 Run once를 눌러보세요. Gmail 트리거가 로딩되면서 잠시 후 결과를 보여줍니다. 결과창 아래 Text Content라는 항목에 제가 보낸 '테스트 테스트'를 확인할 수 있어요.

Gmail 트리거 테스트
Gmail 트리거 테스트

 

이메일로 받은 내용으로 뉴스 검색을 하기 위해 Serp API(= 구글 검색)를 연결할건데요. 저도 사실 잘 몰라서 다른 영상보고 비슷하게 설정했어요.  HTTP를 검색하고 Make an API key Auth request를 연결하고 아래처럼 설정합니다.

HTTP > Make an API key Auth request 설정

  • URL: https://serpapi.com/search.json?gl=kr&hl=ko
  • Method: GET
  • Item 1 - Name: q (= 검색어)
  • Item 1 - Value: Gmail > Text Content 선택
  • Item 2 - Name: location (= 검색 지역)
  • Item 2 - Value: Seoul,South Korea
  • Item 3 - Name: google_domaine (= 검색 도메인)
  • Item 3 - Value: news.google.com
  • Item 4 - Name: engine (= 검색 엔진)
  • Item 4 - Value: google
  • Item 5 - Name: tbm (= 검색 종류 ex. 뉴스, 이미지, 쇼핑...) 
  • Item 5 - Value: nws
  • Item 6 - Name: tbs (= 날짜순 정렬)
  • Item 6 - Value: sbd:1
  • Item 7 - Name: gl (= 검색 범위 나라)
  • Item 7 - Value: kr
  • Item 8 - Name: hl (= 검색에 사용될 언어)
  • Item 8 - Value: ko
HTTP > Make an API key Auth request 설정
HTTP > Make an API key Auth request 설정

 

여기까지 테스트를 위해 다시 휴대폰에서 이메일을 보내고 Run once를 눌러보면 HTTP 트리거 오른쪽 위에 1번이 뜬 것을 볼 수 있는데요. 누르고 하단의 OUTPUT을 들여다보면 구글 뉴스 검색결과가 쪼르륵 들어와있는 모습을 확인할 수 있어요.

구글 뉴스 검색 결과 (하단으로 스크롤하면 쭉 나옴)
구글 뉴스 검색 결과 (하단으로 스크롤하면 쭉 나옴)

 


2. 뉴스 선별 & 1차 가공

 

Step 2: 뉴스 선별 & 1차 가공
Step 2: 뉴스 선별 & 1차 가공

 

자, 이제 검색된 내용을 선별해야겠죠? 먼저 Claude AI > Create a Prompt를 연결하고요. 키워드와 연관성 높은 기사를 선별하고, url만 저장하도록 프롬프트를 작성해줍니다. 테스트해보니 msn에서 나온 기사는 자꾸 에러가 나서 검색 결과에서 제거하도록 했어요. 

Claude AI > Create a Prompt 설정

  • Model: claude-3-haiku-20240307
  • Max Tokens: 4000 (에러날까봐 늘렸는데, 테스트해보고 조정하세요)
  • Role: User
  • Type: Text
  • Text: 검색결과 : Data 주제: Text content 검색 결과 제목 중에서 주제와 가장 어울리는 것 3개 선택. https://www.msn.com 으로 시작하는 url은 선택하지마. Return only the url as an Array. Please Don't include any intro and outro.

프롬프트에서 각각 Data는 HTTP > Data를 선택, Text content는 Gmail > Text content를 선택해서 넣어주시면 됩니다. 

Claude AI > Create a Prompt 설정 (검색 결과 필터링)
Claude AI > Create a Prompt 설정 (검색 결과 필터링)

 

방금 저장한 url 3개를 JSON 형태의 데이터로 바꿔줄 거예요. url을 하나씩 검색하기 좋게 변환하는 과정이라고 보시면 됩니다. JSON을 검색하고 Parse JSON을 연결합니다.

먼저 Add 버튼을 누르고, JSON 데이터 구조를 설정합니다. 그리고 Claude AI의 처리 결과 Text Response를 연결해주면 끝!

JSON > Parse JSON > 데이터 구조 설정

  • Name: url
  • Type: Text

JSON > Parse JSON > JSON String 설정

  • Claude 항목 중 Text Response 선택
JSON > Parse JSON 설정
JSON > Parse JSON 설정

 

url 속 본문을 불러오기 위해 HTTP > Get a file을 연결합니다. 참 번거롭죠? ㅋㅋ

HTTP > Get a File 설정

  • URL: JSON 항목 중 url 선택
HTTP > Get a File 설정
HTTP > Get a File 설정

 

이제 불러온 내용을 블로그 글감으로 필터링합니다. 바로 글을 쓰지 않는게 의아하실 것 같은데요. HTML 태그까지 모두 다운받기 때문에 내용이 너무 길어서 자꾸 에러가 나서 추가했어요. 축약하실 수 있는 분은 생략도 가능하겠죠? (저는 포기)

Claude AI > Create a Prompt 설정

  • Model: claude-3-5-sonnet-20241022
  • Max Tokens: 4000
  • Role: User
  • Type: Text
  • Text: Data 내용을 바탕으로 150자 이내 기사 내용 요약

프롬프트 내용 중 DataHTTP > Data를 선택해주세요.

Claude > Create a Prompt 설정
Claude > Create a Prompt 설정

 

필터링한 내용을 구글 시트에 한 줄씩 저장합니다. make에서 한번에 합치는 방법을 못찾아서 구글 시트에 보냈다가 다시 불러와서 합치도록 구성했어요.

Google Sheets > Add a Row 설정

  • Search Method: Search by path
  • Drive: My Drive
  • Spreadsheet ID: 내 구글 시트 이름 (구글 시트 만들어놓아야함)
  • Sheet Name: 구글 시트 내의 탭 이름
  • Table contains headers: No (= 표 상단에 머릿글 여부)
  • Column range: A-Z
  • Values - A: 바로 전 단계 Claude 항목 중 Text Response 선택
Google Sheets > Add a Row 설정
Google Sheets > Add a Row 설정

 

구글 시트에 저장한 내용을 한 문단으로 합치는 과정입니다. 이렇게 합치지 않으면 전체 시나리오를 3번 실행하게 되기 때문에 거치는 단계라고 보시면 됩니다. 

 

Step 2.5: 임시 저장된 내용 합치기
Step 2.5: 임시 저장된 내용 합치기

 

Increment function을 검색해서 연결합니다. 일종의 카운터 역할로, 앞서 작성한 3개의 기사 요약 데이터가 하나씩 저장되는 것을 카운팅하고, 숫자 3에 도달하면 다음 단계로 넘겨줍니다.

Increment function 설정

  • Reset a value: After one scenario run (= 시나리오 전체 실행 후 카운터 리셋)

 

이 숫자는 다음 단계에서 필터로 사용되는데, 그러기 위해서 우선 구글 시트를 먼저 연결해줘야합니다. Google Sheet > Search Rows를 연결하고 임시 저장된 내용을 불러옵시다. 

Google Sheet > Search Rows 설정

  • Search Method: Select from My Drive
  • Spreadsheet ID: 임시 저장에 사용했던 구글 시트 이름
  • Sheet Name: 구글 시트 내의 탭 이름
  • Table contains headers: No
  • Column range: A-Z
Increment function, Google Sheet 설정
Increment function, Google Sheet 설정

 

이제 카운터(Increment function)와 Google Sheet 사이의 연결선에 🔧 렌치 모양 아이콘을 선택하고, 필터를 설정해볼까요. 카운터 숫자가 3에 도달하기 전까지 다음 트리거가 실행되지 않도록 설정해보겠습니다.

Set up a filter 설정

  • Condition: Increment function > i 를 선택
  • Text operators: Equal to
  • 3
Set up a filter 설정
Set up a filter 설정

 

마지막으로 Text aggregator를 연결하여 3개의 행으로 구분된 내용을 하나의 문단으로 합쳐줄께요.

Text aggregator 설정

  • Source Module: 바로 전 단계 Google Sheet > Search Rows 선택
  • Text: 바로 전 단계 Google Sheet 항목에서 A를 선택
Text aggregator 설정
Text aggregator 설정

 


3. 블로그 본문 작성 & 업로드

 

Step 3: 블로그 본문 작성 & 업로드
Step 3: 블로그 본문 작성 & 업로드

 

드디어 본문을 작성만 하면 블로그에 업로드를 할 수 있답니다. 만세!

본문 작성을 위해 Claude를 연결해야겠죠? 보시면 제가 프롬프트를 다소 두서없이 작성했는데요. 인간적인(?) 요소를 넣어보려고 테스트해 보면서 추가하다 보니 장황해지더라고요.

Claude AI 설정 (본문 작성)

  • Model: claude-3-5-sonnet-20241022
  • Max Tokens: 4000
  • Role: User
  • Type: Text
  • Text: 아래 '주제'를 바탕으로 블로그 본문 작성. 본문은 HTML 마크다운하여 출력. H1 태그 1개, H2 태그 3-5개, H3 태그 여러개, p태그, 필요하면 ul태그 (필요없으면 안써도 됨), 핵심 내용은 해당 단어의 배경색을 다르게 하거나 (색상은 powderblue, lavender, Light Yellow 중 랜덤하게 선택) 또는 볼드 처리 등 내용에 맞게 전체 문서 구조를 조절해서 작성. 주제와 연관된 한글 SEO 최적화된 키워드를 본문과 H태그에 적절하게 배치. 특히 H태그에는 SEO 최적화된 키워드 무조건 포함. 전체 글 길이는 1000자 내외. H1 태그는 글을 끝까지 읽고 싶은 마음이 들도록 후킹할 수 있는 문장으로 작성. 문장 중간에 끊기지 않도록. 한국 독자들에게 도움이 되는 고품질의 블로그 포스트 작성, 근데 말투는 다음 3가지 중 랜덤하게 하나 골라서 작성: 친근하게, 장난스럽게, 진지하게. 문장끝에 '-습니다' 말고 '-요'나 '-다'로 끝나게. 가끔 이모지 넣기 (한번에 한개씩 넣고, 전체 본문에서 최대 2개, 내용상 필요없으면 아예 안넣어도 됨). 너의 설명은 출력하지말고, 본문만 출력. 주제: Text

Text 는 Text aggregator > text 항목을 선택해주시면 됩니다.

Claude AI 설정 (본문 작성)
Claude AI 설정 (본문 작성)

 

제목 부분도 따로 작성해야 하더군요. Claude를 하나 더 연결하고 아래와 같이 설정합니다.

Claude AI 설정 (제목 작성)

  • Model: claude-3-haiku-20240307
  • Max Tokens: 1000
  • Role: User
  • Type: Text
  • Text: Text Response 이 내용을 바탕으로 블로그 제목 작성. 글자수는 25-30자. 한국어 구글 검색엔진의 SEO에 맞는 키워드를 문장 안에 자연스럽게 포함. 말투는 친근하게. 사람들이 클릭할만한 제목으로. 블로그 제목만 출력.

Text Response 부분은 바로 전 단계의 Claude > Text Response 항목 선택

Claude AI 설정 (제목 작성)
Claude AI 설정 (제목 작성)

 

정말 최종_최종으로 블로거를 연결하고, 방금 만든 제목과 본문을 연결하면 끝입니다. 수고하셨어요. :)

Blogger 설정

  • Blog: 내 블로그 선택
  • Title: 제목 작성한 Claude > Text Response 선택
  • Content: 본문 작성한 Claude > Text Response 선택
Blogger 설정
Blogger 설정

 

구글 시트 내용을 자동으로 지우는 단계도 추가할 수 있는데요. 이 부분은 각자 숙제로 해보는 걸로 하죠 😉

 


결과

 

이렇게 세팅해놓고 한 달 정도 운영해본 결과는? 

앞서 스포일러로 말씀드렸듯이 폭망입니다. 폭망이에요. 

글은 그럭저럭 작성이 되어서 올라가는 것 같아요. 예를 들어, 제가 '로제 아파트 빌보드 인기 및 현지 반응'이라는 검색어를 이메일로 보냈더니 이렇게 업로드되었어요. 언어 선택이 살짝 고전적(?)이지만, 내용은 나쁘지 않은 것 같아요.

'로제 아파트 빌보드 인기 및 현지 반응'이라는 검색어로 자동 작성된 블로그 글
'로제 아파트 빌보드 인기 및 현지 반응'이라는 검색어로 자동 작성된 블로그 글

 

다만 구글 노출은 여전히 해결하지 못했어요. 조회수가 처참하죠? 구글 콘솔, 네이버 웹마스터 도구도 등록했는데 어떻게 안되더라구요.

실제 블로그 모습
실제 블로그 모습

 

가장 힘들게 한 것은 사실 에러였어요. 거의 50%의 확률로 매일 에러가 났다고 보시면 됩니다. JSON 변환에 문제가 있거나, 기사의 내용이 너무 길어서 (아무래도 코드가 함께 다운로드 되다보니) Claude 사용량 제한에 걸리는 등의 문제가 주로 발생했어요.

 

그래서 결론은...

블로그 글은 그냥 AI만 따로 쓰는게 좋지 않나

 

뭐... 망했지만 겸사겸사 툴 하나는 제대로 배웠습니다 🤯

퇴사 후, 혼자 할만한 현실적인 사업을 찾아서 공유합니다. 혼자 이것저것 해보면서 배우게 된 것들을 인스타툰(https://www.instagram.com/twojob_angel/)으로 주 1회 정도 기록하고 있구요. 가끔 긴 글 형태로 정리하고 싶은 내용은 뉴스레터 형식으로 기록하고 있습니다.

다가올 뉴스레터가 궁금하신가요?

지금 구독해서 새로운 레터를 받아보세요

✉️

이번 뉴스레터 어떠셨나요?

혼자 할만한 사업 님에게 ☕️ 커피와 ✉️ 쪽지를 보내보세요!

댓글

의견을 남겨주세요

확인
의견이 있으신가요? 제일 먼저 댓글을 달아보세요 !
© 2025 혼자 할만한 사업

혼자 할만한 현실적인 사업을 찾아서 공유합니다.

메일리 로고

도움말 자주 묻는 질문 오류 및 기능 관련 제보 뉴스레터 광고 문의

서비스 이용 문의admin@team.maily.so

메일리 사업자 정보

메일리 (대표자: 이한결) | 사업자번호: 717-47-00705 | 서울 서초구 강남대로53길 8, 8층 11-7호

이용약관 | 개인정보처리방침 | 정기결제 이용약관 | 라이선스