데브포일 홈
WordPress 자동화
Guest
STAGE 15 · Lv.74

SNS 크로스 포스팅 자동화

WordPress에 글을 발행하면 Make.com을 통해 Instagram, Twitter, Facebook, LinkedIn에 자동으로 크로스 포스팅합니다. 이미지 리사이징, 해시태그 생성, 스케줄링까지 구현합니다.

SNS 크로스 포스팅의 전략적 가치

하나의 콘텐츠, 다수의 채널: 콘텐츠 리퍼포징의 힘

블로그에 글을 발행한 후 각 SNS에 수동으로 공유하는 것은 엄청난 시간 낭비입니다. 글마다 Instagram, Twitter(X), Facebook, LinkedIn에 맞는 형식으로 콘텐츠를 변환하고 올려야 합니다. 하루에 1개 글을 발행하고 4개 SNS에 공유하면, 주당 5~7시간이 SNS 공유에만 소비됩니다.


Make.com을 활용하면 WordPress에 글을 발행하는 순간 모든 SNS에 자동으로 배포됩니다. 각 플랫폼에 최적화된 형식으로 자동 변환되므로, 인스타그램에는 정사각형 이미지와 30개 해시태그, 트위터에는 280자 요약, LinkedIn에는 전문적인 긴 글 형태로 동시에 게시됩니다.


이 레슨에서는 WordPress 발행을 트리거로 사용하는 Make.com Webhook 설정부터, 각 SNS 플랫폼별 API 연동, 이미지 자동 리사이징, AI 기반 해시태그 생성, 최적 시간 스케줄링, 그리고 성과 추적 시스템까지 완전한 크로스 포스팅 파이프라인을 구축합니다.

📸
Instagram
1080x1080 이미지 + 해시태그 30개
🐦
Twitter/X
280자 요약 + 링크 + 해시태그
📘
Facebook
링크 프리뷰 + 인사이트 텍스트
💼
LinkedIn
전문 콘텐츠 + 업계 해시태그
플랫폼 최적 텍스트 길이 이미지 크기 해시태그 최적 게시 시간(한국) 링크 포함
Instagram 125~150자 (접기 전) 1080x1080 (피드)
1080x1920 (스토리)
20~30개 오전 11시, 오후 1시, 저녁 7시 프로필 링크만 (본문 링크 불가)
Twitter/X 70~100자 (최대 280자) 1200x675 (2:1) 2~3개 오전 9시, 오후 12시, 저녁 6시 본문에 직접 링크
Facebook 40~80자 (짧을수록 좋음) 1200x630 0~2개 오후 1~4시 링크 프리뷰 자동 생성
LinkedIn 150~300자 (최대 3,000자) 1200x627 3~5개 오전 8~10시 (평일) 본문에 직접 링크
Pinterest 100~500자 1000x1500 (2:3) 태그 20개 저녁 8~11시 핀에 직접 링크

WordPress → Make.com 트리거 설정

WordPress Webhook으로 Make.com에 데이터 전송

WordPress에 글이 발행되는 순간을 감지하여 Make.com으로 데이터를 전송하는 두 가지 방법이 있습니다. 방법 1: WordPress 훅 + Webhook은 즉시 반응하며 완전 맞춤 데이터를 전송할 수 있습니다. 방법 2: Make.com WordPress 모듈 Watch Posts는 폴링 방식으로 1~15분 간격으로 새 글을 감지합니다. 실시간성이 중요하면 방법 1을, 간편한 설정을 원하면 방법 2를 추천합니다.

// 방법 1: WordPress 훅 + Webhook (실시간, 커스텀 데이터) add_action('transition_post_status', function($new, $old, $post) { // 새로 발행된 글만 처리 (draft→publish 또는 future→publish) if ($new !== 'publish' || $old === 'publish') return; if ($post->post_type !== 'post') return; // 이미 공유된 글은 스킵 if (get_post_meta($post->ID, '_sns_shared', true)) return; // SNS 공유 설정 확인 (메타박스에서 "공유 안함" 체크 가능) if (get_post_meta($post->ID, '_sns_skip', true) === 'yes') return; $webhook_url = get_option('makecom_sns_webhook_url'); if (empty($webhook_url)) return; // 특성 이미지 URL (여러 크기) $img_full = get_the_post_thumbnail_url($post->ID, 'full'); $img_large = get_the_post_thumbnail_url($post->ID, 'large'); // 발췌문 (SNS용 요약) $excerpt = has_excerpt($post->ID) ? get_the_excerpt($post->ID) : wp_trim_words(strip_tags($post->post_content), 50); // 카테고리와 태그 $categories = wp_get_post_categories($post->ID, ['fields' => 'names']); $tags = wp_get_post_tags($post->ID, ['fields' => 'names']); // 태그를 해시태그로 변환 $hashtags = array_map(function($tag) { return '#' . str_replace([' ', '-'], '', $tag); }, $tags); // 본문에서 핵심 문장 추출 (인용구로 활용) $key_sentence = makecom_extract_key_sentence($post->post_content); // Webhook 데이터 전송 $payload = [ 'post_id' => $post->ID, 'title' => $post->post_title, 'excerpt' => $excerpt, 'excerpt_short' => wp_trim_words($excerpt, 20), 'key_sentence' => $key_sentence, 'url' => get_permalink($post->ID), 'short_url' => wp_get_shortlink($post->ID), 'image_full' => $img_full, 'image_large' => $img_large, 'categories' => $categories, 'tags' => $tags, 'hashtags' => implode(' ', $hashtags), 'hashtags_array' => $hashtags, 'author_name' => get_the_author_meta('display_name', $post->post_author), 'published_at' => $post->post_date, ]; $response = wp_remote_post($webhook_url, [ 'headers' => ['Content-Type' => 'application/json'], 'body' => wp_json_encode($payload), 'timeout' => 15, ]); // 공유 완료 표시 if (!is_wp_error($response)) { update_post_meta($post->ID, '_sns_shared', current_time('mysql')); } }, 10, 3); // 본문에서 가장 임팩트 있는 문장 추출 function makecom_extract_key_sentence($content) { $text = strip_tags($content); $sentences = preg_split('/[.!?。]\s+/u', $text); // 20~80자 사이의 문장 중 가장 긴 것 선택 $best = ''; foreach ($sentences as $s) { $len = mb_strlen(trim($s)); if ($len >= 20 && $len $len > mb_strlen($best)) { $best = trim($s); } } return $best; }
🔒
여기까지는 미리보기입니다
SNS 크로스 포스팅 자동화
무료 가입하면 이어서 볼 수 있고, 강의를 완료할 때마다 XP와 레벨이 쌓입니다.
Google로 3초 만에 시작 →🧵 Threads로 시작무료 공개 강의 둘러보기 (Lv.1~3)