← 전체 글로 돌아가기

Next.js

Next.js RSS 피드가 정상인지 빠르게 확인하기

RSS 피드 문제를 디버깅할 때는 로그만 봐서는 부족하다. 공개 URL, 빌드 결과, 실제 요청을 함께 비교해야 원인을 빠르게 찾을 수 있다.

Next.js에서 RSS 피드를 생성할 때 예상과 다르게 작동하는 경우가 있다. 가장 흔한 실수는 로그나 콘솔 메시지만 보고 문제를 진단하려는 것이다. 하지만 실제로는 공개 URL의 응답, HTML 메타데이터, 빌드 로그를 모두 함께 봐야 원인이 보인다.

공개 URL에서 실제 RSS 응답 확인하기

먼저 배포된 환경의 RSS 피드를 직접 요청해본다. 로컬 개발 환경과 프로덕션 서버는 환경이 다르기 때문에 배포 후 처음 확인하는 것이 중요하다.

curl -s https://example.com/api/rss | head -20

응답의 HTTP 상태 코드가 200인지, 콘텐츠가 실제로 XML 형식인지 확인한다. 만약 500 에러가 나오거나 HTML이 반환되면 백엔드 로직에 문제가 있는 신호다.

메타데이터와 canonical 태그 확인

RSS 피드 외에도 페이지 헤드에 필요한 메타데이터가 올바르게 들어가 있는지 확인해야 한다. canonical URL, og:image, description 같은 태그들이 RSS 리더나 크롤러의 동작에 영향을 미친다.

curl -s https://example.com | grep -Ei 'title|description|canonical|og:|twitter:'

빌드 로그에서 놓친 경고 찾기

npm run build 실행 후 stderr와 stdout을 모두 확인한다. 대부분의 RSS 생성 라이브러리는 데이터 누락이나 형식 문제가 있을 때 경고를 출력한다. 이 경고들은 종종 무시되지만 실제 버그의 단서가 되곤 한다.

빌드 시간이 길어졌거나 특정 단계에서 멈춘다면, RSS 생성 함수에서 데이터를 과도하게 처리하고 있을 수 있다. 특히 외부 API를 호출하는 구간이라면 타임아웃 설정을 점검해야 한다.

원인 추적 체크리스트

  1. 공개 URL의 실제 응답을 한 번 요청해본다. 200 상태 코드와 유효한 XML 형식인지 확인한다.
  2. 빌드 로그에서 경고나 에러 메시지를 재확인한다. 특히 타임아웃이나 데이터 누락 관련 메시지를 찾는다.
  3. 로컬에서 빌드한 결과와 프로덕션 서버의 결과를 비교한다. 환경 변수나 데이터베이스 상태 차이가 있을 수 있다.
  4. 필요하면 RSS 파일의 원시 XML을 다운로드해서 유효성을 검증한다.

RSS 피드 문제는 한 두 군데만 봐서는 해결하기 어렵다. 로그, 실제 응답, 빌드 결과를 함께 비교하면서 진행하면 원인을 훨씬 빠르게 찾을 수 있다.