Next.js 사이트에서 sitemap과 robots를 점검하는 법
Next.js App Router에서 sitemap.xml, robots.txt, metadata, canonical, llms.txt를 배포 전 점검하는 기술 SEO 체크리스트입니다.
- 읽는 시간
- 7분
- 발행
- 2026-06-13
- 수정
- 2026-06-13
Key takeaways
- sitemap에는 공개 canonical URL만 넣고 앱 내부 경로는 제외합니다.
- robots.txt는 비공개 페이지 보호 수단이 아닙니다. 인증과 noindex 정책을 함께 고려해야 합니다.
- metadata, canonical, Article/FAQ schema, llms.txt까지 같은 URL 체계를 사용해야 합니다.
Definition
Next.js sitemap과 robots 설정은 App Router에서 공개 URL 발견과 crawler 접근 정책을 관리하는 기술 SEO 기본 작업입니다. sitemap.xml은 색인 후보 URL을 알려주고 robots.txt는 crawler 접근 규칙과 sitemap 위치를 안내합니다.
Next.js App Router에서는 sitemap.ts와 robots.ts 파일 규칙으로 검색엔진용 metadata 파일을 만들 수 있습니다.
sitemap에는 공개 페이지와 블로그 글처럼 색인되어야 하는 URL만 넣고 로그인 뒤 앱 화면은 제외하는 편이 안전합니다.
robots.txt는 비공개 앱 경로를 차단하는 데 쓰되, 검색 결과에서 완전히 숨겨야 하는 페이지는 noindex나 인증 보호를 함께 고려해야 합니다.
각 공개 페이지에는 title, description, canonical, Open Graph 정보를 확인해야 합니다.
배포 후에는 /sitemap.xml, /robots.txt, 주요 페이지 HTML head를 curl이나 브라우저로 직접 확인하세요.
Next.js sitemap.xml에 넣을 URL
Next.js App Router에서는 app/sitemap.ts로 sitemap.xml을 생성할 수 있습니다. 여기에 넣을 URL은 검색엔진이 발견해야 하는 공개 canonical URL이어야 합니다. 홈, 가격, 블로그, 진단 미리보기, 정책 페이지, 블로그 글이 대표적입니다.
로그인 뒤 앱 화면, API, 개인 리포트 URL은 sitemap에 넣지 않습니다. 검색엔진이 발견해야 할 이유가 없고 사용자 데이터와 섞이면 신뢰를 잃습니다.
robots.txt에서 허용과 차단을 나누는 법
robots.txt는 crawler에게 접근 정책을 알려주는 파일입니다. Answerable처럼 공개 마케팅 페이지와 로그인 앱이 나뉜 서비스는 `/app`, `/api`, `/onboarding` 같은 경로를 차단하고 공개 페이지는 허용하는 구성이 적합합니다.
단, robots.txt는 접근 제어가 아닙니다. 진짜 비공개 데이터는 인증으로 막아야 합니다. 검색 결과에서 제외해야 하는 공개 페이지는 noindex나 canonical 정책을 별도로 봐야 합니다.
- 공개 페이지: `/`, `/pricing`, `/blog`, `/diagnostic` 허용
- 비공개 앱: `/app`, `/api`, `/onboarding` 차단
- sitemap 위치: `https://answerable.kr/sitemap.xml` 명시
metadata, canonical, llms.txt까지 함께 확인하기
기술 SEO는 sitemap과 robots에서 끝나지 않습니다. 각 공개 페이지에는 title, description, canonical, Open Graph가 있어야 합니다. 블로그 글에는 Article schema와 FAQPage schema를 함께 확인합니다.
llms.txt는 검색 표준은 아니지만 GEO 보조 파일로 쓸 수 있습니다. 이 파일도 sitemap과 같은 canonical URL을 가리켜야 합니다. 같은 페이지를 서로 다른 주소로 안내하면 크롤러와 AI 모두 혼란스러워집니다.
Checklist
바로 적용할 작업 순서
- 01sitemap.xml에 공개 canonical URL만 들어가는지 확인한다.
- 02robots.txt가 sitemap 위치를 포함하는지 확인한다.
- 03앱 내부 경로와 API 경로가 crawler 대상에서 제외되는지 본다.
- 04각 공개 페이지의 title, description, canonical을 확인한다.
- 05llms.txt가 sitemap과 같은 URL을 안내하는지 맞춘다.
함께 읽을 글
FAQ
자주 묻는 질문
robots.txt로 비공개 페이지를 완전히 숨길 수 있나요?
아닙니다. robots.txt는 crawler 접근 제어용입니다. 색인 방지는 noindex나 인증 보호가 더 적합합니다.
sitemap에 모든 URL을 넣어야 하나요?
아닙니다. 검색엔진이 발견해야 하는 canonical 공개 URL 중심으로 넣는 것이 좋습니다.
참고한 1차 자료
다음 단계
글에서 본 문제를 내 사이트에서 확인하세요
진단 미리보기는 상위 문제 3개를 먼저 열고, Pro에서 전체 후보와 초안, 7일 효과 검증으로 이어집니다.