Skip to content

feat: 검색엔진 등록용 동적 sitemap.xml 엔드포인트 추가 - #226

Merged
sjungwon03 merged 1 commit into
devfrom
feat/225-sitemap-endpoint
Jul 24, 2026
Merged

feat: 검색엔진 등록용 동적 sitemap.xml 엔드포인트 추가#226
sjungwon03 merged 1 commit into
devfrom
feat/225-sitemap-endpoint

Conversation

@sjungwon03

Copy link
Copy Markdown
Member

변경 내용

  • GET /sitemap.xml 엔드포인트 추가 (신규 sitemap 패키지) — 정적 페이지(/, /search, /community) + 삭제되지 않은 커뮤니티 게시글 URL을 lastmod와 함께 생성
  • PostRepository에 id/updatedAt만 가져오는 projection 쿼리(findAllByDeletedAtIsNullOrderByUpdatedAtDesc) 추가 — 목록/상세 API처럼 user/policy 연관관계를 끌고 오지 않는다
  • SiteProperties(youthpick.site.frontend-url, env FRONTEND_URL)로 sitemap <loc>에 쓸 프론트 배포 도메인을 설정화, .env.example 갱신
  • SecurityConfig/sitemap.xml 공개 명시(카탈로그 성격상 인증 없이 항상 열려야 함)
  • 정책 상세는 프론트에 전용 라우트 없이 모달로만 열려 sitemap에 포함하지 않음(확인 완료)

프론트 쌍 PR: nginx가 /sitemap.xml을 이 엔드포인트로 프록시하고 robots.txt에서 위치를 안내 — front-end#255

검증

  • ./gradlew spotlessCheck 통과
  • ./gradlew test 통과 (전체 스위트, YouthpickApplicationTests context 로딩 포함)

연결 이슈

Closes #225

프론트가 SSR 없는 SPA라 빌드 시점에 커뮤니티 게시글 같은 동적 URL을
sitemap에 담을 수 없어, 백엔드가 매 요청 DB를 조회해 sitemap.xml을
생성한다. 정적 페이지 + 삭제되지 않은 게시글 URL을 lastmod와 함께
내려준다.

Closes #225
@sjungwon03 sjungwon03 added the feat 기능 개발 label Jul 24, 2026
@sjungwon03
sjungwon03 requested a review from myh7754 July 24, 2026 15:12
@sjungwon03 sjungwon03 self-assigned this Jul 24, 2026
@sjungwon03
sjungwon03 merged commit d742237 into dev Jul 24, 2026
2 checks passed
@sjungwon03
sjungwon03 requested review from imi21123 and myh7754 and removed request for imi21123 and myh7754 July 24, 2026 15:12
@sjungwon03
sjungwon03 deleted the feat/225-sitemap-endpoint branch July 24, 2026 15:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feat 기능 개발

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: 검색엔진 등록용 동적 sitemap.xml 엔드포인트 추가

1 participant