SaaS 웹사이트를 위한 기술 SEO 체크리스트
SaaS 기술 SEO: 앱을 검색 결과에서 제외하기, 크롤러를 위한 렌더링, 문서와 변경 내역, canonical, 구조화된 데이터, 속도, AI 크롤러까지.
FixReports 편집팀6분 분량
SaaS 기업의 기술 SEO는 대부분 분리와 렌더링의 문제입니다. 분리가 중요한 이유는 하나의 도메인에 순위에 올라야 할 마케팅 사이트, 순위에 올라야 할 문서, 그리고 검색에 아예 나오지 않아야 할 애플리케이션이 함께 있는 경우가 많기 때문입니다. 렌더링이 중요한 이유는 SaaS 사이트가 JavaScript 앱으로 만들어지는 경우가 많은데, Google은 JavaScript를 렌더링하지만 대부분의 AI 크롤러를 포함한 다른 많은 크롤러는 렌더링하지 않기 때문입니다. 이 체크리스트는 이 두 가지와 함께 canonical, 사이트맵, 구조화된 데이터, 속도, AI 검색 엔진이 페이지에 도달하는 방식 같은 기본 사항을 다룹니다.
핵심 요약
- Google은 JavaScript 페이지를 크롤링, 렌더링, 색인 생성의 별도 단계로 처리하며, 모든 봇이 JavaScript를 실행할 수 있는 것은 아니므로 서버 측 렌더링이나 사전 렌더링이 “여전히 좋은 방법”이라고 설명합니다 (Google 검색 센터 (새 탭에서 열림)).
- 2024년 12월의 한 분석에서는 GPTBot, ClaudeBot, PerplexityBot을 포함한 주요 AI 크롤러 중 어느 것도 JavaScript를 렌더링하지 않았습니다 (Vercel (새 탭에서 열림)).
- Google은 AI 개요(AI Overviews)와 AI 모드에 추가 기술 요건이 없으며, 특별한 schema.org 마크업이나 AI용 텍스트 파일도 필요하지 않다고 밝힙니다 (Google 검색 센터 (새 탭에서 열림)).
- OpenAI는 ChatGPT 검색에는 OAI-SearchBot을, 모델 학습에는 GPTBot을 사용합니다. GPTBot을 차단해도 사이트가 ChatGPT 검색에서 빠지지는 않습니다 (OpenAI (새 탭에서 열림)).
- Google-Extended는 Google이 콘텐츠를 Gemini 학습에 사용할 수 있는지를 제어하며, Google 검색 포함 여부에는 영향을 주지 않습니다 (Google 검색 센터 (새 탭에서 열림)).
앱이 검색 결과에 나와야 하나요?
아니요. 로그인이 필요한 애플리케이션 페이지에는 검색 사용자에게 쓸모 있는 내용이 없으며, Googlebot은 로그인하지 않습니다. 위험은 오히려 반대쪽에 있습니다. 공유 링크, 빈 상태 화면, 비밀번호 재설정 페이지, 스테이징 환경처럼 앱의 공개 URL이 색인되어 마케팅 페이지와 경쟁할 수 있습니다.
- 애플리케이션은
app.example.com같은 별도 호스트에서 제공하고, 그 호스트의 모든 응답에X-Robots-Tag: noindex를 보냅니다. - 스테이징과 미리보기 환경은 인증으로 검색에서 차단합니다. robots 규칙보다 더 확실합니다.
- robots.txt로 Google에서 페이지를 삭제하려 하지 마십시오. 차단된 URL도 다른 곳에서 링크되어 있으면 검색 결과에 나올 수 있으며, Google은 크롤링이 허용되지 않은 페이지의 noindex를 볼 수 없습니다 (Google 검색 센터 (새 탭에서 열림)).
- 로그인 페이지와 회원가입 페이지는 이름으로 검색되는 경우가 많습니다(“제품명 로그인”). 색인 가능하게 두면 기존 고객이 찾기 쉬워지지만, 무거운 마케팅 콘텐츠를 담아서는 안 됩니다.
저희 robots.txt 검사기는 각 크롤러가 가져갈 수 있는 내용을 보여 드리고, 메타 태그 검사기는 페이지의 robots 메타 태그와 X-Robots-Tag 헤더를 보여 드립니다.
검색 엔진과 AI 크롤러가 마케팅 페이지를 읽을 수 있나요?
JavaScript가 실행되기 전에 크롤러가 무엇을 받는지 확인하십시오. 요금 페이지의 HTML 응답에 가격도 제목도 없이 script 태그만 있다면, JavaScript를 실행하지 않는 크롤러에게는 빈 페이지로 보입니다.
- Google은 최신 Chromium으로 JavaScript를 렌더링하지만, 렌더링은 크롤링 후 대기열에서 이루어지며 Google은 서버 측 렌더링이나 사전 렌더링을 권장합니다 (Google 검색 센터 (새 탭에서 열림)).
- AI 크롤러: Vercel이 자사 네트워크를 분석한 결과 OpenAI, Anthropic, Perplexity, Meta의 크롤러는 JavaScript 파일을 가져가기는 했지만 실행하지 않았습니다. Google 인프라를 사용하는 Gemini와 Applebot은 페이지를 렌더링했습니다 (Vercel (새 탭에서 열림)).
- 채팅 앱과 소셜 네트워크의 링크 미리보기는 보통 서버 HTML만 읽으므로, 제목, 설명, Open Graph 태그가 그 안에 있어야 합니다.
현실적인 해결책은 마케팅 페이지, 문서, 블로그를 서버에서 또는 빌드 시점에 렌더링하고(Next.js, Nuxt, Astro 같은 프레임워크가 지원합니다), 클라이언트 측 렌더링은 로그인 후 애플리케이션에만 쓰는 것입니다. 간단한 테스트로는 URL에 curl을 실행하거나, 검사 도구의 DOM이 아닌 페이지 소스를 보고 텍스트가 들어 있는지 확인합니다.
마케팅 사이트는 어떤 구조여야 하나요?
SaaS 구매자는 페이지와 연결할 수 있는 뚜렷한 의도를 가지고 검색합니다. 다음 각각은 설명적인 제목과 고유한 canonical URL을 갖춘, 색인 가능한 별도 페이지로 만들 가치가 있습니다.
- 제품 및 기능 페이지: 주요 기능마다 하나씩.
- 사용 사례 및 업종 페이지: “에이전시를 위한 청구서 소프트웨어” 같은 검색을 위한 페이지.
- 연동 페이지: 연동 서비스마다 하나씩. 사람들은 “[내 제품] + [자신이 쓰는 도구]”로 검색하기 때문입니다.
- 요금: 렌더링 후 API에서 불러오지 말고 요금제와 가격을 HTML에 넣습니다.
- 비교 및 대안 페이지: 공정하게 작성합니다. 경쟁사의 가격과 기능은 바뀌므로 날짜를 적고 최신 상태로 유지합니다.
- 고객 사례: 허락을 받고, 출처를 밝힐 수 있는 실제 세부 내용을 담습니다.
내용이 빈약한 변형 페이지는 피하십시오. 단어만 바꾼 거의 똑같은 “[기능] + [업종]” 페이지 수십 개는 Google 스팸 정책에서 대규모 콘텐츠 악용이라고 부르는 것에 해당합니다 (Google 검색 센터 (새 탭에서 열림)).
문서, 고객센터, 변경 내역은 어떻게 다뤄야 하나요?
사람들은 무언가를 하는 방법을 검색하기 때문에, 문서가 마케팅 사이트보다 더 많은 검색 트래픽을 가져오는 경우가 많습니다.
- 고객별 정보가 담겨 있지 않다면 문서를 공개하고 색인 가능하게 둡니다.
- 버전이 나뉜 문서는 이전 버전의 canonical을 같은 페이지의 현재 버전으로 지정하거나 이전 버전을 noindex로 표시해, 검색 결과에 최신 안내가 나오게 합니다.
- 각 문서 페이지에는 내부 기능 이름이 아니라 사람들이 작업을 표현하는 방식에 맞는 설명적인 제목과 H1을 붙입니다(“청구서를 CSV로 내보내기”).
- 변경 내역 항목은 날짜가 들어간 고정 URL에 둡니다.
- 문서를 XML 사이트맵에 포함하거나, 문서 전용 사이트맵을 만들어 robots.txt에 등록합니다.
고객센터가 하위 도메인의 서드파티 플랫폼에서 운영된다면, Search Console에서 소유권이 확인되어 있는지, 그리고 그 페이지들이 메인 사이트로 다시 링크하는지 확인하십시오.
SaaS 사이트에서 흔한 canonical, hreflang, 리디렉션 문제는 무엇인가요?
- 매개변수: UTM 태그, 추천 코드, A/B 테스트 매개변수는 중복 URL을 만듭니다. 모든 페이지는 매개변수 없는 자신의 URL을 canonical로 선언해야 합니다 (Google 검색 센터 (새 탭에서 열림)).
- 끝 슬래시와 대소문자: 한 가지 형태를 정하고 다른 형태는 301로 리디렉션합니다.
- 현지화된 페이지: 마케팅 사이트를 번역했다면 자기 참조와 x-default를 포함해 hreflang으로 언어 버전을 연결합니다 (Google 검색 센터 (새 탭에서 열림)).
- 리브랜딩과 도메인 이전: 이전 URL을 새 URL에 일대일로 대응시켜 301 리디렉션합니다. 모든 URL을 홈페이지로 리디렉션하면 이전 페이지의 가치가 사라집니다.
SEO 진단 도구는 사이트 주요 페이지의 제목, H1, canonical, robots 규칙을 테스트하고 깨진 내부 링크를 찾아 드립니다.
SaaS 사이트에는 어떤 구조화된 데이터가 맞나요?
- 홈페이지의 Organization: 이름, URL, 로고, 공식 프로필로 연결되는
sameAs링크를 포함합니다. - 홈페이지의 WebSite:
name과url을 포함합니다. Google은 이를 사용해 검색 결과에 표시할 사이트 이름을 고릅니다 (Google 검색 센터 (새 탭에서 열림)). - SoftwareApplication: Google의 소프트웨어 앱 리치 결과에는 가격과 함께 집계 평점 또는 리뷰 중 하나가 필요합니다 (Google 검색 센터 (새 탭에서 열림)). 실제이고 페이지에 표시되는 평점만 추가하십시오. 평점이 없어도 마크업은 제품을 설명하지만 리치 결과는 얻을 수 없습니다.
- 문서와 블로그 페이지의 BreadcrumbList.
- 블로그 글의 Article: 작성자와 날짜를 포함합니다.
FAQ 마크업으로 더 넓은 노출 공간을 얻으리라 기대하지 마십시오. Google은 2026년 5월 7일에 FAQ 리치 결과 표시를 중단했습니다 (Google 검색 센터 (새 탭에서 열림)). 구조화된 데이터 검사기는 페이지의 모든 항목과 각 항목에 Google이 요구하는 속성을 보여 드립니다.
SaaS 마케팅 페이지가 Core Web Vitals에서 실패하는 이유는 무엇인가요?
SaaS 마케팅 사이트는 분석 도구, 태그 관리자, 채팅 위젯, A/B 테스트, 세션 녹화, 광고 픽셀 같은 서드파티 스크립트를 많이 불러오는 경향이 있습니다. 이런 스크립트는 주요 콘텐츠 표시를 늦추고 메인 스레드를 계속 바쁘게 만들어, 느린 LCP와 나쁜 INP로 나타납니다.
- 모든 서드파티 스크립트를 점검하고 아무도 쓰지 않는 것은 제거합니다.
- 채팅 위젯은 사용자가 상호작용할 때 불러오고, 실행이 끝날 때까지 페이지를 숨기는 A/B 테스트 스크립트는 피합니다.
- 히어로 이미지와 제품 스크린샷은 표시 크기에 맞게 WebP나 AVIF로 제공하고, 첫 번째 이미지는 지연 로딩하지 않습니다.
- 대화형 요금 계산기와 데모가 있는 페이지에서는 INP를 지켜봅니다.
Google은 순위 시스템에서 Core Web Vitals를 사용하지만, 관련성이 우선입니다 (Google 검색 센터 (새 탭에서 열림)). 웹사이트 속도 측정은 속도를 제한한 휴대폰 환경에서 페이지를 측정하고, Google에 실제 사용자 데이터가 있으면 함께 보여 드립니다.
AI 검색 엔진은 SaaS 콘텐츠를 어떻게 찾고 인용하나요?
AI 검색을 위한 별도의 기술 경로는 없으며, 널리 퍼진 조언 중 일부는 이런 시스템을 운영하는 기업들의 뒷받침을 받지 못합니다.
- Google AI 개요와 AI 모드는 색인되어 있고 스니펫을 표시할 수 있는 페이지를 사용합니다. Google은 추가 요건이 없고, 특별한 스키마도, AI용 텍스트 파일도 필요하지 않다고 밝힙니다 (Google 검색 센터 (새 탭에서 열림)).
- ChatGPT 검색은 OAI-SearchBot에 의존합니다. ChatGPT의 답변에 나오고 싶다면 robots.txt에서 OAI-SearchBot을 차단하지 마십시오. GPTBot을 차단하는 것은 학습에서 빠지겠다는 선택일 뿐입니다 (OpenAI (새 탭에서 열림)).
- Gemini 학습은 Google-Extended 토큰으로 제어하며, Google 검색에는 영향을 주지 않습니다 (Google 검색 센터 (새 탭에서 열림)).
- llms.txt는 사이트를 Markdown으로 요약하자는 커뮤니티 제안입니다. Google은 이런 파일이 필요하지 않다고 밝히며, 다른 AI 서비스는 사용 여부를 밝히지 않았습니다. 게시하는 비용은 적지만, 크롤링 가능한 페이지를 대신하지는 못합니다.
모든 시스템에 도움이 되는 것은 같습니다. 서버에서 렌더링한 페이지, 구매자가 묻는 질문에 답하는 명확한 제목, 가격과 한도 같은 구체적인 사실을 텍스트로 적은 내용, 그리고 서로 모순되지 않는 페이지입니다.
자주 묻는 질문
문서는 하위 도메인과 하위 폴더 중 어디에 두어야 하나요?
둘 다 순위에 오를 수 있습니다. 더 중요한 것은 문서가 크롤링 가능하고, 메인 사이트에서 링크되며, 사이트맵에 포함되고, Search Console에서 소유권이 확인되어 있는지입니다.
Google은 JavaScript 앱 안의 콘텐츠를 색인하나요?
Google은 JavaScript를 렌더링할 수 있지만 별도 단계에서 처리하며, 다른 크롤러는 렌더링하지 않는 경우가 많습니다. 검색에 노출되길 원하는 페이지는 서버에서 또는 빌드 시점에 콘텐츠를 렌더링하십시오.
AI 크롤러를 차단해야 하나요?
비즈니스 판단의 문제입니다. GPTBot이나 Google-Extended 같은 학습용 크롤러를 차단하면 검색에서 빠지지 않으면서 콘텐츠가 모델 학습에 쓰이지 않게 할 수 있습니다. OAI-SearchBot 같은 검색용 크롤러를 차단하면 해당 서비스의 답변에서 빠집니다. 현재 규칙이 무엇을 허용하는지는 robots.txt 검사기로 확인할 수 있습니다.
SoftwareApplication 마크업이 필요한가요?
선택 사항입니다. 검색 엔진에 제품을 설명하는 마크업이며, 소프트웨어 앱 리치 결과를 얻으려면 페이지에 표시되는 실제 평점이나 리뷰가 추가로 필요합니다.
SaaS 사이트에서 가장 흔한 기술 SEO 실수는 무엇인가요?
가장 큰 피해를 주는 것은 두 가지입니다. 콘텐츠를 JavaScript로만 렌더링하는 마케팅 페이지, 그리고 색인되도록 열려 있는 스테이징이나 앱 URL입니다.
출처
- Google 검색 센터: JavaScript SEO 기본사항 이해하기 (새 탭에서 열림)
- Google 검색 센터: AI 기능과 웹사이트 (새 탭에서 열림)
- Google 검색 센터: Google의 일반 크롤러(Google-Extended) (새 탭에서 열림)
- Google 검색 센터: noindex를 사용하여 검색 색인 생성 차단하기 (새 탭에서 열림)
- Google 검색 센터: 표준 URL을 지정하는 방법 (새 탭에서 열림)
- Google 검색 센터: 페이지의 현지화된 버전 (새 탭에서 열림)
- Google 검색 센터: Google 검색의 사이트 이름 (새 탭에서 열림)
- Google 검색 센터: 소프트웨어 앱 구조화된 데이터 (새 탭에서 열림)
- Google 검색 센터: Core Web Vitals와 Google 검색 결과 이해하기 (새 탭에서 열림)
- OpenAI: OpenAI 크롤러 개요 (새 탭에서 열림)
- Vercel: The rise of the AI crawler (새 탭에서 열림)
전체 가이드
- SaaS 제품과 웹 앱을 위한 WCAG 2.2 AA 체크리스트SaaS를 위한 WCAG 2.2 AA 체크리스트: 로그인, 양식, 대화상자, 단일 페이지 앱 탐색, 표, 차트, 드래그 앤 드롭, 시간 제한, 구매 측이 요구하는 ACR까지.
- 기업 웹사이트 접근성 체크리스트: 채용, PDF, 투자자 페이지, 양식기업 웹사이트를 위한 접근성 체크리스트: 탐색, 채용 페이지와 입사 지원, PDF와 연차 보고서, 동영상, 양식, 쿠키 배너, 접근성 선언문까지.
- 웹사이트를 고치면 성과가 날까? 속도·SEO·접근성에 관해 공개된 연구 결과속도, 구조화된 데이터, 접근성 개선 후 A/B 테스트와 공개된 연구가 측정한 결과, 그리고 내 쇼핑몰에서 효과를 추정하고 측정하는 방법을 정리합니다.