使用Google-indexing-api 加速索引

3个月前

网页想要 google 收录, 需要在 Google-Search-Console 里面手动提交索引请求, 然后 Google 会记录链接, 稍后派出爬虫抓取网页.

对于页面比较少的网站, 手动提交一下也不会花太多的时间, 但是对于经常更新, 或者链接比较多的网站, 则需要考虑用 google-indexing-api 来批量提交索引请求.

这个过程中, 踩了不少坑, 特意记录一下.

准备工作

在使用 indexing-api 之前, 我们需要准备一些资料, 参考
使用 Indexing API 的前提条件
简单总结一下, 就是去 google-cloud 的云服务平台, 创建项目, 启用 API, 注册服务号并设置密钥.
这里官方的文档流程不够全, 建议看我的流程.

1.1 创建项目与服务号

先打开 https://console.cloud.google.com/iam-admin/serviceaccounts?hl=zh-cn
然后在顶部选择项目, 没有项目的话, 可以新建一个项目.
image.png
新建完项目后, 切换到该项目工作区下, 从左侧菜单切换到 服务账号页面.
image.png

从顶部创建一个新的服务账号, 名称可以自己写, 按照 google 的文档说法, 只需要确定名称之后, 后面 2-3 步的服务帐号权限(可选), 可以直接跳过.

当服务账号创建成功后, 可以在列表中看见它, 此时密钥 ID 的属性是空的, 我们需要点击左右侧的操作对应的图表(三个点), 然后选择"管理密钥", 在管理密钥页面, 点击添加密钥->创建新的密钥, 格式选择 JSON, 创建完成后会自动下载一个 JSON 文件(注意, 这个文件只会下载一次, 因此我们要好好保存, 后面会用到).

1.2 启用 API

直接在 项目的页面中, 点击 "GoogleCloud"的图标, 进入项目的主页, 这里注意到下面有快速访问
image.png
我们点击 "API 和服务", 在 "已启用的 API 和服务" 中, 选择 "启用 API 和服务"
image.png
然后能看到一堆可以选择的 API, 这里我们要启用两个, 直接用搜索搜 "Web Search Indexing API" 和 "Google Search Console API" 并启用
image.png

在 Google 官方的文档里面,第一步就是启用 search-indexing-api , 但是没有启用 google-console-api, 会导致后面我们没有 google-search-console 的权限从而导致 indexing-api 执行失败.

绑定服务号至 GSC

我们复制一下刚才创建密钥的服务号 对应的电子邮件.

然后打开 https://search.google.com/search-console (这是 google 的网站管理中心, 如果我们是第一次打开的话, 建议先按照提示, 绑定网站并完成验证, 可以参考我的其他文章)

然后在设置中, 选择 用户和权限, 点击添加 用户, 权限为 拥有者.

这样, 我们注册的服务号就有权限访问 Google-Search-Console(GSC)的数据了. (上面我们没有启用 search-console-api 的话, 这里只是绑定用户了, 也还是会出错).

使用 Google-Indexing-Script

当我们准备好服务号, 启用 API 并在 GSC 中添加服务号为拥有者之后, 去 Github 上 clone 项目 https://github.com/goenning/google-indexing-script
这是别人封装好的调用 indexing-api 的脚本, clone 项目到本地后, 安装依赖

然后把刚才下载的 密钥 json 复制到项目根目录, 改名为 service_account.json, 然后按照文章所说, 执行指令

npm run index xxx.com

即可调用脚本自动抓取 url 并提交 google 索引 (PS: 这里抓取链接是通过读取 sitemap.xml, 因此最好在网站根目录下准备好 sitemap.xml 并提交到 google-search-console 里)

总结

使用 indexing-api 可以快速帮助 Google 收录我们的网页, 如果我们不做这个的话, 等着爬虫自己去抓取, 按照现在的网站数量, 可能要不断地时间. 而用 indexing-api, 可以批量的提醒 google, 我们的网页更新了, 快来抓取把, 通常提交索引请求的 2-3 天内, google 便会用爬虫抓取新的网页. 当然只是收录, 要想在搜索结果中获取好的排名(权重), 还需要做更多的事情.