SEO와 콘텐츠 전략 — 사주 도메인의 검색 최적화

 


앱은 완성되었지만

분석 엔진, AI 해석, UI. 사주 앱의 핵심 기능이 모두 갖춰졌다. 그런데 한 가지 치명적인 문제가 있었다. 이 앱은 Single Page Application(SPA)이다. React로 만든 SPA는 기본적으로 빈 HTML에 자바스크립트가 모든 것을 렌더링한다. 구글 크롤러가 이 페이지를 방문하면 빈 페이지를 보게 된다.

아무리 좋은 사주 풀이 엔진을 만들어도, 검색에서 찾을 수 없으면 사용자는 오지 않는다.

SPA의 SEO 한계

SPA의 SEO 문제는 잘 알려져 있지만, 실제로 직면하면 생각보다 까다롭다.

구글봇이 자바스크립트를 렌더링할 수 있다는 것은 사실이다. 하지만 모든 페이지를 렌더링해주지는 않는다. 크롤링 예산(crawl budget)이 있고, JS 렌더링은 추가 비용이 든다. 특히 새로 만든 작은 사이트에는 관대하지 않다.

메타 태그도 문제다. 사주 앱에서 "갑자(甲子) 일주 상세" 페이지와 "을축(乙丑) 일주 상세" 페이지는 각각 다른 title, description, og:image가 필요하다. SPA에서 이것을 클라이언트 사이드에서 동적으로 바꿔봐야, 소셜 미디어 크롤러나 검색 엔진 크롤러는 초기 HTML의 메타 태그만 읽는 경우가 많다.

세 가지 전략으로 이 문제를 해결했다.

전략 1: 프리렌더링

빌드 시점에 주요 페이지를 미리 렌더링해서 정적 HTML로 저장하는 방식이다. 사용자가 접속하면 정적 HTML이 먼저 로드되고, 이후 React가 hydration을 통해 인터랙티브 앱으로 전환된다.

프리렌더링 대상은 사용자가 직접 방문하는 "입구" 역할을 하는 페이지들이다. 메인 페이지, 가이드 페이지들, 칼럼 페이지들, 그리고 상세 정보 페이지들. 이 페이지들이 각각 고유한 title, description, og:image를 가진 완전한 HTML로 생성된다.

프리렌더링은 빌드 파이프라인의 일부로 자동화했다. vite build가 끝나면 프리렌더링 스크립트가 실행되어 각 라우트를 방문하고 HTML을 저장한다. 배포할 때마다 최신 상태의 정적 HTML이 생성되는 것이다.

전략 2: 사이트맵과 JSON-LD

사이트맵(sitemap.xml)은 검색 엔진에게 "이 사이트에 이런 페이지들이 있다"고 알려주는 지도다. 프리렌더링된 모든 페이지의 URL, 최종 수정일, 우선순위를 포함하는 사이트맵을 자동 생성했다.

JSON-LD 구조화 데이터는 검색 결과에서의 노출 품질을 높인다. 가이드 페이지에는 Article 스키마를, 사주 분석 페이지에는 WebApplication 스키마를, FAQ가 포함된 페이지에는 FAQPage 스키마를 적용했다.

예를 들어 "십신이란 무엇인가" 가이드 페이지에 Article 스키마를 적용하면, 구글 검색 결과에서 제목, 설명, 발행일이 구조화되어 표시될 수 있다. 사용자 입장에서는 검색 결과만 보고도 "이 페이지가 내가 찾는 정보인지"를 판단할 수 있어 클릭률이 올라간다.

빌드 파이프라인은 세 단계로 구성된다. vite build(앱 빌드) → generate-sitemap(사이트맵 자동 생성) → prerender(주요 페이지 프리렌더링). 이 세 단계가 하나의 빌드 커맨드로 순차 실행된다.

전략 3: 콘텐츠로 검색 유입을 만든다

기술적 SEO만으로는 부족하다. 검색 유입의 핵심은 결국 "사용자가 검색하는 키워드에 대응하는 콘텐츠"가 있느냐 없느냐다.

사주 도메인의 검색 키워드를 분석해보면, 크게 세 가지 유형이 있다.

첫째, 개념 학습형 키워드다. "십신이란", "오행이란", "천간 지지 뜻", "용신이란" 같은 검색어다. 사주에 관심이 생긴 초보자가 검색하는 키워드로, 검색량이 꾸준하다.

둘째, 구체적 조회형 키워드다. "갑자 일주 특징", "을목 성격", "경금 직업", "인목 지장간" 같은 검색어다. 사주를 어느 정도 아는 사람이 특정 요소의 상세 정보를 찾는 키워드다.

셋째, 실용형 키워드다. "2026년 운세", "사주 궁합", "오늘의 사주" 같은 검색어다. 직접 사주 풀이를 받고 싶은 사용자의 검색어로, 앱의 핵심 기능과 직결된다.

이 세 가지 유형에 대응하는 콘텐츠를 체계적으로 만들었다.

가이드 페이지: 11개 이상

개념 학습형 키워드에 대응하는 것이 가이드 페이지다. 사주명리의 핵심 개념을 하나씩 깊이 있게 다룬다.

천간 가이드(갑을병정무기경신임계의 의미와 성격), 지지 가이드(자축인묘진사오미신유술해의 의미와 특성), 간지 가이드(60갑자의 구조와 순환), 오행 가이드(목화토금수의 상생상극), 십신 가이드(비견, 겁재, 식신, 상관, 편재, 정재, 편관, 정관, 편인, 정인의 의미), 용신 가이드(용신의 판단법과 활용), 일주 가이드(60일주 개요), 궁합 가이드(사주 궁합의 원리), 대운 가이드(10년 단위 운의 흐름), 별자리와 사주 가이드(서양 점성술과의 비교), 사주 기초 가이드(입문자를 위한 종합 안내).

각 가이드는 2000~3000자 분량으로, 해당 개념의 정의, 구성 요소, 실제 예시, 앱에서의 활용법을 포함한다. 마지막에는 "직접 내 사주를 확인해보세요"라는 CTA(Call to Action)로 앱의 분석 기능으로 유도한다.

칼럼 페이지: 5개 이상

개념 가이드보다 가볍고 흥미 위주의 콘텐츠가 칼럼이다. 검색 유입보다는 SNS 공유와 재방문을 노린다.

"사주 기초: 내 사주는 어떻게 구성되는가", "오행으로 보는 성격 유형", "일간별 직업 적성", "사주 궁합의 진실과 오해", "올해 운세를 사주로 읽는 법". 이 칼럼들은 가이드보다 톤이 가볍고, 독자의 실생활과 연결되는 내용을 담는다.

"오행으로 보는 성격 유형"은 MBTI처럼 접근한다. "당신의 일간이 갑목(甲木)이라면, 큰 나무처럼 곧고 당당한 성격입니다." 이런 식으로 일간별 성격 특성을 소개하면서, 독자가 자기 일간을 확인하고 싶게 만든다.

상세 페이지: 수백 개의 롱테일

사주 도메인의 진짜 SEO 무기는 상세 페이지다. 롱테일 키워드를 각각 잡아내는 개별 페이지들이다.

천간 상세 10개(갑, 을, 병, 정, 무, 기, 경, 신, 임, 계 각각의 성격, 직업, 건강, 대인관계), 지지 상세 12개(자, 축, 인, 묘, 진, 사, 오, 미, 신, 유, 술, 해 각각의 특성), 간지 상세 60개(60갑자 각각의 조합 해석), 일주 상세 60개(60일주 각각의 성격과 운세), 십신 상세 10개(각 십신의 의미와 위치별 해석), 신살 상세(도화살, 역마살, 귀문관살 등 주요 신살의 의미).

이 상세 페이지들의 합계는 150개가 넘는다. "갑자 일주 성격"이라고 검색하는 사람에게 정확히 그 내용을 담은 페이지가 있는 것이다. 이것이 롱테일 SEO의 핵심이다. 하나하나의 검색량은 적지만, 150개 이상의 페이지가 각자의 키워드를 잡으면 전체 유입은 상당해진다.

AI로 대량 콘텐츠 생산

문제는 이 150개 이상의 페이지를 어떻게 만드느냐였다. 하나하나 직접 쓰면 몇 달이 걸린다.

여기서 AI의 역할이 결정적이었다. 사주 도메인의 데이터(천간 특성, 지지 특성, 오행 관계 등)를 구조화한 후, AI에게 "이 데이터를 기반으로 갑목(甲木) 천간의 상세 페이지를 작성해줘. 성격, 직업 적성, 건강, 대인관계를 포함하되, 구체적 예시와 실용적 조언을 넣어줘"라고 요청한다.

핵심은 "템플릿 + 데이터"의 조합이다. 천간 상세 페이지의 구조(섹션 순서, 포함할 내용, 톤)를 템플릿으로 정의하고, 각 천간의 고유 데이터를 넣어서 AI가 10개의 페이지를 생성한다. 지지도 같은 방식으로 12개, 일주는 60개.

물론 AI가 생성한 콘텐츠를 그대로 발행하지는 않았다. 각 페이지를 검토하면서 사실 오류, 과도한 일반화, 톤의 불일치를 수정했다. 하지만 "백지에서 시작"하는 것과 "초안을 수정"하는 것은 생산성에서 하늘과 땅 차이다. AI가 초안을 작성하고 사람이 편집하는 방식으로, 150개 이상의 페이지를 현실적인 시간 내에 완성할 수 있었다.

SEO 키워드의 도메인 특화

사주 도메인의 SEO 키워드는 일반적인 웹 서비스와 다른 특성이 있다.

첫째, 한자 표기가 중요하다. "갑목"만 쓰면 안 되고 "갑목(甲木)"으로 표기해야 한다. 한자를 포함해서 검색하는 사용자가 상당수 있고, 한자 표기가 전문성을 높여준다.

둘째, 동의어가 많다. "사주"와 "사주팔자", "명리"와 "명리학", "운세"와 "운명". 같은 개념을 여러 단어로 검색하기 때문에, 콘텐츠 안에 주요 동의어를 자연스럽게 포함해야 한다.

셋째, 계절성이 있다. "올해 운세", "신년 운세" 키워드는 매년 연말~연초에 검색량이 폭증한다. "토정비결"도 마찬가지다. 이 계절성을 콘텐츠 발행 타이밍과 맞추면 효과가 극대화된다.

넷째, 비교 키워드가 많다. "MBTI vs 사주", "별자리와 사주 차이", "타로와 사주 차이". 다른 체계와의 비교를 궁금해하는 사용자를 위한 콘텐츠도 유입에 효과적이다.

숫자로 보는 콘텐츠

최종적으로 생산된 콘텐츠의 규모는 이렇다. 가이드 페이지 11개 이상, 칼럼 5개 이상, 천간 상세 10개, 지지 상세 12개, 간지 상세 60개, 일주 상세 60개, 십신 상세 10개 이상, 신살 상세 다수. 각 페이지가 고유한 URL, title, description, JSON-LD를 가지고 있다.

이 모든 페이지가 프리렌더링되어 정적 HTML로 존재하고, 사이트맵에 등록되어 있다. 구글 크롤러가 방문하면 완전한 콘텐츠를 즉시 읽을 수 있다. SPA의 SEO 한계를 기술과 콘텐츠 양쪽에서 동시에 극복한 셈이다.

다음 편 예고

분석 엔진, AI 해석, UI, SEO 콘텐츠까지 모든 것이 준비되었다. 마지막 관문은 배포다. 다음 편에서는 GitHub Pages와 Cloudflare Workers를 조합해서 총 비용 $0으로 실서비스를 운영하는 방법, 그리고 무료 인프라의 현실과 트레이드오프를 다룬다.

댓글

이 블로그의 인기 게시물

사랑을 직접 올리지 않는 설계

감정을 변수로 옮기다 — 3계층 감정 모델

시작의 충동 — "타로 웹앱을 만들어볼까?"