- Published on
8단계: RSS 및 sitemap 자동 생성 구조 이해
RSS 및 sitemap 자동 생성 구조 이해
Pliny는 검색엔진 최적화와 콘텐츠 구독을 위해 RSS와 sitemap을 자동으로 생성하는 구조를 갖추고 있습니다.
8-1. RSS란?
- XML 기반 구독용 피드 포맷
- RSS 리더, 브라우저 확장, 포털 수집기 등에서 활용
- 생성 위치:
/public/feed.xml
8-2. sitemap이란?
- 검색 엔진이 내 사이트 구조를 효율적으로 탐색하게 하는 XML 문서
- 블로그, 정적 페이지, 태그 페이지까지 포함
- 생성 위치:
/public/sitemap.xml
8-3. 관련 파일 구조
파일 경로 | 설명 |
---|---|
scripts/generate-rss.ts | RSS 피드 생성 스크립트 |
lib/generate-rss.ts | RSS 포맷 정의 및 구조화 |
next-sitemap.config.js | sitemap 생성 설정 |
package.json | postbuild 에 RSS 생성 명령 포함 |
8-4. RSS 생성 흐름
generate-rss.ts
에서allBlogs
가져옴generateRssFeed()
함수로 XML 작성/public/feed.xml
로 저장
const rss = generateRssFeed(allBlogs);
fs.writeFileSync('./public/feed.xml', rss);
build
완료 후postbuild
스크립트로 자동 실행됨
8-5. sitemap 생성 흐름
next-sitemap.config.js
설정 기준으로 sitemap 자동 생성- 사이트 주소, 제외 경로, robots.txt 설정 가능
module.exports = {
siteUrl: 'https://www.poten.co.kr',
generateRobotsTxt: true,
exclude: ['/server-sitemap.xml'],
}
→ 빌드 시 /public/sitemap.xml
, /public/robots.txt
자동 생성
요약
- RSS:
/public/feed.xml
에 생성, 모든 글 포함 - sitemap:
/public/sitemap.xml
및/robots.txt
자동 생성 postbuild
스크립트에서 RSS 생성 자동 트리거- 검색엔진 등록, 카카오뷰, RSS 리더 연동 등에서 필수 활용
심화학습
Q1. RSS 피드에 대표 이미지를 추가하거나 커스터마이징하려면 어떤 부분을 수정해야 할까?
A: lib/generate-rss.ts
에서 <item><media:content>
또는 <enclosure>
태그를 추가하고 이미지 URL을 명시하면 됩니다.
Q2. sitemap에서 특정 페이지를 제외하려면 어떤 설정을 활용해야 할까?
A: next-sitemap.config.js
의 exclude
필드에 경로를 추가하면 해당 URL이 sitemap에서 제외됩니다.
Q3. robots.txt에 커스텀 규칙을 넣으려면 어떤 식으로 작성하고 배포해야 할까?
A: robots.txt
를 수동으로 작성하거나, next-sitemap.config.js
에서 robotsTxtOptions.additionalSitemaps
나 policies
를 설정하여 자동 반영되게 할 수 있습니다.