path
Jin's Lab
코드로 실험하고 기록하는 개발 일지 · J.Lab

Jin's Lab

코드로 실험하고 기록하는 개발 일지. 커리어와 삶의 방향을 탐색하며 기록하는 공간입니다

Automation

블로거 핀터레스트 자동발행 소유확인부터 RSS 연동까지 한 번에

J.Lab ·
목차

    최근 내 블로그인 KidStory(kidstory.jinbytes.com)에 찾아오는 방문자 수를 늘리기 위해 고민이 많았다. 매번 새로운 글을 쓰고 여러 소셜 미디어에 수동으로 공유하는 과정은 생각보다 손이 많이 가고 피로감이 쌓였다. 그래서 고민 끝에 이미지 기반 플랫폼이자 트래픽 유입에 효과적인 핀터레스트와 내 블로그를 직접 연결해 자동으로 글을 내보내는 자동화 파이프라인을 구축하기로 결심했다.

    자동화의 핵심은 내가 블로그에 글을 쓰면 핀터레스트가 이를 알아차리고 자동으로 핀(Pin)을 생성하게 만드는 것이다. 이 글에서는 내가 직접 맨땅에 헤딩하며 해결한 도메인 소유확인 방법부터 RSS 자동 게시 연동 과정, 그리고 작업하면서 알게 된 핀터레스트의 AI 이미지 정책까지 생생한 삽질기를 공유하려고 한다.

    핀터레스트 비즈니스 전환과 도메인 소유확인 삽질기

    가장 먼저 해야 할 일은 개인 계정을 핀터레스트 비즈니스 계정으로 전환하는 것이었다. 비즈니스 계정으로 전환해야만 비즈니스 허브와 분석 도구, 그리고 자동 발행에 필요한 다양한 기능들을 무료로 사용할 수 있기 때문이다. 전환 자체는 설정 메뉴에서 클릭 몇 번만으로 간단하게 끝났다.

    진짜 문제는 그 다음에 찾아왔다. 내 블로그를 인증하는 도메인 소유확인 단계였는데, 핀터레스트에서 제공하는 메타 태그를 블로그에 직접 심어야 했다. 나는 구글 블로거 테마 HTML 편집 화면으로 들어가 <head> 태그 바로 아래에 <meta name='p:domain_verify' content='...'> 형태의 코드를 삽입했다.

    기존에 네이버나 구글 서치콘솔 인증을 위해 넣어두었던 메타 태그 바로 옆에 나란히 배치하니 관리가 편했다. 이 작업은 서브도메인 단위에서 테마 코드를 직접 수정하는 방식이라 루트 도메인의 손상이나 구글 애드센스 광고 송출 등에는 전혀 무해한 작업이다. 덕분에 리스크 없이 편안한 마음으로 소유확인을 마칠 수 있었다.

    블로거 사이트와 핀터레스트 아이콘이 연결된 화면에서 도메인 소유확인용 메타 태그 코드가 보이는 아이소메트릭 일러스트

    RSS 자동 게시 메뉴가 안 보여서 헤맸던 이유

    소유확인을 마치고 곧바로 블로거 핀터레스트 자동발행의 핵심인 RSS 피드 연동 작업을 시작했다. 그런데 핀터레스트 설정 페이지를 아무리 뒤져도 자동 게시를 설정할 수 있는 '대량 핀 만들기' 메뉴가 보이지 않아 당황했다. 인터넷 검색을 해보아도 다들 쉽게 설정했다는데 나만 메뉴가 보이지 않으니 답답할 노릇이었다.

    알고 보니 원인은 성급함에 있었다. 도메인 소유확인을 마친 뒤 시스템상으로 인증 처리가 완전히 완료되어야 비로소 RSS 자동 게시 메뉴가 활성화되는 구조였던 것이다. 잠시 마음을 가라앉히고 기다린 뒤 새로고침을 하니 비로소 '설정 > 대량 핀 만들기 > 자동 게시' 메뉴가 눈앞에 나타났다.

    메뉴가 열린 뒤에는 일사천리로 진행했다. 구글 블로거의 기본 RSS 피드 주소인 feeds/posts/default?alt=rss를 입력하고, 이 피드를 통해 생성되는 핀들이 쌓일 전용 보드를 지정해 매핑해 주었다. 드디어 글을 쓰면 자동으로 핀이 발행되는 연결 고리가 완성된 순간이었다.

    RSS 피드 기호와 핀터레스트 보드가 연동되어 자동으로 데이터가 송수신되는 모습을 시각화한 일러스트

    AI 이미지 정책 준수와 앞으로 해결해야 할 과제

    내 블로그 글 중 일부는 생성형 AI를 활용한 이미지가 포함되어 있다. 이 때문에 핀터레스트에 자동 발행되었을 때 계정에 불이익을 받지 않을까 걱정이 컸다. 다행히 관련 규정을 꼼꼼히 살펴보니 핀터레스트의 AI 이미지 정책상 생성형 AI 이미지에는 자동으로 라벨이 붙거나 안내 표시가 추가될 수는 있지만, 검색 노출이나 랭킹 자체에는 어떠한 페널티도 주어지지 않는다는 점을 확인해 안심할 수 있었다.

    다만 완벽해 보이는 이 자동화 시스템에도 현재 한 가지 치명적인 아쉬움이 남아있다. 바로 블로그에 자동으로 들어가는 본문 대표 이미지가 1024×768 크기의 가로형 포맷이라는 점이다. 핀터레스트가 공식적으로 가장 선호하고 클릭률이 높은 규격은 세로형 2:3 비율(1000×1500)인데, 가로 이미지가 그대로 핀으로 변환되다 보니 보기에 다소 답답해 보이는 문제가 있었다.

    이 문제는 앞으로 내가 풀어야 할 중요한 과제이다. 향후에는 블로그 글을 작성할 때 핀터레스트 전용 세로형 이미지를 생성하여 본문에 숨기거나, RSS 피드 자체에서 세로형 이미지를 우선적으로 추출할 수 있도록 템플릿과 시스템을 개선하는 작업을 진행해 볼 예정이다.

    가로형 블로그 이미지 크기와 핀터레스트용 세로형 이미지를 비교하여 레이아웃 최적화를 보여주는 일러스트

    마치며

    이렇게 구글 블로거와 핀터레스트를 연동해 자동으로 핀을 발행하는 파이프라인을 직접 구축해 보았다. 처음에는 도메인 소유확인 메타 태그를 심는 것부터 메뉴가 나타나지 않는 현상까지 소소한 삽질의 연속이었지만, 한번 세팅해 두니 알아서 트래픽을 몰고 올 준비를 마쳐서 매우 든든하다.

    글 작성 후 자동으로 소셜 채널에 확산되는 시스템을 고민하고 있다면 이번 기회에 직접 도전해 보길 권장한다. 조금의 시행착오만 견디면 매번 수동으로 올리던 번거로움에서 완전히 벗어나 오롯이 양질의 콘텐츠를 생산하는 일에만 집중할 수 있을 것이다.

    Automation Blogger Pinterest RSS Feed SEO Tips Web Publishing
    ← 이전 글
    최근 게시물
    다음 글 →
    이전 게시물
    ≡ 글 목록으로
    소개
    path
    J.Lab

    커리어와 삶의 방향을 탐색하며
    기록하는 공간입니다

    카테고리
    403 Forbidden Error 1 AdSense 1 AdSense Bot Detection 1 AI Automation 1 AI Image Generation 1 ai-automation 2 AI-Prompting 1 AIBlogAutomation 1 AICodeLog 1 AIContentGeneration 1 AIImageGeneration 1 AIWritingErrors 1 API Automation 2 API Retry Design 1 api-automation 1 API-Deprecation 1 api-error 1 api-fallback 1 api-retry-strategy 1 api-troubleshooting 1 APIDebugging 1 APIError 1 APIErrorHandling 1 APIIntegration 1 APITokenRenewal 1 AppsScript 1 appsScriptAutomation 1 AutomatedBlogging 1 automation 1 Automation 2 AutomationTroubleshooting 1 Backoff Algorithm 1 Base64Encoding 1 BatchProcessing 1 blog-automation 1 blog-customization 1 blog-migration 3 Blog-Sorting 1 blog-strategy 1 blog-theme-customization 1 blog-workflow 1 blogautomation 1 BlogAutomation 2 Blogger 4 Blogger API 2 Blogger Automation 1 Blogger SEO 1 blogger-api 3 blogger-automation 1 blogger-error-400 1 blogger-labels 1 blogger-seo 1 blogger-tips 1 Blogger-Tips 1 BloggerAPI 3 BloggerBypath 1 BloggerCustomization 2 BloggerFavicon 1 BloggerTemplate 1 BloggerTemplateEditing 1 BloggerTheme 1 BloggerThemeCustomization 1 BloggerXMLStructure 1 Blogging-Automation 1 BloggingTools 1 BlogQuality 1 BlogSpot 1 BWidgetBIncludable 1 CardClickHandler 1 CDATA 1 clamping-text 1 Code Integration 1 codelog 1 CodeLog 1 codeRefactoring 1 contentsequencing 1 cost-reduction 1 CSSOverlay 1 data-parsing 1 DatabaseDesign 1 DataRecovery 1 DateInjection 1 Debugging 2 dev-journey 1 DeveloperJourney 2 DevJourney 1 display-none-seo 1 dom-manipulation 1 dynamic-menu 1 Error-Handling 1 ErrorHandling 1 Execution Timeout 1 ExecutionLimit 1 exponential-backoff 1 FactChecking 1 FaviconEmbedding 1 Feed-API 1 filesystem 1 Flat Illustration 1 FluxModel 1 FreeAIImage 1 FrontEndDev 1 FrontendTips 1 GAS Blogger API 1 gas-automation 1 gas-optimization 1 gas-trigger 1 GASTimeout 1 gasTriggerManagement 1 GCP Project Linkage 1 Gemini 1 Gemini API 1 gemini-api 1 GeminiAPI 1 GeminiPrompt 1 GeminiPromptEngineering 1 GmailRestrictions 1 Google Apps Script 7 Google Discover 1 google-apps-script 3 Google-Apps-Script 1 google-blogger 1 googleAppsScript 1 GoogleAppsScript 6 googlesapps-script 1 hero-image 1 HTMLWidgetBlogger 1 http-429 1 HuggingFace 1 HuggingFaceAPI 1 ico-generator 1 Image Optimization 1 image-automation 1 image-optimization 1 In-App Browser 1 invalid-argument 1 javascript 3 JavaScript 2 javascript-automation 1 javascript-toc 1 jlab-codelog 1 JLabDevLog 1 json-schema 1 label-length-limit 1 linux 1 meta-description 1 Negative Prompt 1 notion-api 1 notion-database 1 notion-gas-integration 1 NotionAPI 1 NotionAutomation 1 notionintegration 1 NotionIntegration 1 OAuth Scope 1 pagination 1 payload-validation 1 permalink-management 1 PersonaDesign 1 pil-image-processing 1 Pinterest 1 Pollinations 1 Pollinations Flux 1 pollinations-api 1 PollinationsAI 1 PositionAbsolute 1 Prompt Design 1 Prompt Engineering 1 prompt-engineering 1 Prompt-Engineering 1 PromptEngineering 1 publishorder 1 python-favicon 1 queue-stuck 1 RandomDelay 1 rate-limiting 1 Refactoring 1 rfc3339 2 Robots Meta Tag 1 RSS Feed 1 scriptNotFound 1 Search Engine Optimization 2 Search-Engine-Optimization 1 SEO Tips 1 seo-optimization 4 SEO-Optimization 1 seriesmanagement 1 SidebarLinks 1 SNSMarketing 1 SVGIcon 1 table-of-contents 1 TechJournal 1 Template 1 ThreadsAPI 1 tistory-migration 1 transparent-favicon 1 triggerCleanup 1 Troubleshooting 1 unzip 1 URL Slug 1 vanilla-js 1 Web Development 1 Web Publishing 2 Web Security 1 web-development 1 Web-Development 1 web-development-tips 1 web-performance 1 web-scraping 1 WebAccessibility 1 WebDevelopment 3 WebDevelopmentTips 1 WebDevJourney 1 windows 1 WorkflowAutomation 1 XMLParser 1 XMLSpecialCharacters 1 XMLTheme 1 zip 1
    인기 글
    GAS에서 Blogger API 403 오류 완전 정복 — appsscript.json 스코프와 GCP 프로젝트 연결
    GAS에서 Blogger API 403 오류 완전 정복 — appsscript.json 스코프와 GCP 프로젝트 연결
    Google Apps Script 실행 시간 6분 제한 — Gmail 계정 함정과 랜덤 딜레이 설계
    Google Apps Script 실행 시간 6분 제한 — Gmail 계정 함정과 랜덤 딜레이 설계
    Blogger 테마 XML 직접 뜯어봤더니 알게 된 것들
    Blogger 테마 XML 직접 뜯어봤더니 알게 된 것들
    다른 블로그
    IssueLog
    IssueLog
    issuelog.jinbytes.com
    KidStory
    KidStory
    kidstory.jinbytes.com
    IT Story
    IT Story
    jinbytes.com
    © Jin's Lab · J.Lab · All Rights Reserved
    jinbytes.com · Powered by Blogger