이 가이드로 완성할 수 있는 것
이 가이드를 마치면 다음을 갖추게 됩니다:
- 검색 엔진이 읽을 수 있는 유효한 XML 사이트맵
- 2026년 올바른 채널을 통해 Google과 Bing에 제출된 사이트맵
- AI 크롤러가 콘텐츠를 발견할 수 있는 기본 llms.txt 파일
- 선택 사항: 모든 사이트에 대해 사이트맵을 생성하고 검증하는 재사용 가능한 Claude Code 스킬
대상 독자: WordPress, 모던 JavaScript 프레임워크, Shopify, 정적 HTML 파일 등 무엇으로 구축되었든 웹사이트를 소유하거나 관리하는 모든 사람. 기술 SEO 경험은 필요하지 않습니다.
소요 시간: 플랫폼에 따라 15~30분.
전제 조건: 웹사이트 관리 패널 또는 코드베이스 접근 권한, 그리고 인증된 Google Search Console 속성. 아직 Search Console을 설정하지 않았다면, 먼저 속성을 만들고 소유권을 확인하세요.
시작하기 전에: 내 사이트에 맞는 경로는?
사이트맵 생성 방식은 사이트가 어떻게 구축되었는지에 전적으로 달려 있습니다. 경로를 선택하세요:
사이트가 실행되는 환경… | 이동할 곳… |
|---|---|
WordPress | |
Wix, Squarespace, Shopify | |
Next.js, Nuxt, Astro 등 프레임워크 | |
정적 HTML, CMS 없음, 커스텀 빌드 |
확실하지 않다면? 브라우저에서 사이트를 열고 우클릭 후 "페이지 소스 보기"를 선택하세요. 단서를 찾아보세요: wp-content는 WordPress, next 또는 __NEXT는 Next.js, shopify는 Shopify를 의미합니다. 아무것도 보이지 않는다면 정적 사이트나 커스텀 빌드일 가능성이 높습니다 — 경로 D입니다.

경로 A: WordPress
WordPress는 웹의 40% 이상을 지원하며, 사이트맵 생성은 이미 해결된 문제입니다. 세 가지 확실한 옵션이 있습니다 — 모두 나쁘지 않지만 각기 다른 요구에 적합합니다.
옵션 1: WordPress 네이티브 사이트맵 (플러그인 불필요)
WordPress 5.5(2020년 8월 출시) 이후로 모든 WordPress 사이트는 자동으로 XML 사이트맵을 생성합니다:
내도메인.com/wp-sitemap.xml브라우저에서 이 URL을 여세요. 글, 페이지, 카테고리, 작성자에 대한 하위 사이트맵을 나열한 사이트맵 인덱스가 표시되어야 합니다.
장점: 제로 설정. WordPress가 모든 것을 처리합니다 — 설정을 건드릴 필요가 없습니다.
제한 사항: 개별 페이지나 전체 글 유형을 제외할 수 없습니다. 이미지 사이트맵, 비디오 사이트맵, 우선순위 제어가 없습니다. 검색 결과에 표시하고 싶지 않은 작성자 아카이브나 태그 페이지가 있다면, 네이티브 사이트맵은 이를 그대로 포함합니다.
최적 용도: 모든 페이지가 색인될 가치가 있는 간단한 블로그와 소규모 사이트.
✅ 품질 확인: 내도메인.com/wp-sitemap.xml에 방문하세요. 404가 아닌 유효한 XML 파일이 표시되어야 합니다.
🔧 404가 표시된다면: 테마나 다른 플러그인이 네이티브 사이트맵을 비활성화했을 수 있습니다. 설정 > 읽기에서 "검색 엔진이 이 사이트를 색인하지 못하게 함"이 체크 해제되어 있는지 확인하세요.옵션 2: Yoast SEO
Yoast SEO는 가장 널리 사용되는 WordPress SEO 플러그인입니다. 사이트맵 생성기는 깔끔하고 신뢰할 수 있으며, noindex 설정을 자동으로 존중합니다.
설정:
- 플러그인 > 새로 추가에서 Yoast SEO 설치
- Yoast SEO > 설정 > 사이트 기능으로 이동
- "API"까지 스크롤하여 "XML 사이트맵"이 켜져 있는지 확인
내도메인.com/sitemap_index.xml에 방문하여 작동 확인
무료 버전에서 얻는 것: 글, 페이지, 카테고리, 사용자 정의 글 유형에 대한 하위 사이트맵이 포함된 사이트맵 인덱스. Yoast는 noindex 콘텐츠를 자동으로 제외하고 글에서 참조된 이미지를 포함합니다. 콘텐츠를 게시하거나 업데이트할 때마다 사이트맵이 다시 생성됩니다.
Premium($99/년) 필요 사항: 사이트맵에서 개별 URL 제외, HTML 사이트맵, 뉴스/비디오 사이트맵 확장.
최적 용도: 성숙하고 문서화가 잘 된 플러그인을 원하며, Yoast의 가독성 분석도 SEO 도구와 함께 활용하려는 콘텐츠 팀.
옵션 3: Rank Math
Rank Math는 Yoast보다 더 많은 무료 기능을 제공합니다. 개별 URL 제외, HTML 사이트맵, 우선순위/변경 빈도 제어 — 모두 무료입니다.
설정:
- 플러그인 > 새로 추가에서 Rank Math 설치
- 설정 마법사 완료 (사이트 유형을 감지하고 기본값을 구성함)
- Rank Math > 사이트맵 설정으로 이동
내도메인.com/sitemap_index.xml에서 사이트맵이 활성화되었는지 확인
돋보이는 무료 기능: 무료 버전에서 모든 개별 글, 페이지, 분류를 사이트맵에서 제외할 수 있습니다. Rank Math는 또한 WooCommerce 제품 사이트맵, 로컬 SEO 사이트맵, Google 뉴스 사이트맵을 추가 비용 없이 포함합니다.
최적 용도: 유료 라이선스를 구매하지 않고 세밀한 제어를 원하는 개발자, 에이전시, 사이트 소유자.
WordPress: 어떤 것을 선택해야 할까요?
기준 | 네이티브 WP 사이트맵 | Yoast SEO (무료) | Rank Math (무료) |
|---|---|---|---|
설정 노력 | 없음 | 2분 | 3분 |
글 유형별 제외 | 불가 | 가능 | 가능 |
개별 URL 제외 | 불가 | Premium만 가능 | 가능 |
이미지 사이트맵 | 불가 | 가능 | 가능 |
비디오 사이트맵 | 불가 | Premium 애드온 | 포함 |
WooCommerce 지원 | 불가 | 별도 플러그인($79/년) | 포함 |
최적 가치 | 간단한 사이트 | 콘텐츠 우선 팀 | 기능 많은 사이트 |
✅ 품질 확인: 플러그인 설치 후 사이트맵 URL을 방문하세요. 각 하위 사이트맵이 200 상태 코드를 반환해야 합니다. 로그인되어 있다면 시크릿 창을 사용하세요 — 일부 캐싱 플러그인은 로그인 사용자에게 다른 콘텐츠를 제공합니다.경로 B: 호스팅 CMS 플랫폼
Wix, Squarespace, Shopify는 모두 자동으로 사이트맵을 생성합니다. 많이 커스터마이즈할 수는 없지만, 망가뜨릴 수도 없습니다.
Wix
사이트맵은 내wix사이트.com/sitemap.xml에 있습니다. 페이지를 추가하거나 제거하면 자동으로 업데이트됩니다.
검색 결과(및 사이트맵)에서 페이지를 제외하려면:
- 사이트 페이지로 이동
- 페이지의 점 세 개 메뉴 클릭
- SEO 기본 설정 선택
- "이 페이지를 검색 결과에 표시" 끄기
주의: Wix에서 URL을 정규화하면(페이지 A의 canonical을 페이지 B로 지정), Wix는 사이트맵에서 페이지 A를 제거하지 않습니다. 이는 모순된 신호를 보냅니다 — Google은 사이트맵에 있는 페이지를 보지만, canonical 태그는 "나를 무시하세요"라고 말합니다. URL을 정규화하는 경우, 검색 가시성도 함께 끄세요.
Squarespace
사이트맵은 내squarespace사이트.com/sitemap.xml에 있습니다. Squarespace가 자동 생성하며, 수동으로 편집할 수 없습니다.
페이지를 제외하려면: 페이지 설정을 열고 SEO 탭으로 이동하여 검색 가시성을 끕니다. 이렇게 하면 사이트맵과 검색 결과 모두에서 페이지가 제거됩니다.
제한 사항: Squarespace의 사이트맵은 모든 색인 가능한 페이지를 포함합니다. 커스텀 URL(다른 곳에서 호스팅된 페이지 등)을 추가하거나 카테고리 페이지를 완전히 숨기지 않고 제거할 수 없습니다.
Shopify
사이트맵은 내스토어.com/sitemap.xml에 있습니다. Shopify는 제품, 컬렉션, 페이지, 블로그 글에 대한 개별 사이트맵을 자동 생성하며, 모두 메인 사이트맵 인덱스에서 참조됩니다.
페이지를 제외하려면: Shopify는 간단한 토글을 제공하지 않습니다. 테마의 theme.liquid 파일을 편집하여 특정 템플릿에 noindex 메타 태그를 추가하거나, Shopify App Store의 SEO 앱을 사용해야 합니다.
이커머스 특화 조언: 패싯 네비게이션 URL(/collections/shirts?color=red 등)에 주의하세요. 이는 수천 개의 거의 중복된 사이트맵 항목을 생성할 수 있습니다. 대부분의 Shopify SEO 앱은 매개변수 기반 URL을 사이트맵에서 차단할 수 있습니다. 앱을 사용하지 않는다면, 대신 Google Search Console에 매개변수 처리 규칙을 추가하세요.
✅ 품질 확인: 사이트맵 URL을 여세요. 하위 사이트맵 수를 세거나 URL 수를 스캔하세요. 제품이 500개인데 URL이 3,000개 표시된다면, 매개변수 기반 중복을 확인하세요.경로 C: 모던 JavaScript 프레임워크
Next.js, Nuxt, Astro 또는 유사한 프레임워크로 사이트를 구축했다면, 사이트맵 생성은 빌드 시점에 플러그인 또는 내장 모듈을 통해 이루어집니다.
Next.js (App Router)
Next.js 14+에는 내장 sitemap.ts 라우트 핸들러가 포함되어 있습니다. app/sitemap.ts를 생성하세요:
import type { MetadataRoute } from 'next'
export default function sitemap(): MetadataRoute.Sitemap {
const baseUrl = 'https://내도메인.com'
return [
{ url: baseUrl, lastModified: new Date(), changeFrequency: 'monthly', priority: 1 },
{ url: `${baseUrl}/about`, lastModified: new Date(), changeFrequency: 'yearly', priority: 0.5 },
{ url: `${baseUrl}/blog`, lastModified: new Date(), changeFrequency: 'weekly', priority: 0.8 },
// CMS나 데이터베이스의 동적 라우트를 여기에 추가
]
}수천 페이지 규모의 사이트에서는 generateSitemaps()를 사용하여 여러 사이트맵 파일로 자동 분할합니다.
커뮤니티 대안: next-sitemap(npm 패키지)은 pages 디렉토리를 스캔하고, 동적 라우트를 지원하며, robots.txt를 자동 업데이트합니다.
Nuxt
공식 모듈 설치:
npx nuxi@latest module add sitemapnuxt.config.ts에 기본 설정 추가:
export default defineNuxtConfig({
site: { url: 'https://내도메인.com' },
sitemap: {
autoLastmod: true,
credits: false, // "생성자" 주석 제거
},
})이 모듈은 동적 라우트를 포함하여 pages/ 디렉토리의 모든 라우트를 자동으로 발견합니다.
Astro
공식 통합 설치:
npx astro add sitemapastro.config.mjs에서 사이트 URL 설정:
import { defineConfig } from 'astro/config'
import sitemap from '@astrojs/sitemap'
export default defineConfig({
site: 'https://내도메인.com',
integrations: [sitemap()],
})Astro는 빌드 시 sitemap-index.xml과 sitemap-0.xml을 생성합니다.
제한 사항: SSR 모드의 동적 라우트는 사이트맵에 나타나지 않습니다. 개인화된 콘텐츠를 위해 Astro의 Server Islands를 사용하는 경우, 공개 페이지에 대한 정적 사이트맵 항목을 수동으로 생성하세요.
사이트맵 생성 참조 표
프레임워크 | 패키지/모듈 | 설치 명령 | 50k URL 자동 분할? |
|---|---|---|---|
Next.js 14+ | 내장 | 불필요 | 지원 ( |
Next.js (Pages Router) |
|
| 지원 |
Nuxt 3/4 |
|
| 지원 |
Astro 4+ |
|
| 지원 |
Vite (범용) |
|
| 지원 |
SvelteKit |
|
| 수동 |
✅ 품질 확인: 사이트 빌드 후 생성된 사이트맵을 여세요. 모든 URL이 200 상태 코드를 반환하는지 확인하세요. noindex 페이지, 리디렉션, 404가 없는지 확인하세요. `/page/2`, `/page/3` 등이 보인다면, 페이지네이션 아카이브 페이지 제외를 고려하세요.경로 D: 정적 사이트와 커스텀 빌드
CMS를 사용하지 않고 빌드 시점 사이트맵 생성기도 없다면, 세 가지 실용적인 옵션이 있습니다: CLI 도구, 데스크톱 크롤러, 또는 AI 에이전트입니다.
옵션 1: Static Sitemap CLI (로컬 파일에 가장 빠름)
static-sitemap-cli 도구는 로컬 파일 시스템에서 HTML 파일을 스캔하여 사이트맵을 생성합니다:
npx static-sitemap-cli --base-url https://내도메인.com --source ./public현재 디렉토리에 sitemap.xml이 생성됩니다. 사이트의 루트 폴더에 업로드하세요.
최적 용도: 모든 HTML 파일이 로컬에 있는 정적 사이트(Hugo, Jekyll, 11ty 또는 평범한 HTML).
옵션 2: 데스크톱 크롤러 (Screaming Frog)
Screaming Frog SEO Spider는 라이브 사이트를 크롤링하고 사이트맵을 내보냅니다. 무료 버전은 최대 500개 URL을 크롤링할 수 있습니다.
- Screaming Frog SEO Spider 다운로드 및 설치
- Mode > Spider 설정
- 홈페이지 URL을 입력하고 Start 클릭
- 크롤링 완료 대기
- Sitemaps > XML Sitemap으로 이동
<priority>와<changefreq>선택 해제 (Google은 둘 다 무시)- 파일 내보내기
주의: 무료 온라인 사이트맵 생성기는 신뢰할 수 없습니다. 독립적인 테스트에서 정규화된 URL, noindex 페이지, 3xx 리디렉션, 404를 일상적으로 포함하는 것으로 밝혀졌습니다. 사용한다면 Google에 제출하기 전에 출력물의 모든 URL을 검증하세요.
옵션 3: Claude Code / AI 에이전트 (2026년 방식)
시간이 부족하거나 수동 크롤링에 인내심이 없다면, 더 나은 옵션이 있습니다: Claude Code가 전체를 처리하게 하세요. 도메인을 알려주면 크롤링, 필터링, 검증, 파일 작성을 수행합니다. 작동하게 만드는 스킬은 다음과 같습니다.
이것을 Claude Code 스킬 디렉토리에 sitemap-generator.md로 저장하세요:
---
name: sitemap-generator
description: 모든 웹사이트에 대해 깨끗한 XML 사이트맵을 생성합니다. 사이트를 크롤링하고, 저품질 URL을 필터링하며, Search Console 준비 완료된 sitemap.xml 파일을 출력합니다.
---
## 입력
에이전트에게 웹사이트 URL, 제외할 페이지 또는 URL 패턴, 사이트맵과 함께 llms.txt 파일이 필요한지 여부를 알려주세요.
## 에이전트 지침
### 1단계: URL 발견
Playwright 또는 curl 기반 크롤링을 사용하여 사이트의 모든 페이지를 발견합니다. 사이트맵을 출발점으로 사용하지 마세요 — 홈페이지에서 크롤링하여 내부 링크를 따릅니다.
발견한 모든 URL에 대해 기록:
- 전체 절대 URL
- HTTP 상태 코드
- `<meta name="robots" content="noindex">` 태그 존재 여부
- 다른 URL을 가리키는 canonical 태그 존재 여부
- 리디렉션(3xx) 여부
- 페이지 제목 및 단어 수(품질 필터링용)
### 2단계: 문제 URL 필터링
최종 사이트맵에서 다음을 모두 제외:
- 4xx 또는 5xx 상태 코드를 반환하는 URL
- 리디렉션하는 URL(3xx)
- noindex 메타 태그 또는 X-Robots-Tag 헤더가 있는 URL
- canonical 태그가 다른 URL을 가리키는 페이지
- `*/page/*`, `*/paged/*`, `*?page=*` 등에 일치하는 페이지네이션 URL
- 추적 매개변수가 포함된 URL (`utm_source`, `fbclid`, `gclid`, `ref=`)
- 로그인, 장바구니, 체크아웃, 계정 페이지
- 가시적 텍스트가 50단어 미만인 페이지 (씬 콘텐츠)
- PDF, 이미지, 기타 HTML이 아닌 파일 (명시적으로 색인을 원하는 경우 제외)
### 3단계: 사이트맵 XML 구축
Sitemap Protocol 0.90에 따라 유효한 XML 사이트맵 생성:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.90">
<url>
<loc>https://내도메인.com/페이지-url/</loc>
<lastmod>2026-07-30</lastmod>
</url>
</urlset>
```
규칙:
- 모든 URL은 절대 경로여야 함 (`https://`로 시작)
- 모든 URL에는 `<loc>` 태그와 `<lastmod>` 태그가 있어야 함
- `<lastmod>`는 YYYY-MM-DD 형식으로 페이지의 실제 수정 날짜 사용. 실제 날짜를 모르는 경우 크롤링 날짜 사용
- `<priority>`와 `<changefreq>`는 포함하지 않음 — Google은 둘 다 무시
- 사이트맵이 50,000 URL 또는 50MB를 초과하는 경우, 여러 파일로 분할하고 사이트맵 인덱스 생성
### 4단계: 파일 작성
1. `sitemap.xml`을 프로젝트 디렉토리에 작성
2. `robots.txt`에 `Sitemap: https://내도메인.com/sitemap.xml` 라인을 포함하도록 작성/업데이트
### 5단계: llms.txt 생성 (선택 사항)
[llms-txt.org](https://llms-txt.org) 표준에 따라 `llms.txt` 파일도 생성:
```text
# 사이트 이름
> 사이트가 제공하는 것에 대한 간략한 설명, 한 문장.
## 문서
- [페이지 제목](https://내도메인.com/페이지-url/): 한 줄 설명.
## 블로그
- [글 제목](https://내도메인.com/blog/글-slug/): 한 줄 요약.
## 리소스
- [리소스 이름](https://내도메인.com/리소스/): 설명.
```
### 6단계: 검증 보고서 출력
파일 생성 후 요약 출력:
```
사이트맵 생성됨: sitemap.xml
포함된 총 URL: 247
제외된 총 URL: 89
- Noindex: 12
- 리디렉션: 8
- 다른 URL로 정규화: 15
- 씬 콘텐츠(<50단어): 23
- 페이지네이션: 18
- 기타(로그인, 장바구니, 매개변수): 13
Robots.txt: Sitemap 지시문으로 업데이트됨
llms.txt: 15개 섹션으로 생성됨
다음 단계: sitemap.xml을 사이트 루트에 업로드한 후 Google Search Console에 제출하세요.
```
## 출력
- `sitemap.xml` — 사이트 루트에 업로드 준비 완료
- Sitemap 참조가 포함된 업데이트된 `robots.txt`
- AI 크롤러 발견을 위한 선택적 `llms.txt`
- 포함 및 제외 항목을 보여주는 검증 보고서
## 제한 사항
- 이 에이전트는 서버에 파일을 업로드할 수 없습니다. 수동으로 `sitemap.xml`을 사이트의 루트 디렉토리에 배치해야 합니다.
- 이 에이전트는 Google Search Console에 접근할 수 없습니다. 제출은 수동으로 또는 별도 구성된 워크플로우를 통해 이루어져야 합니다.
- 사이트가 JavaScript를 많이 사용하는 경우, 크롤링이 클라이언트 측에서 렌더링된 페이지를 놓칠 수 있습니다. 그런 경우, 프레임워크 네이티브 사이트맵 생성기(경로 C)를 우선하세요.Claude Code에서 이 스킬을 사용하는 방법:
- 스킬 파일을
~/.claude/skills/sitemap-generator.md에 저장 - 프로젝트 디렉토리에서 Claude Code 실행
/sitemap-generator를 실행하고 도메인을 입력- 검증 보고서를 검토한 후 생성된
sitemap.xml을 사이트 루트에 업로드
이 접근 방식의 진정한 장점은 필터링에 있습니다. noindex 태그, canonical 불일치, 리디렉션을 수동으로 확인하는 지루한 부분을 건너뛰고, 자신 있게 Google에 제출할 수 있는 사이트맵을 받게 됩니다.
사이트맵 크기 제한: 하나의 파일로 충분하지 않을 때
Google은 사이트맵 파일당 두 가지 엄격한 제한을 적용합니다:
- 최대 50,000 URL
- 비압축 파일 크기 최대 50 MB
사이트가 어느 한 제한을 초과하면 사이트맵 인덱스 — 여러 사이트맵 파일을 나열하는 파일 — 가 필요합니다.
사이트맵 인덱스는 다음과 같습니다:
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.90">
<sitemap>
<loc>https://내도메인.com/sitemap-posts-1.xml</loc>
<lastmod>2026-07-30</lastmod>
</sitemap>
<sitemap>
<loc>https://내도메인.com/sitemap-products-1.xml</loc>
<lastmod>2026-07-30</lastmod>
</sitemap>
<sitemap>
<loc>https://내도메인.com/sitemap-pages.xml</loc>
<lastmod>2026-07-29</lastmod>
</sitemap>
</sitemapindex>분할 방법: URL을 콘텐츠 유형별(글, 제품, 카테고리), 날짜 범위별(2024-글, 2025-글) 또는 언어별로 논리적으로 그룹화하세요. 그런 다음 사이트맵 인덱스만 Google Search Console에 제출하세요. 모든 현대적인 CMS 플러그인과 프레임워크 사이트맵 도구는 분할을 자동으로 처리합니다.
✅ 품질 확인: 인덱스에 나열된 각 자식 사이트맵은 동일한 도메인과 동일한 디렉토리(또는 하위 디렉토리)에 호스팅되어야 합니다. 인덱스 파일에서 다른 도메인의 사이트맵을 참조할 수 없습니다.중요한 태그 (그리고 중요하지 않은 두 가지 태그)
최소한의 사이트맵은 URL당 두 가지만 필요합니다: <loc>과 <lastmod>. 2026년에 각 태그가 실제로 하는 역할은 다음과 같습니다:
<loc> — 필수. 절대적인 정규 URL.
모든 사이트맵 항목은 하나를 가져야 합니다. https://로 시작하는 전체 URL을 사용하고, 각 페이지의 정규 버전을 사용하세요. https://내사이트.com/page와 https://www.내사이트.com/page가 모두 존재한다면, 하나를 선택하여 사이트맵, canonical 태그, 내부 링크 등 모든 곳에서 일관되게 사용하세요.
<lastmod> — 선택 사항이지만 2026년에는 중요.
Google이 2023년 6월 사이트맵 ping 엔드포인트를 폐기한 이후, <lastmod>는 Google이 재크롤링할 페이지를 결정하는 주요 신호가 되었습니다. Google의 Gary Illyes는 <lastmod>를 사용한다고 확인했습니다 — 하지만 일관되게 정확할 때만 사용합니다.
해야 할 일: 페이지의 주요 콘텐츠가 의미 있게 변경되었을 때(새로운 정보, 다시 작성된 섹션, 업데이트된 데이터) <lastmod>를 업데이트하세요.
하지 말아야 할 일: 바닥글의 저작권 연도 업데이트, CMS를 통한 페이지 재생성, 사이드바 위젯 변경과 같은 사소한 변경에 대해 <lastmod>를 자동 업데이트하지 마세요.
정확한 타임스탬프를 유지할 수 없다면, <lastmod>를 완전히 생략하세요. 타임스탬프가 없는 것이 오해의 소지가 있는 타임스탬프보다 낫습니다.
<priority>와 <changefreq> — Google에서 무시됨.
Google은 이 두 태그를 모두 무시한다고 공개적으로 밝혔습니다. John Mueller는 우선순위와 변경 빈도 태그를 "더 이상 큰 역할을 하지 않는" 것으로 언급했습니다. Gary Illyes는 <priority>를 "잡음 덩어리"라고 표현했습니다.
원한다면 포함해도 됩니다 — 해가 되지는 않습니다 — 하지만 주요 검색 엔진이 사용하지 않는 값 조정에 시간을 낭비하지 마세요.
2026년에 사이트맵을 검색 엔진에 제출하는 방법
사이트맵 생성은 작업의 절반입니다. 검색 엔진이 그 존재를 알아야 합니다.
Google에 제출
방법 1: Google Search Console (주요 방법)
- Google Search Console로 이동
- 속성 선택
- 왼쪽 사이드바에서 색인 > 사이트맵으로 이동
- "새 사이트맵 추가" 필드에 사이트맵 URL 입력 (예:
sitemap.xml또는sitemap_index.xml) - 제출 클릭
Google은 몇 분 내에 사이트맵을 가져옵니다. 하루나 이틀 후에 상태를 확인하세요: "성공"은 Google이 처리했음을 의미합니다. "가져올 수 없음" 또는 "오류 있음"은 무언가 잘못되었음을 의미합니다 — 보고서를 열어 어떤 URL이 실패했는지 확인하세요.
방법 2: robots.txt (보조적이지만 권장)
robots.txt 파일(보통 내도메인.com/robots.txt)에 다음 줄을 추가하세요:
Sitemap: https://내도메인.com/sitemap.xml여러 사이트맵이나 사이트맵 인덱스가 있는 경우:
Sitemap: https://내도메인.com/sitemap_index.xml이렇게 하면 Google뿐만 아니라 모든 준수 크롤러가 사이트맵을 자동으로 발견할 수 있습니다.
사이트맵 ping은 어떻게 되었나요? Google의 ping 엔드포인트(http://www.google.com/ping?sitemap=...)는 2023년 6월에 폐기되었으며, 현재는 404를 반환합니다. 이 URL에 여전히 ping을 보내는 오래된 SEO 플러그인을 사용 중이라면, 해당 ping은 아무 효과도 없습니다. 불이익은 없습니다 — 단지 무작업일 뿐입니다. 제출 워크플로우가 Search Console과 robots.txt를 사용하도록 하세요.
Bing에 제출 (및 IndexNow를 통한 Yahoo)
Bing은 사이트맵 제출에 IndexNow 프로토콜을 선호합니다. IndexNow는 페이지를 추가, 업데이트 또는 삭제할 때 Bing에 즉시 알립니다 — 예정된 재크롤링을 기다릴 필요가 없습니다.
SEO 플러그인을 통한 설정: Rank Math, Yoast SEO, AIOSEO 모두 IndexNow를 지원합니다. 플러그인 설정에서 활성화하면 자동으로 API 키를 생성하고 콘텐츠 변경 시 URL을 제출합니다.
플러그인 없는 사이트를 위한 수동 설정:
- API 키 생성 (8~128자의 임의 문자열)
- 키 파일을
https://내도메인.com/{내-키}.txt에 호스팅하고 콘텐츠를 키로 설정 - POST 요청으로 URL 제출:
curl -X POST "https://api.indexnow.org/indexnow" \
-H "Content-Type: application/json" \
-d '{
"host": "내도메인.com",
"key": "내-api-키",
"keyLocation": "https://내도메인.com/내-api-키.txt",
"urlList": [
"https://내도메인.com/새-페이지/",
"https://내도메인.com/업데이트-페이지/"
]
}'대체 수단으로 Bing Webmaster Tools에도 사이트맵을 제출하세요. 사이트맵 > 사이트맵 제출로 이동하여 사이트맵 URL을 입력하세요.
빠른 참조: 제출 위치
검색 엔진 | 주요 채널 | 보조 채널 |
|---|---|---|
Search Console | robots.txt | |
Bing | IndexNow (플러그인 또는 API 경유) | Bing Webmaster Tools |
Yahoo | Bing이 커버 | — |
Yandex | IndexNow | Yandex Webmaster |
Naver | IndexNow | Naver Webmaster |
DuckDuckGo | robots.txt | Bing 인덱스 사용 |
XML을 넘어서: AI 검색 가시성을 위한 llms.txt
2025~2026년에 llms.txt라는 새로운 표준이 등장하여 ChatGPT, Perplexity, Claude, Google AI Overviews와 같은 AI 구동 크롤러가 콘텐츠를 발견하고 이해하는 것을 돕고 있습니다.
llms.txt란 무엇인가요?
내도메인.com/llms.txt에 위치한 일반 텍스트 파일로, 사이트의 주요 페이지에 대한 구조화된 사람과 기계가 읽을 수 있는 요약을 제공합니다. "AI 크롤러를 위한 목차"라고 생각하세요.
최소한의 llms.txt 파일:
# 사이트 이름
> 사이트가 제공하는 것에 대한 간략한 설명, 한 문장.
## 주요 페이지
- [홈](https://내도메인.com/): 사이트가 하는 일, 한 줄.
- [소개](https://내도메인.com/about/): 누구이며 무엇을 다루는지.
- [블로그](https://내도메인.com/blog/): [주제]에 관한 글과 가이드.
## 주요 가이드
- [사이트맵 만드는 방법](https://내도메인.com/blog/sitemap/): 2026년 완전한 사이트맵 가이드.
- [SEO 기초](https://내도메인.com/blog/seo-basics/): 검색 최적화 시작하기.
## 리소스
- [무료 도구](https://내도메인.com/tools/): SEO 도구와 계산기.선택적으로, 더 깊은 AI 처리를 위해 주요 페이지의 전체 텍스트 콘텐츠를 포함하는 llms-full.txt 파일을 만들 수도 있습니다.
llms.txt가 필요한가요?
아마도, 하지만 시급하지는 않습니다. 이 표준은 새롭고, 주요 AI 플랫폼이 llms.txt가 인용률에 직접 영향을 미친다고 공개적으로 밝힌 바는 없습니다. 그러나 OpenAI의 문서는 GPTBot이 발견을 위해 robots.txt 지시문을 존중함을 확인하고 있으며, 명확한 콘텐츠 맵은 인간이든 AI든 모든 크롤러가 사이트를 이해하기 쉽게 만듭니다.
콘텐츠 전략에 AI 검색 가시성이 포함되어 있다면, XML 사이트맵과 함께 llms.txt를 생성하는 것은 적은 노력으로 미래를 대비하는 움직임입니다. 수동 형식 지정을 건너뛰고 싶다면, Auspia의 LLMs.txt 생성기가 사이트를 스캔하여 파일을 구축해 줍니다.
흔한 사이트맵 실수 (그리고 해결 방법)
자동 생성을 사용하더라도 사이트맵에 문제가 발생할 수 있습니다. 가장 빈번한 문제와 발견 방법입니다:
문제 | 중요한 이유 | 발견 방법 | 해결 방법 |
|---|---|---|---|
사이트맵 내 noindex 페이지 | 모순된 신호: 사이트맵에서는 "색인하라", 메타 태그에서는 "색인하지 마라". Google은 보통 noindex 태그를 따르지만 크롤링 예산을 낭비함. | Search Console에서 Pages > "Submitted in sitemap"으로 이동하여 "Excluded by noindex tag" 찾기. | 사이트맵에서 제거. WordPress에서는 개별 글 설정 확인. 프레임워크에서는 사이트맵 생성 전에 필터 추가. |
사이트맵 내 리디렉션(3xx) | Google이 리디렉션을 따르지만 추가 홉에서 크롤링 예산을 낭비함. | 사이트맵 URL을 크롤링하고 3xx 상태 코드 확인. 대부분의 SEO 크롤러가 이를 플래그함. | 사이트맵 항목을 최종 목적지 URL로 업데이트. |
사이트맵 내 404 페이지 | 데드 엔드에 크롤링 예산 낭비. | Search Console이 "Submitted URL not found (404)"로 이를 보고함. | 사이트맵에서 URL을 제거하거나, 404가 우연이었다면 페이지 복원. |
사이트맵 내 정규화된 URL | 사이트맵은 "색인하라"고 말하고 canonical은 "진짜 버전은 저쪽"이라고 말함. 검색 엔진이 사이트맵 항목을 무시할 수 있음. | 사이트맵 URL과 canonical 태그 비교. 무료 온라인 생성기가 가장 심각한 원인. | 비정규 URL 제거. 각 페이지의 정규 버전만 사이트맵에 있어야 함. |
저품질 또는 씬 페이지 | 순위에 오르지 않고, 크롤링 예산을 낭비하며, 사이트의 전반적인 품질 신호를 희석함. | 200단어 미만의 콘텐츠, 자동 생성된 태그 페이지, 거의 중복된 제품 페이지 확인. | 페이지 콘텐츠를 크게 개선하거나, noindex하거나, 완전히 제거. |
`<lastmod>` 누락 또는 자동 생성 타임스탬프 | 정확한 lastmod 없이는 Google이 어떤 페이지가 변경되었는지 추측해야 함. | 사이트맵이 매 빌드마다 모든 URL의 | 페이지 콘텐츠가 실제로 변경된 경우에만 |
robots.txt에 사이트맵 미참조 | 크롤러가 발견하지 못할 수 있음. |
| 하단에 |
사이트맵 인덱스 대신 사이트맵 URL 제출 | 사이트맵 인덱스가 있는 경우, 자식 사이트맵을 직접 제출하면 Google이 다른 자식 사이트맵을 알지 못함. | Search Console > 사이트맵 확인. 인덱스 대신 개별 사이트맵 파일 이름이 보이면 인덱스 재제출. | 개별 자식 사이트맵이 아닌 사이트맵 인덱스 URL( |
🔍 빠른 감사: Google Search Console > 색인 > 사이트맵 열기. "발견된 URL"과 "색인된 URL" 열을 확인하세요. 발견 수가 색인 수보다 훨씬 높으면 사이트맵에 품질 문제가 있을 수 있습니다. 보고서를 자세히 살펴 어떤 URL이 제외되었고 그 이유를 확인하세요.완성된 사이트맵 검증
완료라고 선언하기 전에 이 체크리스트를 실행하세요:
- [ ] 사이트맵 접근 가능:
내도메인.com/sitemap.xml(또는sitemap_index.xml)이 200 상태 코드와 유효한 XML 반환 - [ ] 모든 URL이 절대 경로: 모든
<loc>이https://로 시작 - [ ] 모든 URL이 정규: 사이트맵 내 URL이 다른 곳을 가리키는 canonical 태그를 가지고 있지 않음
- [ ] noindex 페이지 없음: Search Console에서 제출된 사이트맵 페이지의 "Excluded by noindex" 확인
- [ ] 리디렉션 또는 404 없음: 사이트맵 URL의 빠른 크롤링으로 검증
- [ ] 페이지네이션 또는 매개변수 URL 없음: 필터 페이지, 검색 결과, 추적 URL이 제외됨
- [ ] `<lastmod>`가 정확: 타임스탬프가 빌드 날짜가 아닌 실제 콘텐츠 변경을 반영
- [ ] Google Search Console에 사이트맵 제출 완료: 상태가 "성공" 표시
- [ ] robots.txt 업데이트 완료:
Sitemap:지시문 포함 - [ ] IndexNow 구성 완료 (선택 사항): SEO 플러그인 또는 수동 API 설정으로 활성화
- [ ] llms.txt 생성 완료 (선택 사항):
내도메인.com/llms.txt에서 명확한 콘텐츠 맵 이용 가능
자주 묻는 질문
사이트가 몇 페이지밖에 없는데 사이트맵이 필요한가요?
적절한 내부 링크가 있고 모든 페이지가 홈페이지에서 도달 가능하다면, Google은 사이트맵 없이도 콘텐츠를 찾을 가능성이 높습니다. 하지만 사이트맵을 갖는 것에 단점은 없으며, Google이 새 페이지를 더 빨리 발견하는 데 도움이 됩니다. 10개의 URL이 있는 사이트맵은 설정하는 데 5분이면 됩니다 — 그냥 하세요.
사이트맵이 페이지 순위 향상에 도움이 되나요?
아니요. Google은 사이트맵이 순위와는 무관하다고 반복적으로 확인했습니다. 사이트맵은 발견과 색인을 돕습니다 — 순위가 가능하기 전에 필요한 단계 — 그러나 순위 위치에는 영향을 미치지 않습니다.
사이트맵을 사용하여 새 콘텐츠를 더 빨리 색인시킬 수 있나요?
네, 하지만 정확한 <lastmod> 값과 적절한 제출 워크플로우가 조합되어야 합니다. 새 콘텐츠가 게시될 때 <lastmod>를 업데이트하고 Search Console에서 사이트맵을 제출하면, Google은 자연적인 크롤링을 기다리는 것보다 새 URL을 더 빨리 발견합니다. Bing에서의 실시간 알림에는 IndexNow를 사용하세요.
사이트맵을 얼마나 자주 업데이트해야 하나요?
사이트맵은 사이트의 현재 상태를 반영해야 합니다. CMS나 프레임워크 플러그인을 사용하면 게시하거나 빌드할 때마다 자동으로 이루어집니다. 수동으로 사이트맵을 생성하는 경우, 중요한 페이지를 추가하거나 제거할 때마다 업데이트하세요. 정해진 일정은 필요하지 않습니다.
XML 사이트맵과 HTML 사이트맵의 차이점은 무엇인가요?
XML 사이트맵은 검색 엔진을 위한 기계 판독 가능 파일입니다. HTML 사이트맵은 사이트의 모든 중요한 페이지 링크를 나열한 사람이 읽을 수 있는 페이지(목차 같은 것)입니다. HTML 사이트맵은 15년 전의 일반적인 SEO 관행이었지만, 오늘날에는 거의 필요하지 않습니다 — 잘 구조화된 내비게이션과 바닥글이 같은 목적을 수행합니다.
사이트맵에 이미지와 비디오를 포함해야 하나요?
이미지가 JavaScript를 통해 로드되어 Google이 발견하기 어려운 경우, 또는 이미지 검색이 의미 있는 트래픽 소스인 경우 이미지 사이트맵 항목을 포함하세요. Google 비디오 검색 결과에 표시하고 싶은 비디오 콘텐츠를 호스팅하는 경우 비디오 사이트맵 항목을 포함하세요. 대부분의 텍스트 기반 블로그에서는 사이트맵의 표준 페이지 URL로 충분합니다 — Google은 페이지 콘텐츠에서 이미지를 자동으로 추출합니다.
다른 언어에 대해 별도의 사이트맵이 필요한가요?
다국어 사이트가 하위 디렉토리(/en/, /fr/, /de/)를 사용하는 경우, 모든 언어 버전을 동일한 사이트맵에 넣고 <xhtml:link rel="alternate"> 태그로 서로를 가리킬 수 있습니다. 별도의 도메인(.com, .fr, .de)을 사용하는 경우, 각 도메인은 Search Console에 개별적으로 제출할 자체 사이트맵이 필요합니다.
이미 XML 사이트맵이 있는데 llms.txt도 필요한가요?
서로 다른 목적입니다. XML 사이트맵은 크롤러에게 "이 URL들이 존재한다"고 알려줍니다. llms.txt 파일은 콘텐츠를 요약하여 AI 모델이 무엇을 깊이 읽을지 결정할 수 있게 합니다. 이들은 서로를 보완하며, 이미 사이트맵을 구축하고 있다면 두 가지를 모두 생성하는 데 추가 노력이 거의 들지 않습니다.
저자: Julian Mercer, Auspia 14년 테크니컬 SEO 실무자. Julian은 크롤링 가능성, 사이트 아키텍처, 사이트맵, 그리고 SEO와 AI 검색 가시성을 가능하게 하는 기술적 기반에 대해 글을 씁니다.








