谷歌搜索索引自动化 - Web Search Indexing API

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

继上次搞完 IndexNow 之后,也决定在谷歌这边做一下自动化。

查了一下,发现谷歌是通过一个叫 Web Search Indexing 的 API 来支持这个功能的。

谷歌搜索索引自动化 - Web Search Indexing API-1

1. 适用范围

谷歌搜索索引自动化 - Web Search Indexing API-2

官方文档中,这个 API 正式支持的范围是招聘公告和流媒体视频服务。

说是为了给对实时性要求高的内容创建索引用的,但搜了一圈发现,一般的博客们好像也都在疯狂发请求。

2. 在 Cloud Console、Search Console 中配置 API

用于索引的 API 库,谷歌大哥们也已经贴心地帮我们做好了。

别想着自己造轮子了,直接拿来用就行。

要使用这个库来为站点创建索引,首先需要完成认证。

先通过下面这个地址进去,新建一个服务账号。

谷歌搜索索引自动化 - Web Search Indexing API-4

然后复制该账号的 email 地址,到 Search Console 的“设置 -> 用户和权限”里添加进去。

谷歌搜索索引自动化 - Web Search Indexing API-5

下面这张图里权限是“全部”,但这里一定要注册为所有者

谷歌搜索索引自动化 - Web Search Indexing API-6

然后回到服务账号那里再发一个 json 密钥,基本的准备工作就完成了。

谷歌搜索索引自动化 - Web Search Indexing API-7谷歌搜索索引自动化 - Web Search Indexing API-8

3. 在服务器端发送请求

我是用官方文档中基本要求最底部的那段代码来写的。

果不其然,这里也沾了 ChatGPT 大哥的光。

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;
}

现在把这玩意和 IndexNow 一起挂到各个 API endpoint 上就行了。

这样以后只要写文章,收录就会自动完成。

开个调试用的 console 看了看,运转良好。

谷歌搜索索引自动化 - Web Search Indexing API-9

4. 后记

要运营一个自己搭的个人博客,要操心的事情还真不少。

安全问题、被黑,还有开发新功能之类的……

想想其实直接装个 WordPress 再买些模块会省心很多,但这样一点点自己做出来也挺有意思的。

以后也想继续做出更多功能来试试。

댓글을 불러오는 중...