GA, Cloudflare, 구글 사이트 등록
사이트 주소가 pokitstory.com과 www.pokitstory.com으로 분산되면 트래픽 집계, Search Console 데이터, 검색 랭킹 신호가 모두 갈라집니다. 이를 방지하기 위해 대표 주소를 www.pokitstory.com 하나로 단일화하고 관련 도구들을 연동했습니다.
1. Cloudflare DNS 설정
사이트 호스팅은 Vercel을 사용하고 DNS 관리는 Cloudflare에서 진행했습니다.
- 네임서버 및 CNAME 설정: 네임서버를 Cloudflare로 지정하고 www 레코드가 Vercel 앱을 가리키도록 연결
- Root 도메인 리다이렉트:
pokitstory.com으로 들어오는 모든 요청을 www.pokitstory.com으로 포워딩 - 소유권 검증: 구글 도메인 소유권 확인용 TXT 레코드를 Cloudflare DNS 설정에 함께 등록해 관리를 단일화
2. Google Search Console 등록
Google Search Console에도 대표 주소인 www.pokitstory.com 속성 하나만 생성했습니다.
- 단일 속성 관리: Root 도메인과 www 도메인을 별개 속성으로 등록할 경우 인덱싱 신호와 리포트가 다시 분리되므로 하나만 등록
- 단계별 연동: Cloudflare TXT 레코드로 소유권 검증을 먼저 완료한 후 사이트맵(
sitemap.xml)을 제출
3. Google Analytics (GA4) 연동 및 SPA 라우팅 최적화
방문자 수 및 페이지 이동 흐름을 측정하기 위해 GA4(gtag.js)를 연동했습니다. 측정 ID는 환경 변수로 관리하며 공통 레이아웃에 배치했습니다.
- 자동 page_view 차단 (
send_page_view: false): Next.js는 Client-side Routing(SPA) 특성상 페이지를 이동해도 전체 문서를 다시 로드하지 않습니다. 기본 자동 페이지뷰를 켜둘 경우 첫 진입만 기록되거나 중복 트래킹이 발생할 수 있어 자동 전송을 비활성화했습니다. - 라우트 변경 감지 전송: 페이지 경로(pathname)나 쿼리 스트링이 변경될 때마다
page_path이벤트를 수동으로 전송하도록 구현했습니다. - 언어 및 경로별 리포트 분리: /ko, /en, /ja 등 언어별 경로와 /app 등의 서비스 페이지 트래픽을 정확히 구분하여 분석할 수 있도록 세팅했습니다.