모든 게시글
This article is also available in English.Read in English →
Next.js 15 + Cloudflare Pages 블로그 구글 노출 0건과 애드센스 'ads.txt 찾을 수 없음' 완벽 해결기
분명 브라우저에서는 잘 열리는 ads.txt를 왜 구글 애드센스 봇만 못 읽었을까? Cloudflare GraphQL 방화벽 로그 분석으로 찾아낸 Bot Fight Mode의 함정과 Next.js 정적 블로그의 5가지 기술적 SEO·애드센스 최적화 트러블슈팅 기록.
로딩 중...
관련 게시글

Development
Vercel에서 Cloudflare Pages로: Next.js 15 정적 블로그 마이그레이션 기록
서버리스의 편리함 뒤에 숨겨진 복잡성을 걷어내고, Next.js 15를 완전한 정적 HTML로 구워내어 Cloudflare 엣지 CDN에 안착시킨 실전 마이그레이션 기록.
2026년 9월 12일
13 소요
Next.js 외 5개

Development
기술은 성공했지만 프로젝트는 실패했습니다: 아내의 스마트스토어 송장 자동화(FastMCP) 삽질 회고록
맥북을 쓰는 아내를 위해 홈 NAS, FastMCP, AirPrint(IPP) 직출, 그리고 ReportLab 0.1mm 정밀 좌표계까지 동원해 무인 송장 출력 시스템을 구축했지만, 결국 레거시 생태계와 택배 단가(Unit Economics)의 벽 앞에서 접어야 했던 뼈아픈 실패 기록.
2026년 10월 22일
25 소요
MCP 외 6개

Development
월패드 RS485 패킷 역공학부터 스마트홈까지: AI와 함께 완성한 Home Assistant와 Bento UI 구축기
월패드 RS485 통신 패킷을 직접 역공학하던 고된 수작업부터, AI 에이전트와 함께 해결한 USB 콜드 재부팅 버그와 Bento Grid 대시보드 구축기.
2026년 10월 10일
16 소요
HomeAssistant 외 5개
© 2026 HEISENBUG. 이 글의 저작권은 작성자에게 있으며, 허가 없이 무단 복제 및 배포를 금합니다.
이 글은 개인적인 경험과 의견을 바탕으로 작성되었으며, 모든 내용은 작성 시점을 기준으로 합니다.
목차
- "브라우저에선 200 OK인데, 왜 구글 애드센스만 ads.txt를 못 찾을까?"
- 1. 한눈에 보는 원인 진단 및 해결 요약
- 2. 범인 검거 ①: Cloudflare GraphQL API로 밝혀낸 트래픽의 진실
- 🔍 원인: www와 non-www의 이중 생존과 Canonical 불일치
- 기존 https://dbgmy.life/robots.txt 출력값
- 3. 범인 검거 ②: 애드센스 봇에게 캡차(CAPTCHA)를 들이민 Cloudflare 방화벽
- 4. Cloudflare WAF 설정 시 반드시 피해야 할 2가지 함정
- 함정 ①: "WAF Skip 규칙을 만들었으니 무료 Bot Fight Mode는 다시 켜도 되겠지?" (❌ 절대 안 됨)
- 함정 ②: WAF Skip 규칙 저장 시 skip action parameters 'phase' and 'ruleset' cannot be used together 에러
- 5. Next.js 15 정적 블로그의 SEO & 애드센스 코드 레벨 패치 3가지
- ① '16개 본문 vs 90개 빈 태그 페이지' 역전 현상 해결 (noindex, follow)
- ② JsonLdSchema를 클라이언트(afterInteractive)에서 서버 정적 렌더링으로 전환
- ③ 디자인을 망치는 '자동 광고' 대신 깔끔한 하단 전용 AdSenseUnit 컴포넌트 구현
- 마치며: "감(Feeling)이 아니라 로그(Log)로 디버깅하라"
댓글