Next.js SEO Crawling

App Router SEO 파일 생성

App Router에서는 MetadataRoute를 사용해 robots와 sitemap을 코드로 생성하고, 크롤러 허용 범위와 URL 발견성을 함께 관리한다.

01

크롤러 정책

공개 페이지, 관리자 페이지, 검색 결과 페이지처럼 크롤링 허용 범위를 먼저 나눈다.

policy
02

robots 생성

MetadataRoute.Robots로 User-agent, Allow, Disallow, Sitemap URL을 반환한다.

robots.ts
03

sitemap 생성

정적 경로와 동적 콘텐츠 URL을 모아 lastModified와 함께 반환한다.

sitemap.ts
04

배포 URL

배포 URL에서 robots.txt와 sitemap.xml이 올바른 content-type과 절대 URL을 갖는지 확인한다.

운영 점검
robots
검색 엔진에게 크롤링 허용과 차단 경로를 알려준다. 보안 수단이 아니므로 비공개 데이터 보호에는 인증이 필요하다.
crawl hint
sitemap
검색 엔진이 발견해야 할 canonical URL 목록을 제공한다. 동적 콘텐츠는 DB 변경 시 lastModified를 반영한다.
discoverability
환경
staging과 production robots 정책이 다를 수 있다. 잘못된 Disallow가 운영 검색 노출을 막지 않게 점검한다.
env-aware

SEO 파일 점검

절대 URL sitemap의 URL이 배포 도메인 기준 절대 경로다.
민감 경로 robots 차단만으로 관리자 페이지를 보호한다고 착각하지 않는다.
동적 경로 게시글과 상품 같은 DB 기반 경로가 sitemap에 포함된다.

App Router 파일

app/robots.ts -> MetadataRoute.Robots
app/sitemap.ts -> MetadataRoute.Sitemap