【长线程】你也可以自己实现一个用于SEO的 Keyword Generator
写SEO文章之前,要做关键词研究,找出搜索量大、竞争度低、高价值的词,再针对的写SEO文章能更高效的获取流量
Google Ads提供了keyword planner功能,而且还提供了API,可把它放到自己的自动化SEO流程中,或给你的网站增加关键词研究工具👇 https://x.com/ShawnHacks/status/1962379285332938976/photo/1

具体如何做呢?这个API使用上还是相对有点复杂,我大概整理一下:
Google Ads API需要这些参数:
client_id
client_secret
refresh_token
developer_token
customer_id
涉及以下步骤: 创建Cloud项目、启用Ads API、配置OAuth 客户端ID和密钥、在Ads账号中授予API访问权限、授权获取Refresh Token等
详细的步骤:
1. 创建Google Cloud项目并启用Google Ads API:
在Google Cloud控制台中,创建一个新的项目或选择一个现有的项目。导航到“APIs & Services”>“Library”,搜索并启用Google Ads API。
2. 配置OAuth客户端ID和密钥:
在Google Cloud控制台中,导航到APIs & Services >Credentials,
点击Create Credentials,选择OAuth Client ID,
根据应用类型,选择Web Application或Installed Application,
填写必要的信息,例如应用程序名称和重定向URI,
保存client_id和client_secret,稍后需要用到
3. 在Google Ads账号中配置API访问权限:
在Google Ads账号中,确保已启用API访问,
并获取developer_token,具体参考:https://developers.google.com/google-ads/api/docs/get-started/dev-token
需要创建Manager账号,接口中用到的customer_id是该账号的ID,注意去掉‘-’ https://x.com/ShawnHacks/status/1962379300826673630/photo/1

4. 用户登录授权获取Refresh Token:
使用OAuth 2.0授权应用程序访问Google Ads账号。获取Refresh Token,并将其用于后续的API调用。
获取Refresh Token,你可以自己通过代码走正常Oauth2.0授权流程获取
或者采用Google提供的oauth playground来获取👇
使用https://t.co/dz7wKWIyWW在线获取
注意这里需要点右上角setting图标,配置你应用的Oauth credentials,包括client_id和client_secret;在你的cloud 后台Authorized redirect URIs中配置回调地址为playground的地址,然后在左边侧边栏按步骤操作 https://x.com/ShawnHacks/status/1962379308028293248/photo/1

Step 1: Select & authorize APIs 选择这个API “https://t.co/8SCfFT0fpg”,点击Authorize
Step 2:Exchange authorization code for tokens 点击Exchange authorization code for tokens
这样就可以获得Refresh Token了 https://x.com/ShawnHacks/status/1962379311446687899/photo/1

5. 配置Google Ads API客户端库,请求Keyword plan ideas接口
我用的是https://t.co/7XYtaexAqo,下图是关键代码
其中geoTargetConstants和languageConstants,这两个数据Google也是提供了的,但获取还是需要费一点心思,下方提供我处理后的数据 https://x.com/ShawnHacks/status/1962379314785349913/photo/1

目标位置geo target数据 Google提供了下载https://t.co/W8AkmQYzEq,但下载的csv文件包含了国家和城市,很大,我们一般只需要用国家就可以了,所以我处理了一下,只保留国家,你可以下载直接用
https://aranks.com/countries.ts.zip
Languages数据需要通过接口获取,核心代码如下:
const response = await customer.query(
'SELECT language_constant.id, language_constant.code, language_constant.name FROM language_constant'
);
同样提供我处理好的数据,你可以直接下载使用
https://aranks.com/languages.ts.zip
关键词研究这一步是我正在做的“自动撰写SEO文章”的前置步骤。
- 后面还会对关键词语义聚类,根据一定权重算法优选关键词
- 根据关键词生成文章时间计划
- 根据计划自动撰写SEO文章
- 自动或手动发布到集成的各种博客平台