【제24회】 관리자의 큐레이션 역량! 메인 페이지에 고정 표시하는 '오늘의 추천 피크업'
요약
본 글은 커뮤니티 게시판에 '오늘의 추천 피크업' 기능을 설계하고 구현한 과정을 다룹니다. 자동화된 알고리즘(세기 랭킹, 신규 헤드라인 등)만으로는 놓치기 쉬운 좋은 콘텐츠를 관리자의 수동적인 큐레이션으로 메인 페이지 최상단에 고정하는 방법을 설명합니다. 특히 추천 코멘트(캐치카피)를 추가하여 사용자에게 읽을 이유를 제공하는 UI 설계의 중요성을 강조했습니다.
핵심 포인트
- 알고리즘 한계를 극복하기 위해 관리자의 큐레이션 역량이 필수적입니다.
- 단순 고정 대신 '추천 코멘트'를 붙여 클릭률과 가독성을 높였습니다.
- 콘텐츠가 없을 때 불필요한 여백을 제거하는 제로 코스트 표출 기법을 구현했습니다.
- 자동 알고리즘과 관리자 수동 큐레이션의 하이브리드 모델이 이상적입니다.
「알고리즘의 숫자만으로는 묻혀버리는 『진짜 재미있는 좋은 스레드』를, 관리자의 손으로 발굴하고 밀어낼 수 있다」
신(令) 시대에 직접 만든 2채널풍 게시판 「つゔぁいちゃんねる(2ch.biz)」 개발 비화의 제24탄입니다. 이번에는 기계적인 세기 집계나 신규 타임라인만으로는 포착할 수 없는 걸작 스레드를 추천 코멘트와 함께 메인 페이지 최상단에 고정 게시하는 「피크업 스레드 기능」의 설계와 구현을 공개합니다.
제21회부터 제23회에 걸쳐, 우리는 게시판의 동향을 시각화하는 3대 자동 엔진을 구축했습니다.
- 세기 랭킹 TOP 10 (실시간 작성 속도)
- 카테고리별 신규 헤드라인 (최신 타임라인)
- 트렌드 태그 클라우드 (버즈워드의 출현 빈도)
이들은 수학적·통계적으로 매우 아름답게 기능합니다. 하지만 서비스를 운영하면서, 알고리즘의 냉철한 한계에도 직면했습니다.
「조용히 깊은 논의가 오가는 명작 스레드나, 누군가의 인생 상담, 초심자에게 친절한 좋은 스레드가 숫자의 폭력(실황판이나 개그 스레드의 압도적인 세기)에 휩쓸려 몇 시간 만에 묻혀버린다」
YouTube나 Twitter가 알고리즘화를 진행시킨 결과, 과격한 콘텐츠만 추천을 점거하게 되는 현상과 같습니다.
게시판을 「단순한 데이터의 집적소」에서 「따뜻함이 있는 커뮤니티」로 승화시키기 위해서는, 관리자의 눈과 손에 의한 큐레이션(편집력) 이 절대적으로 필요했습니다.
개발 초기(2026년 8월 22일 새벽), 관리자가 추천 스레드를 추천문과 함께 고정할 수 있는 「오늘의 추천 피크업 기능」 을 구현했습니다.
스레드 정보를 가진 threads 테이블에, 두 개의 컬럼을 추가했습니다.
-- threads 테이블에 피크업 관련 컬럼 추가
ALTER TABLE threads ADD COLUMN is_pickup INTEGER DEFAULT 0;
ALTER TABLE threads ADD COLUMN pickup_comment TEXT DEFAULT '';
...
단순히 스레드가 가장 위에 고정되어만 있는 것만으로는, 사용자는 「왜 이게 위에 있어? 광고야?」라고 의문을 갖게 됩니다.
관리자가 「왜 이 스레드를 지금 읽었으면 하는지(예: 『필견! AI 시대에서의 자작 PC 선택법을 논하는 좋은 스레드』)」 라는 추천 코멘트(캐치카피)를 덧붙임으로써, 독자에게 확고한 읽는 이유가 생기기 때문입니다.
피크업된 스레드를 가져오는 공개 API와, 관리자가 설정/해제하는 특권 API입니다.
// 일반 공개용: 피크업 스레드 가져오기
public function getPickupThreads($limit = 3) {
$stmt = $this->db->prepare(
만약 관리자가 추천 스레드를 하나도 지정하지 않았거나(또는 모두 해제했을) 경우, 카드 프레임이나 여백은 전혀 표시되지 않으며, 인기 순위가 최상단으로 올라옵니다. 불필요한 빈 공간을 만들지 않는 깔끔한 제로 코스트(zero-cost) 표출을 구현했습니다.
제24회에 걸쳐는 기계적인 알고리즘에 생명을 불어넣는 **'관리자 추천 픽업 기능'**에 대해 설명했습니다.
-
**알고리즘과 인간력의 하이브리드**: 자동 계산된 순위와 관리자의 따뜻한 큐레이션이 양륜이 되어 커뮤니티를 지탱합니다. -
**'추천 문구'가 클릭률을 높인다**: 단순히 고정하는 것뿐만 아니라, 왜 추천인지 한마디를 덧붙이는 UI 설계의 위력.
-
**존재하지 않을 때는 완전히 사라지는 영역**: 콘텐츠가 없을 때 발생하는 불필요한 여백을 제로로 만드는 조건 분기 그리기(conditional rendering).
콘텐츠와 내비게이션의 진화에 힘입어 사이트의 접속자 수는 순조롭게 증가해 왔습니다.
하지만, 접속자가 늘어날수록 개인 개발자가 피할 수 없는 현실이 날카롭게 드러납니다.
**'매월 발생하는 서버 비용과 도메인 비용을 어떻게 충당할 것인가?'**라는 수익화 과제입니다.
다음 편에서는 **【제25회】개인 운영의 서버비를 마련하라! 728x90 표준 광고 배너 헤더 삽입 및 CLS 대책**으로 이어집니다!
-
**실제 서비스**: https://2ch.biz/
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기