출처와 작성 범위: 이 글은 r/webdev에 공개된 질문과 공개 기술 쟁점을 정리한 분석입니다. 특정 사이트를 직접 만들었거나 해당 프로젝트에 참여했다는 뜻이 아닙니다.

“검색엔진에는 지원 사이트라고 보여주고 싶지만, 브라우저 탭에는 다른 제목을 보여주고 싶다.” 민감한 사이트를 둘러싼 이 질문은 SEO와 안전이 충돌하는 지점을 정확히 보여줍니다.

title 태그 하나로 해결되지 않는 이유

title 태그는 검색엔진과 브라우저가 함께 참고하는 신호지만, 두 환경에서 같은 방식으로만 쓰이는 값은 아닙니다. 검색엔진은 페이지의 H1, 본문, 링크 문맥, 구조화 데이터 등을 참고해 검색 결과 제목을 다시 만들 수 있습니다.

브라우저 쪽에서는 title이 탭과 창 제목에 즉시 나타납니다. 방문 기록과 자동완성에는 URL과 페이지 정보가 별도로 남을 수 있습니다. 따라서 title만 중립적으로 바꾸면 검색 결과와 브라우저 흔적이 모두 해결된다고 보기 어렵습니다.

자바스크립트로 나중에 바꾸면 될까?

페이지가 로드된 뒤 document.title을 바꾸는 방식은 첫 화면의 노출 시간을 줄이는 데 도움이 될 수 있지만, 안전을 보장하지는 않습니다. 초기 HTML, 브라우저의 기록 방식, 작업 표시줄, 링크 미리보기, 느린 네트워크에서의 로딩 순서가 각각 다르기 때문입니다.

또한 title을 바꾸는 것과 검색엔진에 다른 콘텐츠를 보여주는 것은 별개의 문제입니다. 검색엔진에만 설명적인 콘텐츠를 제공하고 사용자에게는 전혀 다른 내용을 제공하면 클로킹으로 해석될 위험이 있습니다. 페이지의 실제 내용과 검색 신호는 일관되게 유지해야 합니다.

현실적인 레이어 분리

  • 검색 레이어: H1과 본문에서 사이트가 제공하는 도움을 정확히 설명합니다.
  • 브라우저 레이어: 기본 탭 제목과 공유 미리보기에서 민감한 표현을 줄입니다.
  • 주소 레이어: URL 경로에 민감한 단어를 넣지 않고, 자동완성에 남는 정보를 점검합니다.
  • 이탈 레이어: 빠른 이탈 버튼과 뒤로 가기 흐름을 제공하되, 이것이 기록 삭제를 보장하지 않는다는 점을 명시합니다.

검증 방법

검색 결과만 확인해서는 부족합니다. 일반 브라우저와 모바일 브라우저에서 새 탭, 새로고침, 뒤로 가기, 공유, 주소창 자동완성, 작업 표시줄, 느린 네트워크를 각각 확인해야 합니다. 화면을 보는 사람의 권한이 없다는 가정도 안전 설계의 일부입니다.

타이틀 마스킹은 “SEO를 속이는 기술”이 아니라, 서로 다른 사용자 표면에 서로 다른 위험이 있다는 사실을 다루는 문제입니다. 검색에서 발견되는 것과 사용 중 안전한 것은 함께 설계하되, 같은 신호 하나에 모두 맡기지 않아야 합니다.