구글 검색 색인 자동화 - Web Search Indexing API

힘센캥거루
2025년 12월 13일(수정됨)
2
nextjs

지난번 IndexNow에 이어, 구글도 자동화를 해보기로 했다.

찾아보니 구글은 API로 Web Search Indexing이라는 걸 지원하고 있었다.

구글 검색 색인 자동화 - Web Search Indexing API-1

1. 허용범위

구글 검색 색인 자동화 - Web Search Indexing API-2

공식적으로 해당 API가 지원하는 범위는 채용공고와 스트리밍 영상 서비스이다.

실시간이 중요한 내용에 대해 색인을 생성하기 위함이라고 하는데, 찾아보니 일반 블로그도 죄다 요청 넣는 중인 것 같다

2. 클라우드 콘솔, 서치콘솔에서 API 설정하기

인덱싱용 API 라이브러리도 구글 형님들이 친절하게 만들어 두셨다.

만들 생각하지말고 그냥 갖다 쓰자.

이 라이브러리를 이용해 사이트 색인 생성을 하려면 먼저 인증이 이루어져야 한다.

아래의 주소로 들어가 서비스 계정을 하나 만들어주자.

구글 검색 색인 자동화 - Web Search Indexing API-4

그리고 해당 계정의 email 주소를 따서 서치콘솔의 설정 -> 사용자 및 권한 에 넣어주자.

구글 검색 색인 자동화 - Web Search Indexing API-5

아래 사진에서는 권한이 전체로 되어 있는데, 반드시 소유자로 등록해주어야 한다.

구글 검색 색인 자동화 - Web Search Indexing API-6

그리고 다시 서비스로 돌아와 json 키를 하나 발급하면, 대략적인 준비는 끝난다.

구글 검색 색인 자동화 - Web Search Indexing API-7구글 검색 색인 자동화 - Web Search Indexing API-8

3. 서버에서 요청 날리기

공식 문서의 기본 요건 에서 최 하단에 있는 코드를 이용해 만들어보았다.

역시나 지피티 큰형님의 손길이 닿아있다.

import key from "@/utils/seo/다운받은json.json";
import { google } from "googleapis";

type IndexingType = "URL_UPDATED" | "URL_DELETED";

export async function publishIndexing(url: string, type: IndexingType = "URL_UPDATED") {
  const jwtClient = new google.auth.JWT({
    email: key.client_email,
    key: key.private_key,
    scopes: ["https://www.googleapis.com/auth/indexing"],
  });

  await jwtClient.authorize();

  const indexing = google.indexing({ version: "v3", auth: jwtClient });

  const res = await indexing.urlNotifications.publish({
    requestBody: { url, type },
  });

  return res.data;
}

이제 이걸 각각의 API 앤드 포인트에 IndexNow와 함께 적용해 주었다.

그럼 이제 글을 쓰기만 하면 등록은 자동으로 이루어지는 것.

디버깅용 콘솔을 직어보니 잘 작동한다.

구글 검색 색인 자동화 - Web Search Indexing API-9

4. 후기

개인이 만들어쓰는 블로그를 운영하려고 하니 신경쓸게 많다.

보안문제와 해킹, 그리고 새로운 기능 만들기 등...

생각해보면 그냥 워드프레스를 깔고 모듈들을 사는게 맘편하긴 하지만, 이렇게 하나씩 만들어가는 재미도 있는 듯 하다.

앞으로도 많은 기능들을 만들어 보고 싶다.

댓글을 불러오는 중...