인덱스 푸시은(는) 무엇을 하나요?
페이지를 배포한다고 해서 바로 크롤링되는 것은 아닙니다. 새 도메인의 경우, Google은 sitemap에서 발견한 URL을 몇 주 동안 그대로 놔둘 수 있습니다. 이 스킬은 페이지가 공개되는 날부터 색인될 때까지의 일상적인 작업 흐름입니다. 네 가지 채널을 모두 사용하세요. 각 채널은 서로 다른 엔진에 도달하며 제한이 다릅니다.
| 채널 | 도달 범위 | 일일 제한 | 방법 |
|---|---|---|---|
IndexNow (scripts/indexnow.mjs) | Bing, Yandex, Naver, Seznam, Yep. Google 제외 | 요청당 10,000개 URL | 한 번의 명령어 |
| Search Console URL 검사 → 색인 요청 | 속성당 약 10개 URL; 미국 태평양 시간 자정 무렵 초기화 | 브라우저, 한 번에 하나의 URL | |
| Search Console Sitemaps → 재제출 | 중요하지 않음 | 브라우저, 한 개 입력 필드 | |
| Bing Webmaster Tools → URL 제출 | Bing | 100개 URL | 브라우저, 목록 붙여넣기 |
색인 요청이 우리에게 Google을 움직이게 한 방법입니다. '알 수 없음' 또는 '발견됨' 상태였던 8개의 URL이 요청 후 약 하루 만에 모두 색인되었습니다. Sitemap과 IndexNow만으로는 Google 페이지가 계속 대기 상태였습니다.
브라우징 규칙. Search Console과 Bing Webmaster는 로그인이 필요한 사이트입니다. 사람의 속도로 한 번에 한 페이지씩 작업하고 UI를 스크립팅하지 마세요. 소셜 사이트도 마찬가지입니다. 사이트가 속도 제한을 걸거나 차단하면 즉시 중단하고 사용자에게 알리세요.
일회성 설정
- Search Console: 도메인 속성(DNS TXT 레코드로 인증)을 추가하세요. 해당 TXT 레코드를 절대 삭제하지 마세요. 인증이 유지되지 않습니다.
- Bing Webmaster Tools: 'Google Search Console에서 가져오기'가 가장 빠릅니다. GSC 도메인 속성은 가져올 수 없습니다. Bing은 대신 URL 접두어 사이트(
https://example.com/)를 생성하며, 이 방법이 작동합니다. 거기에도 sitemap을 제출하세요. - IndexNow 키 파일, 첫 번째 제출 전에 배포:
키는 설계상 공개되어 있으므로(누구나 파일을 읽을 수 있음)KEY=$(openssl rand -hex 16) printf '%s' "$KEY" > public/$KEY.txt # 사이트 루트에서 제공되는 모든 폴더 # 커밋, 배포 후 다음 명령어로 키만 출력되는지 확인: curl -s "https://example.com/$KEY.txt"package.json에 저장할 수 있습니다:"seo:indexnow": "INDEXNOW_KEY=<key> node scripts/indexnow.mjs --host example.com" - 큐 파일
docs/seo/index-queue.md(아래 템플릿), 저장소에 커밋. 임시 폴더나 스크래치 폴더에 두지 마세요.
워크플로우: 페이지가 배포된 날
- 페이지가 실제로 떠 있는지 확인. 자체 사이트, 순차적 요청:
모든 URL은 200(리디렉션 아님)을 반환하고, self-referencing canonical을 포함하며, sitemap에 나타나고, Google이 이미 크롤링하는 페이지(홈, 블로그 인덱스, 푸터 '최신 게시물' 블록, 관련 게시물)에서 링크되어야 합니다. 이러한 조건을 충족하지 않는 URL은 제출하지 마세요.for p in /blog/new-post /zh/blog/new-post; do curl -s -o /dev/null -w "%{http_code} $p\n" "https://example.com$p" done curl -s https://example.com/blog/new-post | grep -o '<link rel="canonical"[^>]*>' - IndexNow.
200 또는 202는 수락됨을 의미합니다(202는 새 키가 검증되는 동안 정상). 403: 키 파일이 실제로 제공되지 않거나 내용이 다릅니다. 422: URL이 다른 호스트에 있음, 일반적으로npm run seo:indexnow -- /blog/new-post /zh/blog/new-post npm run seo:indexnow -- --sitemap # 대규모 릴리스 후 또는 무엇이 변경되었는지 확실하지 않을 때www.대 베어 도메인. - 큐 업데이트. 마지막 실행 이후 새로 추가된 URL을 찾으려면 라이브 sitemap을 커밋된 스냅샷과 비교합니다(첫 실행 시 스냅샷만 저장하면 됩니다.
--dry-run은 키가 필요 없음):큐 순서: (1) 오늘 게시된 페이지, 최신순; (2) 주요 언어가 번역본보다 먼저, 예: 영어 다음 중국어; (3) 시간에 민감한 주제(릴리스, 종료)가 상시 주제보다 먼저; (4) 콘텐츠가 실질적으로 변경된 기존 페이지. 기타 로케일은 마지막.node scripts/indexnow.mjs --host example.com --sitemap --dry-run 2>/dev/null | sort > sitemap-now.txt comm -13 docs/seo/sitemap-snapshot.txt sitemap-now.txt # 스냅샷 이후 추가된 URL mv sitemap-now.txt docs/seo/sitemap-snapshot.txt - Search Console에서 sitemap 재제출 많은 URL 또는 새 섹션을 추가한 후: Sitemaps →
https://example.com/sitemap.xml입력 → 제출. '발견된 페이지' 수를 자체 개수와 비교하세요. 오래되면: 우리는 재제출할 때까지 243개로 표시되던 것이 423개가 되었습니다. - Search Console에서 색인 요청, 큐의 맨 위부터:
- Search Console을 열고 URL의 계정(
/u/0/,/u/1/,/u/2/)이 속성을 표시하는지 확인하세요. 인덱스는 날짜마다 변경됩니다. 속성이 나열된 계정을 사용하세요. - 맨 위 검사 표시줄에 URL을 붙여넣고 결과를 기다린 후, 색인 요청을 클릭하고 라이브 테스트(약 1분)를 기다리세요.
- '색인 요청됨' 대화상자가 나타날 때만 카운트하세요. 대화상자가 없으면 요청이 전달되지 않은 것이며, 종종 계정에 권한이 없기 때문입니다.
- 첫 번째 시도에서 '문제가 발생했습니다': 한 번 재시도하세요. 보통 작동합니다.
- '할당량 초과': 그날은 중단하세요. 할당량은 미국 태평양 시간 자정 무렵에 초기화됩니다. 하루에 약 10개 정도 계획하세요.
- 큐 행에 날짜를 기록하세요.
- Search Console을 열고 URL의 계정(
- Bing URL 제출: Bing Webmaster Tools → URL Submission → Submit URLs → 큐에서 다음 URL을 한 줄에 하나씩, 페이지에 표시된 남은 할당량(하루 100개)까지 붙여넣으세요. 큐 행에 날짜를 기록하세요.
- 기록 각 작업당 한 줄씩
docs/seo/log.md에 배포 또는 커밋 참조와 함께:- main=abc1234 라이브. IndexNow 18개 URL → 200. GSC 10개 요청 (11번째에서 할당량 초과). Bing 100개 제출, 큐에 44개 남음.
후속 조치, 1~3일 후
URL 검사에서 가장 최신 페이지를 먼저 검사하세요(Bing에도 유사한 상태를 가진 자체 URL 검사가 있음):
| 상태 | 의미 | 조치 |
|---|---|---|
| URL이 Google에 있습니다 | 색인됨 | 색인됨 표시, 큐에서 제거, 로그 기록 |
| URL이 Google에 알려지지 않음 | Google이 읽은 sitemap에 없음, 발견된 링크 없음 | sitemap 재제출, 내부 링크 추가, 색인 요청 |
| 발견되었지만 현재 색인되지 않음, 참조 페이지: 없음 감지됨 | Google이 sitemap에서만 URL을 알고 있으며 크롤링하지 않음 | 이미 크롤링되고 방문되는 페이지에서 링크 추가; 외부 링크 확보; 색인 요청 |
| 크롤링되었지만 현재 색인되지 않음 | 가져왔지만 아직 색인할 가치가 없다고 판단 | 콘텐츠가 부족하거나 거의 중복되는지 확인(번역, 템플릿 페이지); 개선 또는 병합. 더 많은 요청은 도움이 되지 않음 |
| 중복, Google이 다른 표준을 선택함 | canonical 또는 hreflang 혼동 | canonical 태그 수정; 로케일 버전이 동일하지 않은지 확인 |
| 리디렉션 페이지 / 찾을 수 없음(404) | sitemap에 잘못된 URL | sitemap 수정 |
'참조 페이지: 없음 감지됨'이 핵심 단서입니다. 해결책은 링크이지 더 많은 제출이 아닙니다. 우리에게 효과가 있었던 방법: 홈 페이지와 상위 가이드에서 최신 게시물 5개를 링크하는 푸터 블록, 관련 게시물 간의 상호 링크, README가 페이지를 링크하는 공개 GitHub 저장소.
Search Console 실적 데이터는 2~3일 지연됩니다. 어제 수치로 페이지를 판단하지 마세요.
큐 파일 템플릿
# 인덱스 큐
맨 위 = 다음에 제출할 항목. 순서: 최신순; 영어와 중국어가 다른 로케일보다 먼저.
제한: Google 색인 요청 속성당 하루 약 10개(미국 태평양 시간 자정 무렵 초기화). Bing URL 제출 하루 100개.
| URL | 추가됨 | Google 요청됨 | Bing 제출됨 | 색인됨 |
|---|---|---|---|---|
| https://example.com/blog/new-post | 2026-11-07 | 11-08 | 11-07 | |
| https://example.com/zh/blog/new-post | 2026-11-07 | | 11-07 | |
체크리스트
- 각 URL 라이브: 200, self canonical, sitemap에 포함, 크롤링된 페이지에서 링크됨
- IndexNow가 새 URL 및 변경된 URL에 대해 200 또는 202 반환
- 큐 업데이트 및 우선순위별 정렬
- 대규모 추가 후 sitemap 재제출됨; 발견된 수와 일치
- Search Console 색인 요청이 할당량까지 진행됨, 각각 대화상자로 확인
- Bing URL 제출이 할당량까지 진행됨
- 로그 줄이 커밋 또는 배포 참조와 함께 기록됨; 후속 검사 날짜 표시
우리가 겪은 함정
- 색인 요청이 3일 동안 아무 효과 없음. 확인 대화상자가 전혀 나타나지 않았습니다. 브라우저의 기본 Google 계정에 속성에 대한 액세스 권한이 없었습니다. 소유한 계정(다른
/u/N/)으로 Search Console을 열자 즉시 해결되었습니다. 며칠 후 속성이 또 다른 인덱스 아래에서 열렸습니다. - '잘못된 sitemap 주소'. 도메인 속성에서
sitemap.xml을 입력하면 실패합니다. 전체https://example.com/sitemap.xml이 작동합니다. - 오래된 sitemap 수. Search Console이 사이트에 100페이지가 있는데도 11개의 발견된 페이지만 계속 표시하다가 재제출 후 243 대 423이 되었습니다.
- 링크되지 않은 페이지가 보이지 않음. 내부 링크 없이 게시된 두 개의 가이드가 며칠 후에도 'URL이 Google에 알려지지 않음' 상태였습니다.
- 할당량 추측 실패. 처음에는 하루에 약 4개의 요청이라고 가정했지만 실제로는 약 10개였습니다. 11번째에서 '할당량 초과'가 반환됩니다.
- 하루 첫 번째 요청 실패 '문제가 발생했습니다' 오류와 함께. 재시도가 통과되었습니다.
- 큐 분실. 임시 폴더에 보관된 115개 URL의 Bing 목록이 세션 재시작 시 사라져서 sitemap에서 다시 구축했습니다. 큐는 저장소에 보관하세요.
- 큐가 할당량보다 김. 바쁜 하루 후, 115개의 URL이 100개의 Bing 슬롯을 기다리고 있었습니다. 우선순위 순서가 무엇을 먼저 보낼지 결정했습니다: 영어와 중국어의 새 게시물, 번역본은 그 다음.
- 세션에 브라우저 없음. Search Console과 Bing에는 브라우저가 필요합니다. IndexNow는 필요 없습니다. IndexNow를 실행하고, 차이를 기록한 후 다음 세션에서 따라잡으세요.
- 202, 그다음 200. IndexNow가 새 키로 첫 번째 제출에 202를 응답하고 이후에는 200을 응답했습니다. 둘 다 성공입니다.
- 번역이 할당량을 소진함. 441개의 sitemap URL 중 약 392개가 번역본이었습니다. 수동으로 모두 제출하면 새 도메인이 거의 색인하지 않는 페이지에 며칠 분량의 할당량을 소모합니다.
관련 스킬
- seo-page: 이 스킬이 색인할 페이지를 구축합니다.
- programmatic-pages: 많은 URL을 한 번에 제공합니다. 큐 우선순위가 가장 중요합니다.
- multilingual-seo: 게시 및 먼저 제출할 로케일, hreflang.
- competitor-pages, trend-keywords: 큐의 앞쪽으로 가는 시간에 민감한 페이지.
- keyword-research: 어떤 페이지가 존재할지 먼저 결정합니다.
- ai-search: AI 크롤러를 위한 llms.txt 및 robots.txt; Bing의 인덱스는 Copilot에도 공급됩니다.
- seo-daily-report: 색인된 항목과 내일 대기 중인 항목을 보고합니다.