기술적 SEO 완전 가이드: robots.txt·canonical·sitemap을 직접 설정하는 방법

robots.txt, canonical 태그, XML 사이트맵을 직접 설정해 검색엔진 크롤링 효율을 높이고 중복 콘텐츠 문제를 해결하는 실전 가이드입니다.

공식 참고 자료

다음 실행

실행 기준 요약

먼저 볼 것robots.txt, canonical 태그, XML 사이트맵을 직접 설정해 검색엔진 크롤링 효율을 높이고 중복 콘텐츠 문제를 해결하는 실전 가이드입니다.
발행 전 점검기술적 SEO, robots.txt 설정, canonical 태그
다음 학습SEO 콘텐츠 최적화 허브

발행 전 체크리스트

발행일: 2026-05-08 · 분야: guide · 읽는 시간: 12분

핵심 개요

구글 서치 콘솔에서 '크롤링 오류'나 '색인 생성 안 됨' 메시지를 본 적 있으신가요? 열심히 콘텐츠를 써도 검색 결과에 나타나지 않는다면, 기술적 SEO 설정이 문제일 가능성이 큽니다. 기술적 SEO는 콘텐츠 품질과 별개로 검색엔진이 사이트를 얼마나 효율적으로 크롤링하고 색인할 수 있는지를 결정합니다. 실제로 아무리 좋은 글을 써도 robots.txt가 잘못 설정되어 있으면 구글봇이 아예 접근하지 못하고, canonical 태그가 없으면 중복 콘텐츠로 인해 페이지 권한이 분산됩니다. 이 가이드에서는 robots.txt, canonical 태그, XML 사이트맵 세 가지 핵심 설정을 직접 구현하는 방법을 단계별로 설명합니다. 개발자 없이도 WordPress나 일반 HTML 사이트에서 적용할 수 있는 실용적인 방법을 중심으로 다루겠습니다. Ahrefs의 2025년 SEO 조사에 따르면, 상위 10위 내 사이트의 83%가 올바른 기술적 SEO 설정을 갖추고 있었습니다. 기초를 탄탄히 다지면 콘텐츠 효과도 극대화할 수 있습니다. 실전에 바로 쓸 수 있는 글자수 세기과 해시태그 믹서을 활용하면 이 가이드의 내용을 더욱 빠르게 적용할 수 있습니다.

robots.txt란 무엇이고 왜 중요한가

robots.txt는 웹사이트 루트 디렉토리에 위치한 텍스트 파일로, 검색엔진 크롤러에게 어떤 페이지를 방문해도 되고 어떤 페이지는 방문하면 안 되는지 알려줍니다. 예를 들어 관리자 페이지, 테스트 페이지, 로그인 후 접근 가능한 회원 전용 페이지는 크롤링할 필요가 없습니다. 이런 페이지까지 크롤링 예산(Crawl Budget)을 소모하면 정작 중요한 콘텐츠 페이지에 크롤러가 덜 방문하게 됩니다. 기본 문법은 간단합니다. 'Useragent: '는 모든 크롤러에게 적용되는 규칙이고, 'Disallow: /admin/'은 /admin/ 하위 경로를 차단합니다. 'Allow: /'는 특정 경로를 명시적으로 허용할 때 씁니다. 주의할 점은 robots.txt가 크롤링을 막을 뿐 색인을 막지는 않는다는 것입니다. 색인을 막으려면 noindex 메타 태그를 써야 합니다. 또한 robots.txt 설정이 잘못되면 사이트 전체가 구글에서 사라질 수 있으므로, 수정 후 반드시 Google Search Console의 robots.txt 테스터로 검증하세요. 실제 사례로, 한 e커머스 사이트가 스테이징 서버의 robots.txt를 프로덕션에 그대로 배포해서 전체 사이트가 색인 제외된 경우가 있었습니다. 배포 전 항상 'Disallow: /' 라인이 없는지 확인하는 습관이 필요합니다.

실전 robots.txt 작성 및 최적화 방법

효과적인 robots.txt를 작성하려면 먼저 크롤링이 필요 없는 페이지 목록을 파악해야 합니다. WordPress 사이트 기준으로 차단해야 할 경로는 다음과 같습니다: /wpadmin/(관리자 페이지), /wpincludes/(코어 파일), /?s=(검색 결과 페이지), /cart/(장바구니), /myaccount/(회원 페이지). 반면 /wpadmin/adminajax.php는 프론트엔드 기능에 필요하므로 허용해야 합니다. 사이트맵 위치도 robots.txt에 명시하는 것이 좋습니다. 'Sitemap: https://yoursite.com/sitemap.xml' 라인을 추가하면 크롤러가 사이트맵을 더 쉽게 찾을 수 있습니다. 크롤링 속도를 제한하려면 'Crawldelay: 10'을 설정할 수 있지만, 구글봇은 이 지시를 따르지 않으므로 구글 서치 콘솔에서 직접 크롤링 속도를 조정하세요. 멀티사이트나 다국어 사이트의 경우 각 하위 도메인마다 별도의 robots.txt가 필요합니다. 파일 작성 후 https://yoursite.com/robots.txt로 직접 접근해 내용을 확인하고, 서치 콘솔의 'URL 검사' 도구로 구글이 실제로 크롤링할 수 있는지 테스트하세요.

canonical 태그로 중복 콘텐츠 문제 해결하기

canonical 태그는 동일하거나 유사한 콘텐츠가 여러 URL에 존재할 때 '이 페이지가 원본입니다'라고 검색엔진에 알려주는 HTML 태그입니다. 중복 콘텐츠는 생각보다 흔하게 발생합니다. https와 http 버전, www와 nonwww 버전, 슬래시 유무(/page vs /page/), 추적 파라미터가 붙은 URL(예: ?utmsource=newsletter) 등이 모두 중복 콘텐츠를 만듭니다. HTML <head 섹션에 다음 코드를 추가합니다: <link rel='canonical' href='https://yoursite.com/originalpage/' /. WordPress에서는 Yoast SEO나 Rank Math 플러그인이 자동으로 canonical 태그를 생성합니다. 하지만 e커머스 사이트에서 필터 기능(색상, 사이즈별 정렬)을 사용하면 URL 파라미터가 생기고 canonical 설정이 복잡해집니다. 이 경우 모든 필터 페이지의 canonical이 필터 없는 원본 카테고리 페이지를 가리키도록 설정하세요. 자기 참조 canonical(selfreferencing canonical)도 권장됩니다. 중복이 없는 페이지도 자기 자신을 canonical로 명시하면, 누군가 URL을 복사해 파라미터를 추가하더라도 원본 페이지 권한이 분산되지 않습니다. 구글은 canonical 태그를 권고 사항으로 처리하므로, 301 리디렉션과 함께 사용하면 훨씬 강력한 효과를 냅니다.

XML 사이트맵 생성과 서치 콘솔 제출 방법

XML 사이트맵은 사이트의 모든 페이지 목록을 구조화된 형태로 제공해 검색엔진이 빠르게 발견하고 색인할 수 있도록 돕습니다. 특히 신규 사이트나 내부 링크가 부족한 대형 사이트에서 효과가 큽니다. 사이트맵의 기본 구조는 <urlset 태그 안에 각 페이지를 <url 블록으로 나열하는 것입니다. 각 URL에는 <loc(페이지 주소), <lastmod(마지막 수정일), <changefreq(변경 빈도), <priority(우선순위 0.0~1.0)를 지정할 수 있습니다. WordPress라면 Yoast SEO 플러그인이 자동으로 사이트맵을 생성하고, /sitemapindex.xml 경로에서 확인할 수 있습니다. 대형 사이트는 사이트맵 인덱스 파일로 여러 사이트맵을 묶어야 합니다. 구글은 사이트맵 파일당 50,000개 URL, 50MB까지 지원합니다. 사이트맵에는 실제로 색인되길 원하는 페이지만 포함하세요. noindex 태그가 있는 페이지, 리디렉션 URL, 중복 페이지는 제외합니다. 사이트맵 생성 후 Google Search Console '사이트맵' 메뉴에서 URL을 제출하면 구글이 우선적으로 크롤링합니다. 제출 후 '성공'이 표시되면 정상이고, 오류가 있으면 상세 내용을 확인해 수정하세요.

기술적 SEO 설정 검증 및 모니터링 방법

설정을 완료한 후에는 정기적인 검증과 모니터링이 필수입니다. Google Search Console은 무료로 제공되는 가장 강력한 도구입니다. '색인 생성 상태' 보고서에서 색인된 페이지 수와 제외된 페이지 이유를 확인하세요. 흔한 문제로는 'robots.txt에 의해 차단됨', 'noindex 태그', '중복 URL (사용자가 canonical을 선택하지 않음)' 등이 있습니다. Screaming Frog SEO Spider(무료 버전 500 URL 제한)를 사용하면 사이트 전체를 크롤링해서 canonical 오류, 리디렉션 체인, 깨진 링크를 한눈에 볼 수 있습니다. 정기적인 점검 일정을 만들어두세요. 월 1회는 서치 콘솔에서 크롤링 오류와 색인 현황 확인, 분기 1회는 Screaming Frog로 전체 사이트 감사, 새 페이지 발행 시마다 'URL 검사' 도구로 색인 요청하는 루틴이 효과적입니다. 사이트 업데이트나 CMS 플러그인 업그레이드 후에는 반드시 robots.txt와 사이트맵이 정상적으로 동작하는지 재확인해야 합니다. 기술적 SEO는 한 번 설정하고 끝나는 것이 아니라 지속적인 유지 관리가 필요한 작업입니다.

고급 기술적 SEO: 구조화 데이터와 Core Web Vitals

robots.txt, canonical, 사이트맵을 완성했다면 다음 단계는 구조화 데이터(Schema Markup)와 Core Web Vitals입니다. 구조화 데이터는 JSONLD 형식으로 페이지에 추가하면 구글이 콘텐츠를 더 정확하게 이해하고 리치 스니펫(별점, FAQ, 이벤트 등)으로 표시할 수 있습니다. 리치 스니펫이 표시되면 클릭률(CTR)이 평균 2030% 향상된다는 연구 결과가 있습니다. Core Web Vitals는 LCP(Largest Contentful Paint, 최대 콘텐츠 렌더링 시간), FID(First Input Delay, 첫 입력 지연), CLS(Cumulative Layout Shift, 누적 레이아웃 이동) 세 지표로 구성됩니다. LCP는 2.5초 이하, FID는 100ms 이하, CLS는 0.1 이하가 목표값입니다. PageSpeed Insights(https://pagespeed.web.dev)에서 무료로 측정할 수 있습니다. 이미지 최적화(WebP 형식, lazy loading), 서버 응답 시간 개선, 불필요한 JavaScript 제거가 Core Web Vitals 개선의 핵심입니다. 특히 모바일 환경에서의 성능이 점점 더 중요해지고 있으며, 구글은 모바일 우선 색인(MobileFirst Indexing)을 기본으로 채택했기 때문에 모바일 성능을 반드시 확인해야 합니다.

마무리

기술적 SEO는 콘텐츠 마케팅의 기반입니다. robots.txt로 크롤링 예산을 효율적으로 관리하고, canonical 태그로 중복 콘텐츠 문제를 방지하며, XML 사이트맵으로 검색엔진이 사이트 전체를 빠르게 파악할 수 있도록 돕는 것이 핵심입니다. 세 가지 설정을 올바르게 구현한 후 Google Search Console로 꾸준히 모니터링하면, 3개월 이내에 색인 페이지 수 증가와 검색 트래픽 성장을 확인할 수 있습니다. 완벽한 설정보다는 지금 당장 시작하는 것이 더 중요합니다. 서치 콘솔에서 현재 크롤링 오류부터 확인해보세요.

자주 묻는 질문

robots.txt에서 모든 봇을 차단하면 어떻게 되나요?

'Useragent: '와 'Disallow: /'를 설정하면 모든 검색엔진 크롤러가 사이트에 접근하지 못합니다. 그 결과 구글, 네이버 등 모든 검색엔진에서 사이트가 사라집니다. 실수로 이렇게 설정되는 경우가 종종 있으니, 수정 후 반드시 Google Search Console에서 검증하세요.

canonical 태그와 301 리디렉션의 차이는 무엇인가요?

canonical 태그는 구글에 '어떤 페이지가 원본인지' 권고하는 방식이고, 301 리디렉션은 실제로 한 URL에서 다른 URL로 사용자와 크롤러를 강제로 이동시킵니다. canonical은 두 URL이 모두 존재해야 할 이유가 있을 때 사용하고, 한 URL이 완전히 불필요하다면 301 리디렉션이 더 강력한 해결책입니다. 가능하면 301 리디렉션을 우선 적용하세요.

사이트맵에 몇 개의 URL을 포함해야 하나요?

구글은 사이트맵 파일 하나당 최대 50,000개 URL을 허용합니다. 하지만 숫자보다 품질이 중요합니다. 실제로 색인되길 원하는 퀄리티 있는 페이지만 포함하세요. noindex 태그가 붙은 페이지, 리디렉션 URL, 얇은 콘텐츠 페이지는 사이트맵에서 제외하는 것이 좋습니다. 100개의 좋은 URL이 10,000개의 저품질 URL보다 낫습니다.

사이트맵을 제출했는데도 구글이 색인하지 않아요. 왜 그럴까요?

사이트맵 제출은 색인 보장이 아니라 크롤링 요청입니다. 구글이 색인하지 않는 이유는 여러 가지입니다: 페이지 품질이 낮거나, robots.txt에 의해 차단되거나, noindex 태그가 있거나, 사이트 권한(도메인 권위)이 낮을 수 있습니다. Search Console의 'URL 검사' 도구로 각 페이지 상태를 확인하고, '색인 생성 요청' 버튼을 클릭해 개별적으로 요청하는 방법도 있습니다.

WordPress에서 기술적 SEO 플러그인으로는 무엇이 가장 좋은가요?

Rank Math와 Yoast SEO가 가장 많이 사용됩니다. Rank Math는 무료 버전에서도 구조화 데이터, 리디렉션 관리, 상세한 SEO 점수 기능을 제공해 가성비가 뛰어납니다. Yoast SEO는 오랜 역사와 안정성이 장점입니다. 두 플러그인 모두 canonical 태그와 XML 사이트맵을 자동으로 관리해주므로, 초보자에게 특히 유용합니다. 단, 두 플러그인을 동시에 활성화하면 충돌이 발생하니 하나만 사용하세요.

다음 단계

상단의 관련 크레피카 도구를 활용해 초안을 점검한 뒤, 이 가이드로 돌아와 최종 발행 전 구조와 표현을 다시 확인하세요.

사이트 검토 정보

크레피카는 크리에이터와 마케터를 위한 무료 유틸리티 사이트입니다. 실무 도구, 편집 가이드, 문의 정보, 개인정보처리방침, 이용약관, RSS, robots.txt, ads.txt, 사이트맵을 제공해 사용자와 검색엔진이 자바스크립트 렌더링에만 의존하지 않고 사이트 구조를 이해할 수 있게 합니다.

광고는 Google AdSense 자동 광고로 노출될 수 있습니다. 이 정적 크롤러 페이지에는 수동 광고 슬롯을 삽입하지 않으며, 광고는 도구 결과나 편집 추천 내용에 영향을 주지 않습니다.

정책 페이지: 개인정보처리방침, 이용약관, 크레피카 소개, 문의하기.