[SEO] 검색의 원리와 봇 제어
1주차: 검색의 원리와 봇 제어 (Hello, Googlebot!)
회사에서 하는 SEO 스터디입니다.
목표
목표: 구글 봇이 우리 사이트를 방문(크롤링)하고 저장(인덱싱)하는 과정을 이해하고 제어합니다.
핵심 내용: 3단계 파이프라인: 크롤링 → 인덱싱 → 게재 (Ranking)
제어 도구: robots.txt(수집 제어)와 meta noindex(색인 방지)의 차이점, sitemap.xml의 역할
15분 토론/액션:지우고 싶은 페이지를 robots.txt로만 막고 있지는 않은가? (noindex 필요성 확인) sitemap.xml은 최신 URL을 자동 갱신하고 있는가?
레퍼런스: Google 검색 작동 방식, robots.txt 소개
1. SEO 기본
SEO의 목적
SEO는 검색 엔진(구글, 네이버 등)이 웹페이지를 이해, 평가, 노출하는 과정을 고려해 콘텐츠와 기술 구조를 최적화하는 작업을 말합니다.
SEO의 목적은 검색 결과 상위에 노출되어, 타겟 유저에게 광고비 없이 지속적인 유입을 만드는 것입니다.
SEO를 잘한다는 것은 구글이 우리 사이트를 ‘신뢰할 만하고 도움이 된다’고 판단하도록 기술과 콘텐츠로 증명하는 과정입니다.
SEO의 3가지 핵심 분야
1️⃣ 태크니컬 SEO
검색 엔진이 페이지를 문제없이 크롤링·렌더링·인덱싱할 수 있도록 사이트의 기술적 기반을 최적화하는 영역
[핵심 요소]
- 크롤링 가능성 : robots.txt, noindex / canonical 설정
- 인덱싱 가능성 : SSR/SSG 여부, 초기 HTML에 콘텐츠 존재 여부
- 성능 : Core Web Vitals (LCP, INP, CLS)
- 구조 : URL 구조, 내부 링크, 사이트맵
- 모바일 친화성 : Mobile-first indexing
[프론트엔드 개발자 관점]
- CSR만 사용하는 SPA -> 검색 노출에 불리
- SSR / SSG / Streaming SSR -> 검색 엔진 이해도 상승
- 시맨틱 HTML 구조 -> 콘텐츠 의미 명확화
- 성능 최적화 -> 직접적인 랭킹 신호
👉 프론트엔드가 가장 직접적으로 기여하는 SEO 영역
2️⃣ 온페이지 SEO
페이지 자체 콘텐츠와 구조가 검색 의도에 얼마나 잘 부합하는지를 평가하는 영역
[핵심 요소]
- 콘테츠 품질 : 검색 의도 충족 여부, 중복·얕은 콘텐츠 여부
- E-E-A-T : Experience, Expertise, Authoritativeness, Trustworthiness
- HTML 메타 정보 : title, meta description
- 시맨틱 구조 : h1~h6, article / section
- 이미지 대체 텍스트 : alt 속성
[프론트엔드 개발자 관점]
- 올바른 구조로 표현
- 의미 있는 마크업 제공
3️⃣ 오프페이지 SEO
사이트 외부 신초를 통해 신뢰도와 권위를 평가하는 영역
[핵심 요소]
- 백링크 : 자연스러운 추천 링크, 권위 있는 사이트 출처
- 언급 : 링크 없이 브랜드 언급
- 평판 신호 : 리뷰, 신뢰성 있는 출처
[프론트엔드 개발자 관점]
- 공유하기 좋은 구조
- 링크되기 쉬운 콘텐츠 표현
2. 검색의 원리와 봇 제어
구글 검색의 작동 원리: 3단계
1️⃣ 크롤링 (Crawling)
- 구글 봇이 웹페이지를 방문하여 HTML, 이미지, 링크 등을 수집하는 단계입니다.
- 이 단계에서 접근이 안 되면 검색에 절대 노출될 수 없습니다.
- 크롤링은 무한하지 않은 자원(크롤링 에산)을 사용합니다.
- 사이트가 느리거나 구조가 복잡하면 덜 크롤링됩니다.
- 관련 요소 : robots.txt, 내부 링크 구조, 서버 응답 속도, 중복 URL
2️⃣ 색인 생성 (Indexing)
- 크롤링으로 수집한 페이지를 분석하여 구글의 검색 데이터베이스(색인)에 저장하는 단계입니다.
- 이때 페이지의 주제·구조·의미가 함께 해석됩니다.
- HTML에 실제 콘텐츠가 존재해야 색인 가능합니다. JS 실행 결과에만 있는 콘텐츠는 불리할 수 있습니다.
- 관련 요소 : SSR / SSG 여부, meta robots (noindex), canonical, 시맨틱 HTML, structure data
3️⃣ 검색결과 게재 (Ranking)
- 색인된 페이지 중에서 사용자의 검색 의도에 가장 적합한 순서로 정렬하는 단계입니다.
- 랭킹 결정 요소
- 관련성 (검색 의도) : Know Query(정보 탐색), Do Query(구매, 다운로드 등 행동 실행), Website Query(특정 사이트 이동), Visit-in-Person(오프라인 장소 방문)
- EEAT (품질) : Experience(실제 경험 포함 여부), Expertise(작성자의 전문성), Authoritativeness(내용의 신뢰성), Trustworthiness(인정받는 출처인지)
- 코어 웹 바이탈 : LCP(<= 2.5s), INP(<= 200ms), CLS(<= 0.1)
봇 제어 도구
1️⃣ Robots.txt & Sitemap
Robots.txt
검색 엔진 봇에게 “어디까지 들어와도 되고, 어디는 들어오지 말라”고 알려주는 파일입니다.
사이트의 루트 경로에 위치하며, 가장 먼저 읽히는 규칙 파일입니다.
Sitemap
우리 사이트에 어떤 페이지들이 존재하는지 검색 엔진에 목록으로 알려주는 파일입니다.
구글은 링크를 따라 페이지를 찾지만, 내부 링크가 약한 페이지, 최근에 생성된 페이지 등을 놓칠 가능성이 있습니다. 이런 페이지들을 빠짐없이 알려주는 지도 역할을 합니다.
보통 sitemap.xml 형태로 제공됩니다.
[예시 코드]
<loc>: 페이지 URL<lastmod>: 마지막 수정일
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://example.com/</loc>
<lastmod>2025-01-01</lastmod>
</url>
<url>
<loc>https://example.com/blog/seo</loc>
<lastmod>2025-01-10</lastmod>
</url>
</urlset>
2️⃣ 메타 태그 활용
noindex
해당 페이지를 검색 결과에 노출하지 말라고 지시하는 메타 태그입니다.
크롤링은 가능하지만, 색인에는 저장되지 않습니다.
ex) 로그인 후 페이지, 마이페이지, 관리자 화면, 검색 결과용 필터 페이지 등
<meta name="robots" content="noindex" />
nofollow
해당 링크를 “추천으로 간주하지 말라”고 지시하는 속성입니다.
즉, 링크를 따라가더라도 랭킹 신호(신뢰)를 전달하지 않습니다.
ex) 광고성 링크, 댓글이나 게시판 등 사용자 작성 링크
<meta name="robots" content="noindex, nofollow" />
<a href="https://example.com" rel="nofollow">링크</a>
sponsored / ugc
sponsored: 괄고, 제휴, 금점적 대가가 있는 링크임을 명시합니다.
ugc: 사용자가 작성한 콘텐츠에 포함된 링크임을 표시합니다.
sponsored와 ugc는 구글이 제안한 링크 관계 속성이며,
현재는 Google과 Bing에서 링크 해석 신호로 활용되고 있습니다.
(네이버는 공식적으로 언급하지 않음)
rel 속성을 확장 가능하게 설계한 HTML 구조에 따른 것입니다.
sponsored와 ugc를 명시하는 것이 가장 안전한 선택입니다.
HTML 공식 스펙 - 4.6.7.27 Other link types
댓글남기기