IndexNow 설명 - 콘텐츠를 게시할 때 검색 엔진에 알림
배포 후 검색 엔진에 Push URL 업데이트를 전송합니다.
정적 사이트와 블로그는 배포할 때마다 변경됩니다. IndexNow를 지원하는 검색 엔진 은 다음 맹목적 크롤링을 기다리지 않고도 이러한 변경 사항을 학습할 수 있습니다.
이 페이지는 왜 이것이 중요한지, 프로토콜이 무엇을 하는지, 그리고 자체 자동화나 작은 Go CLI 에서 재사용할 수 있는 패턴을 포함한 실제 워크플로우에 이를 어떻게 연결하는지 설명합니다.

정적 또는 Hugo 사이트에서 IndexNow 를 사용하는 이유
Hugo 를 S3 나 유사한 서비스로 배포 하는 경우 이미 HTML 과 sitemap.xml을 배포하고 있습니다. 크롤러는 결국 사이트맵을 읽지만 타이밍은 당신의 통제권이 아닙니다. 마이그레이션이나 새 게시글 일괄 처리 후에는 “다음 주 어딘가"보다 신속한 색인을 더 중요하게 여깁니다.
IndexNow 는 푸시 (push) 채널입니다. 관심 있는 정준 URL 목록을 POST 합니다. 참여 엔진 (Microsoft Bing 포함 및 indexnow.org 에 나열된 기타 엔진) 는 해당 URL 을 가져오도록 우선순위를 높일 수 있습니다. 이는 좋은 URL 리디렉션이나 내부 링크를 대체하지는 않지만 git push 와 검색 엔진 인지 사이의 루프를 닫습니다.
IndexNow 가 하는 일
개념적으로 각 제출은 다음과 같은 JSON 을 포함하는 HTTPS POST 요청입니다.
host- 사이트 호스트명 (예:www.example.com)key- 미리 생성된 비밀 문자열keyLocation(선택 사항) - 기본 경로에 있지 않은 경우 확인 파일의 전체 URLurlList- 신호를 보내고 싶은 해당 호스트의 하나 이상의 절대 URL
엔진은 잘못된 키, 잘못된 호스트 또는 잘못된 페이로드를 거부합니다. 성공은 엔드포인트에 따라 일반적으로 HTTP 200 또는 202 입니다.
전체 규칙과 파트너 목록은 공식 사이트에서 확인할 수 있습니다. 중요한 정신적 모델은 텍스트 파일을 통한 도메인 소유권 증명과 키워드나 페이지 콘텐츠가 아닌 명시적 URL 목록입니다.
사이트 준비 방법
키 파일과 호스트명
- 키 선택 - 긴 랜덤 문자열을 선택하세요 (비밀처럼 취급).
- 게시 -
https://your-domain/<key>.txt에 키만 본문으로 (한 줄) 게시하세요. - 동일한 키 사용 - POST 할 때 CLI 또는 자동화에서 같은 키를 사용하세요.
- URL 제출 - 재크롤링을 원하는 해당 호스트의 URL(새 게시글, 업데이트된 페이지, 리디렉션 대상) 만 제출하세요.
많은 URL 을 한 번에 이동한 경우 경로를 일괄 알림할 수 있습니다. IndexNow 는 각 엔진의 제한 내에서 하나의 요청에 여러 URL 을 허용합니다.
URL 제출 방법
- 수동 POST - 디버깅에 적합하며 JSON 과 함께
curl을 사용합니다. - 플러그인 - 일부 CMS 와 호스팅 패널에는 IndexNow 토글이 포함되어 있습니다.
- 배포 스크립트 -
hugo와 업로드 실행 후 변경된 URL 목록이나 사이트맵 URL 을 가진 작은 이진 파일을 호출합니다.
Hugo 워크플로우의 경우 자연스러운 트리거는 “빌드 후"또는 “버킷 동기화 후"입니다. www와 아펙스 (apex) 를 포함하여 라이브 사이트와 일치하는 전체 HTTPS URL을 전달하세요.
작은 Go CLI (선택 사항)
구현할 수 있는 기능
페이로드가 작은 JSON POST이며 배포 스크립트에 연결할 수 있으므로 최소한의 Go 명령줄 도구가 IndexNow 에 적합합니다. 일반적인 디자인에는 다음이 포함됩니다.
- 하나 이상의 URL을 위치 인자로 사용
--sitemap을 사용하여sitemap.xml을 가져오고 모든<loc>을 제출 (선택적--limit포함)--engines를 통해 여러 엔진을 병렬로 사용 (예: 글로벌 애그리게이터를 위한indexnow또는 제공자별 엔드포인트)INDEXNOW_KEY,INDEXNOW_WEBSITE_URL,INDEXNOW_ENGINES와 같은 플래그 또는 환경 변수- 403 또는 422 응답 디버깅을 위한
-v옵션으로 상세한 출력
go build 또는 go install로 빌드하고 이진 파일을 PATH에 설치한 다음 게시 후 호출합니다:
indexnow --key YOUR_KEY --website https://www.example.com https://www.example.com/new-post/
배포 후 전체 사이트 새로 고침을 위해 --sitemap 옵션과 공개 사이트맵 URL 을 전달할 수 있습니다. 응답 코드와 엔진 목록을 자체 README 에 문서화하고 정적 배포를 트리거하는 것과 함께 배포 후 색인 셸 스니펫을 유지하세요.
Best LLMs for OpenCode - tested locally 게시물은 “Go 에서 IndexNow 알림기 구현"을 코딩 벤치마크로 사용했습니다 - 동일한 사양과 구조화된 작업을 다른 모델이 어떻게 처리하는지 보고 싶다면 유용합니다.
실용적인 팁
- 하나의 제출이 공유 인프라를 통해 퍼지도록 할 때는
indexnow엔진 타겟을 선호하세요 (여러 엔드포인트를 지원하는 경우 searchengines.json 을 확인하고 클라이언트에 해당 목록을 미러링하세요). - 429는 속도를 늦춰야 함을 의미합니다. 403은 일반적으로 키 또는 호스트 불일치를 의미합니다. 먼저 키 파일 위치나 호스트명을 수정하세요.
- IndexNow 는 경로를 변경할 때 301 리디렉션을 대체하지 않습니다. 리디렉션이 활성화된 후 알림을 보내세요.
관련 자료
- 웹 인프라 - 정적 사이트 배포 및 색인을 위한 전체 클러스터
- Best LLMs for OpenCode - tested locally - 이 프로토콜에 대한 실제 코딩 벤치마크 포함
- Hugo 사이트 AWS S3 배포 - 게시 후 후크가 적합한 배포 흐름
- 공식 프로토콜 - indexnow.org