← 전체 글로 돌아가기

Next.js

Next.js에서 sitemap.xml과 RSS 피드를 관리하는 방법

운영 중에는 작은 이상 신호도 빨리 분리해서 봐야 한다. sitemap과 RSS의 상태를 정기적으로 확인하는 습관.

운영 중에는 작은 이상 신호도 빨리 분리해서 봐야 한다. 웹 렌더링 전체 흐름에서 원인을 좁혀야 한다.

핵심 질문 던져보기

웹 렌더링의 흐름을 먼저 끊어서 본다. 특히 빌드 로그이 애매하면 다른 부분을 고쳐도 결과가 바뀌지 않을 수 있다.

먼저 생각해야 할 점:

  • 빌드 시에 sitemap이 생성되나?
  • RSS 피드의 아이템 개수는 맞나?
  • 각 URL의 lastmod 값은 최신인가?

먼저 제외할 원인들

웹 렌더링의 흐름을 먼저 끊어서 본다. 공개 URL이 애매하면 다른 부분을 고쳐도 결과가 바뀌지 않을 수 있다.

먼저 볼 값: 공개 URL

  • 배포된 사이트에서 직접 /sitemap.xml 접근
  • /feed.xml이나 RSS 엔드포인트 확인
  • 같이 비교할 값: 정상일 때의 웹 렌더링 상태

canonical과 메타데이터 확인

정상 상태를 먼저 정해두는 게 좋다. 그래야 HTML head 결과가 맞는지 아닌지를 빠르게 판단할 수 있다.

curl -s https://example.com/sitemap.xml | head -20
curl -s https://example.com | grep -Ei 'title|description|canonical|og:|twitter:'
npm run build

예상되는 정상 상태

웹 렌더링 작업에서 정상 상태를 먼저 정해두는 게 좋다. 그래야 메타데이터 결과가 맞는지 아닌지를 빠르게 판단할 수 있다.

빌드 로그 확인

웹 렌더링 작업에서 정상 상태를 먼저 정해두는 게 좋다. 그래야 canonical 결과가 맞는지 아닌지를 빠르게 판단할 수 있다.

남겨둘 기록:

  • 명령 출력
  • 응답 코드
  • 수정한 설정

검증 단계

  1. 원래 증상이 같은 조건에서 다시 나는지 확인한다.
  2. 로그나 응답에서 바뀐 부분을 한 줄로 설명한다.
  3. 공개 화면, 빌드 결과, 실제 요청 중 하나로 마지막 확인을 한다.

한 번에 여러 설정을 바꾸지 않는 것만으로도 원인 추적이 쉬워진다. 관련 기록을 남겨두면 다음 확인이 훨씬 빨라진다.