개발 slecs

로그인 페이지 검색 노출 차단을 위한 노인덱스 태그 적용

목차

signin 페이지에 meta description과 noindex 태그를 추가했다. 간단해 보이는 작업이지만 검색 엔진 최적화(SEO)와 서비스 보안 사이의 균형을 맞추는 의사결정이 담긴 변경이다.

로그인 페이지는 왜 검색 결과에 나오면 안 되나

이 작업이 필요한 이유부터 생각해 보자. 로그인 페이지는 인증이 필요한 보호된 영역으로 가는 관문이다. 만약 이 페이지가 Google, Naver 같은 검색 엔진에 색인되면 어떻게 될까? 사용자가 "우리 서비스 로그인"을 검색했을 때 검색 결과에 로그인 페이지가 나타나는 건 디버깅 메시지나 에러 로그를 노출하는 것과 같은 수준의 보안 위험이 될 수 있다. 또한 검색 봇이 반복적으로 로그인 페이지를 크롤링하면서 불필요한 트래픽을 생성하고, 봇 탐지 시스템을 번거롭게 만들 수 있다.

그래서 우리는 <meta name="robots" content="noindex" />를 명시적으로 추가해서 "이 페이지는 인덱싱하지 말아달라"고 검색 봇에 지시해야 한다. 이건 옵션이 아니라 필수다.

메타 태그 전략: 페이지별로 다르게 가져가기

여러 페이지를 운영할 때 메타 설정이 달라진다는 점이 흥미롭다. 팀과 논의할 때도 "모든 페이지가 같은 메타 태그를 가져야 하나?"라는 질문이 종종 나온다. 답은 "아니오"다.

페이지 유형 description noindex 이유
홈페이지 O X SEO 대상, 검색 결과에 노출되어야 함
로그인 페이지 O O 검색 제외, 하지만 설명은 일관성을 위해 유지
개인정보 페이지 O O 인증 후 진입, 사용자별로 다르므로 노출 불필요
서비스 안내 O X SEO 대상, 검색 결과 노출 권장

description을 추가한 건 특별한 이유가 있을 거다. 로그인 페이지도 메타 설명이 없으면 검색 결과나 소셜 미디어 공유 시 자동으로 페이지 본문의 첫 줄을 잘라서 표시하는데, 로그인 폼이 나타날 수 있다. "로그인"이라는 명확한 설명을 미리 정의해 두면 그런 상황을 피할 수 있다.

// 일반적인 메타 태그 설정 패턴
const pageMetaTags = {
  signin: {
    description: "계정으로 로그인하세요",
    robots: "noindex"  // 검색 엔진 색인 제외
  },
  home: {
    description: "서비스 설명",
    robots: "index, follow"  // 색인 권장
  }
}

구현의 중요성: 서버 렌더링과 메타 태그

src/interface/server/web-pages.ts는 서버 렌더링 계층에서 HTML 페이지를 조합하는 영역인 듯하다. 여기서 메타 태그를 제어하는 건 중요한 결정이다. 왜냐하면:

  • 초기 렌더링 시점에 적용: 클라이언트 사이드에서 나중에 추가하면 크롤러가 인식 못할 수 있음
  • SEO 도구의 정확한 인식: Google Search Console, Lighthouse 같은 도구들이 <head> 태그의 메타 정보를 우선 확인
  • 소셜 미디어 공유 시 효과: Open Graph나 기본 description이 정확하게 나타남

그래서 이 파일에서 처리하는 게 정답이다. 만약 클라이언트 컴포넌트에서만 메타 태그를 관리했다면, 초기 HTML에는 메타 정보가 없어서 검색 봇이나 Slack 같은 프리뷰 도구가 올바른 정보를 얻지 못했을 가능성이 높다.

회고: 작은 변경, 큰 영향

이 작업이 "fix"로 분류된 것도 의미가 있다. 엄밀히는 새 기능이 아니라 빠진 설정을 보강한 것이다. 로그인 페이지가 검색 결과에 노출된 상태로 운영되고 있었다면, 이건 기술부채(tech debt)일 수밖에 없다. 팀원이 이 문제를 발견하고 보고했거나, SEO 감시 도구에서 경고를 받았을 가능성이 크다.

나는 이런 작은 변경들이 쌓여야 서비스 품질이 올라간다고 생각한다. 특히 메타 태그, robots.txt, sitemap 같은 SEO 기초 작업들은 한 번에 모두 처리하기보다 발견 때마다 수정하는 게 현실적이다. 팀 리뷰에서도 "이 페이지는 noindex가 필요한가?"라는 체크리스트 항목을 추가하면, 다음 페이지 추가 시 자동으로 이런 실수를 방지할 수 있다.

마지막으로, 팀에서 메타 태그 설정 가이드라인을 정리해 두면 좋다. "어떤 페이지에 noindex를 붙이는가", "description은 누가 작성하고 갱신하는가" 같은 규칙이 없으면 각자 다르게 처리할 가능성이 크기 때문이다. 이번 변경이 그런 규칙화의 시발점이 될 수 있다.


🛒 이 글과 어울리는 추천 상품

*위 링크는 쿠팡파트너스 활동의 일환이며, 일정액의 수수료를 제공받을 수 있습니다.

댓글 0

첫 댓글 달아줘.