배포 즉시 검색 엔진에 알리는 IndexNow 자동 핑 구축
목차
IndexNow 키 파일을 퍼블릭 디렉토리에 심고, 배포 스크립트에 핑 단계를 붙였다.
작은 커밋이지만 "검색 엔진이 새 콘텐츠를 언제 알게 되느냐"는 운영 관점에서 꽤 중요한 포인트라서 정리해 둔다.
배경: IndexNow가 왜 필요했나
전통적인 SEO 플로우는 검색 엔진 크롤러가 알아서 방문해 주길 기다리거나, sitemap.xml을 제출해 두는 방식이다. 문제는 크롤 주기가 들쭉날쭉하다는 것. 사이트 권위도가 낮거나 업데이트 빈도가 불규칙하면 새 글이 올라가도 인덱싱까지 며칠씩 걸리는 경우가 흔하다.
IndexNow는 Bing, Yandex 등이 지원하는 프로토콜로, 콘텐츠가 바뀐 URL을 검색 엔진에 직접 "푸시"해 주는 방식이다. 크롤러를 기다리지 않고 내가 먼저 알린다는 개념이라 배포 파이프라인에 붙이기에 딱 맞는다.
핵심은 도메인 소유권 인증인데, 그게 바로 public/0a50a929c1db87e67a3553aa28f9032e.txt 파일이다.
변경 내용
| 파일 | 역할 | 변경 의미 |
|---|---|---|
public/0a50a929c1db87e67a3553aa28f9032e.txt |
IndexNow 키 파일 (도메인 소유권 인증) | 검색 엔진이 job.hedvion.com/0a50a...txt를 조회해 키 일치 여부 확인 |
publish.sh |
배포 자동화 스크립트 | 빌드·업로드 이후 IndexNow API에 핑을 날리는 단계 추가 |
키 파일은 파일명 자체가 API 키 역할을 한다. 검색 엔진 쪽에서 GET https://job.hedvion.com/{key}.txt 요청을 보내 파일 내용과 키가 일치하는지 검증하는 구조다. 파일 내용은 단순히 키 문자열 한 줄이면 충분하다.
0a50a929c1db87e67a3553aa28f9032e
publish.sh 쪽에 붙인 핑 단계는 대략 이런 패턴이다.
# publish.sh 마지막 단계 (패턴 예시)
echo "▶ IndexNow ping..."
curl -s -o /dev/null -w "%{http_code}" \
"https://api.indexnow.org/indexnow?url=https://job.hedvion.com/&key=0a50a929c1db87e67a3553aa28f9032e"
echo " done"
배포가 끝나는 시점에 자동으로 핑이 나가니까, 글을 올리고 나서 수동으로 뭔가를 더 해야 하는 번거로움이 사라진다.
이 작업을 배포 스크립트에 붙인 이유
팀 리딩 관점에서 SEO 관련 작업은 우선순위를 뒤로 미루기 쉽다. 당장 기능이 돌아가는 것도 아니고, 효과가 즉각적으로 눈에 보이지 않기 때문이다. 그런데 이런 "느린 배관" 작업을 미루다 보면 나중에 "왜 콘텐츠가 안 잡히냐"는 질문이 날아온다.
내가 이걸 publish.sh에 직접 집어넣은 이유는 두 가지다.
- 자동화 경로에 박아야 잊지 않는다. SEO 핑 같은 건 별도 문서나 체크리스트로 남기면 어느 순간 흐지부지된다. 배포 스크립트가 곧 런북이다.
- 핑 실패가 배포를 막으면 안 된다.
curl -s -o /dev/null처럼 결과를 조용히 처리하고, 핑 단계에서 에러가 나도 스크립트 전체를 멈추지 않도록 구성해야 한다. IndexNow API가 일시적으로 내려가더라도 배포 자체는 완료되어야 하니까.
짧은 회고
변경 파일이 두 개, 라인 수도 얼마 안 되는 커밋이지만 효과는 꽤 선명하다. 키 파일 한 장 + 스크립트 몇 줄로 "배포하면 검색 엔진에 즉시 알린다"는 루프가 완성된다.
SEO를 개발 후순위로 두는 팀이 많은데, 적어도 이런 인프라 레벨의 설정은 초기에 박아 두는 게 낫다. 나중에 "왜 색인이 이렇게 느리냐"를 디버깅하는 시간이 훨씬 비싸다.
끝.
🛒 이 글과 어울리는 추천 상품
*위 링크는 쿠팡파트너스 활동의 일환이며, 일정액의 수수료를 제공받을 수 있습니다.
댓글 0
첫 댓글 달아줘.