데브포일 홈
WordPress 자동화
Guest
STAGE 16 · Lv.83

콘텐츠 리사이클링 자동화

에버그린 콘텐츠를 자동 감지하여 재발행하고, 콘텐츠 리프레시 스케줄링, 오래된 글 최적화, 301 리다이렉트 관리를 자동화합니다.

콘텐츠 리사이클링이란?

기존 콘텐츠의 숨겨진 가치

대부분의 블로그는 새 글을 쓰는 데만 집중하고, 기존 글은 방치합니다. 하지만 콘텐츠 리사이클링은 가장 효율적인 콘텐츠 전략 중 하나입니다. 이미 작성된 양질의 글을 업데이트하고, 다시 공유하고, 다른 형태로 변환하면 최소한의 노력으로 최대한의 트래픽을 얻을 수 있습니다.


에버그린 콘텐츠(Evergreen Content)란 시간이 지나도 가치가 유지되는 글입니다. "2026년 SEO 트렌드" 같은 글은 시효가 있지만, "WordPress 설치 방법"은 수년간 유효합니다. 이런 에버그린 콘텐츠를 자동으로 감지하고, 주기적으로 업데이트하고, 다시 SNS에 공유하는 시스템을 구축합니다.

♻️
리사이클링
기존 글 재활용
🌿
에버그린
시간 불문 가치 콘텐츠
📈
SEO 부스트
업데이트로 순위 상승
🔄
자동 재발행
최적 시점 자동 감지

에버그린 콘텐츠 자동 감지

// 에버그린 콘텐츠 감지 및 리사이클링 시스템 class MAP_Content_Recycler { public function __construct() { // 매주 에버그린 콘텐츠 분석 add_action('map_weekly_content_analysis', [$this, 'analyze_evergreen_content']); // 매일 리사이클 큐 처리 add_action('map_process_recycle_queue', [$this, 'process_queue']); if (!wp_next_scheduled('map_weekly_content_analysis')) { wp_schedule_event(time(), 'weekly', 'map_weekly_content_analysis'); } if (!wp_next_scheduled('map_process_recycle_queue')) { wp_schedule_event(time(), 'daily', 'map_process_recycle_queue'); } } // 에버그린 콘텐츠 점수 계산 public function calculate_evergreen_score($post_id) { $score = 0; $post = get_post($post_id); // 1. 날짜 관련 키워드 확인 (비에버그린 신호) $content = $post->post_title . ' ' . $post->post_content; $date_patterns = ['/202[0-9]년/', '/올해/', '/이번 달/', '/최근/', '/트렌드/']; $has_date_ref = false; foreach ($date_patterns as $pattern) { if (preg_match($pattern, $content)) { $has_date_ref = true; break; } } if (!$has_date_ref) $score += 30; // 2. 글 길이 (긴 글일수록 에버그린 가능성 높음) $word_count = mb_strlen(strip_tags($post->post_content)); if ($word_count >= 3000) $score += 20; elseif ($word_count >= 1500) $score += 10; // 3. 댓글 수 (참여도 높은 글) $comment_count = get_comments_number($post_id); if ($comment_count >= 10) $score += 15; elseif ($comment_count >= 3) $score += 8; // 4. 카테고리 기반 판단 $evergreen_cats = get_option('map_evergreen_categories', []); $post_cats = wp_get_post_categories($post_id); if (array_intersect($post_cats, $evergreen_cats)) { $score += 20; } // 5. 마지막 업데이트로부터의 시간 $last_modified = strtotime($post->post_modified); $months_old = (time() - $last_modified) / (30 * DAY_IN_SECONDS); if ($months_old >= 6) $score += 15; // 6개월 이상 미업데이트 → 업데이트 필요 return min(100, $score); } // 주간 에버그린 콘텐츠 분석 public function analyze_evergreen_content() { $posts = get_posts([ 'post_type' => 'post', 'post_status' => 'publish', 'posts_per_page' => -1, 'date_query' => [ ['before' => '3 months ago'], // 3개월 이상 된 글만 ], ]); $candidates = []; foreach ($posts as $post) { $score = $this->calculate_evergreen_score($post->ID); if ($score >= 60) { $candidates[] = [ 'post_id' => $post->ID, 'title' => $post->post_title, 'score' => $score, 'age' => human_time_diff(strtotime($post->post_date)), ]; update_post_meta($post->ID, '_evergreen_score', $score); } } // 점수 순 정렬 usort($candidates, function($a, $b) { return $b['score'] - $a['score']; }); // 상위 5개를 리사이클 큐에 추가 $queue = array_slice($candidates, 0, 5); update_option('map_recycle_queue', $queue); error_log(sprintf('[리사이클] %d개 에버그린 후보 발견, 상위 %d개 큐에 추가', count($candidates), count($queue))); } // 리사이클 큐 처리 public function process_queue() { $queue = get_option('map_recycle_queue', []); if (empty($queue)) return; // 하루에 1개씩만 재발행 $item = array_shift($queue); update_option('map_recycle_queue', $queue); $post_id = $item['post_id']; // 발행일을 현재 시간으로 업데이트 (글을 "새 글"처럼 표시) wp_update_post([ 'ID' => $post_id, 'post_date' => current_time('mysql'), 'post_date_gmt' => current_time('mysql', true), 'post_modified' => current_time('mysql'), ]); // "업데이트됨" 표시 추가 update_post_meta($post_id, '_last_recycled', current_time('mysql')); // SNS 재공유 트리거 do_action('map_recycle_post_published', $post_id); error_log(sprintf('[리사이클] 포스트 #%d "%s" 재발행', $post_id, $item['title'])); } } new MAP_Content_Recycler();
🔒
여기까지는 미리보기입니다
콘텐츠 리사이클링 자동화
무료 가입하면 이어서 볼 수 있고, 강의를 완료할 때마다 XP와 레벨이 쌓입니다.
Google로 3초 만에 시작 →🧵 Threads로 시작무료 공개 강의 둘러보기 (Lv.1~3)