
Security News
AGENTS.md Gains Traction as an Open Format for AI Coding Agents
AGENTS.md is a fast-growing open format giving AI coding agents a shared, predictable way to understand project setup, style, and workflows.
hexo-seo-autopush
Advanced tools
每天中午 12 点推送一次网站信息到 Baidu 和 Bing,提高爬虫抓取几率
可手动点击star
触发 Actions
简述一下整个流程。
以bing
搜索引擎为例,插件运行以后会生成两个文件,一个是.github/workflows/HexoSeoAutoPush.yml
的Github Action
配置文件,一个是bing.json
存放需要推送的url
。我自己只推送给了bing
引擎,其他引擎若有细微区别,请自研。这些都会生成在打包的文件当中,最终会被推送到部署分支。HexoSeoAutoPush.yml
会读取部署分支的bing.json
的内容然后进行推送。因此注意到一件事情,不管是每天自动触发,还是手动star
触发的Action
,都需要保证HexoSeoAutoPush.yml
位于项目的默认分支才能生效。结合起来可以知道,部署分支必须是默认分支才能使得插件生效。问题来了,不是每个人的部署分支都是默认分支。比如我的默认分支就是源代码分支,部署分支就是普遍的gh-pages
。
那该如何解决这个问题呢?留意到actions.js
中使用了actions/checkout@main来checkout
一个仓库,但是没有添加部署分支的相关属性,默认这里是checkout
默认分支,和上面对应。得知这一点以后,顺理成章加上部署分支deployBranch
的相关逻辑,彻底将部署分支和默认分支区别开。这样最终的使用方法就明确了。在打包文件中生成HexoSeoAutoPush.yml
以后,手动将他拷到默认分支的.github/workflows/
中。记得如果有时间周期、提交数目或者部署分支的改动以后,请同步此文件到默认分支。其他使用方式同原插件不变。
npm install hexo-seo-autopush --save
# enable: 开启/关闭 推送
# cron: 执行时间周期
# deployBranch: 部署分支
# count: 每次提交最新的10篇文章,输入0或者不填写则默认为所有文章(建议是最新的10篇文章)
# date: 更新时间(updated)|创建日期(created)
# https://github.com/Lete114/hexo-seo-autopush.git
hexo_seo_autopush:
cron: 0 4 * * *
deployBranch:
baidu:
enable: true
date: created
count: 10
bing:
enable: true
date: created
count: 10
google:
enable: true
date: created
count: 10
由于生成的 actions 是在.github/workflows/HexoSeoAutoPush.yml
,点开头的文件或文件夹都会被视为隐藏文件,所以 hexo 不会将隐藏文件部署到 pages,需要新增配置ignore_hidden
deploy:
type: git
repo: https://github.com/<username>/<project>
# example, https://github.com/hexojs/hexojs.github.io
branch: gh-pages
ignore_hidden: false # 忽略隐藏文件及文件夹(目录)
Name | Value | 说明 |
---|---|---|
baidu_token | UlxxxxxxxxxxxxxB9 | 【必填】Value 输入百度的 token |
bing_apikey | 47xxxxxxxxxxxxx91 | 【必填】Value 输入必应的 apikey |
google_private_key | xxxxxxxxxxxxxxxxx | 【必填】Value 输入谷歌的 private_key (注意:填写的时候需要使用双引号包起来,如: "private_key" ) |
google_client_email | xxxxxxxxxxxxxxxxx | 【必填】Value 输入谷歌的 client_email |
打开百度站长平台,点击左侧的普通收录https://ziyuan.baidu.com
如果账号中没有项目, 点击创建项目
, 创建完项目后继续下面的操作.
点击下一步
, 开启
即可.
开启完成就是这样, 感觉像是卡住了.
点击创建凭证
, 点击服务账号
.
输入
服务账号名称, 然后直接点击完成
,
点击刚刚创建的服务账号
点击密钥
标签, 点击添加密钥
, 点击创建新密钥
.
选择JSON格式, 点击创建
, 然后JSON格式的密钥就会自动下载到电脑中.
json文件内的内容,
以下信息已经过修改,并且已删除相关的申请,仅用于参考
其中
private_key
和client_email
是该项目需要的,注意在GitHub中的Secrets名为,
google_private_key
和google_client_email
{
"type": "service_account",
"project_id": "elated-guild-298003",
"private_key_id": "cf58d669c0e8c8e082b2c403ade5e2548078e384",
"private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDEAJw89yeylRrA\nB+bzOAfQQNgOCABIwEKCy5mMxWSaiXy2RktyCJWjMR2Pgz770NJgClQHPJjsFn0c\nukHufpnuiX3VPlimLANPCRFdU/qp+yiaw4quIhYF1UZJkhmhL30anghUcvi+r9hQ\nw+RwcKrgA4EUzqUJaPdvjtzSoo315PPGfR91ASD5S8gE02yVI8igtYMX7v2x1JYR\n7PwHJwOVemiM9lot8ilvoUbV4BU0vSlwFoxKMJAbEXTmJjEKQi9992rcMW0GzXO8\ncHldUUtURXkt3VFjYTH27KhHiTkTXw+uZRBu1rkubDJkS8lGIWN7Fc/r4HMMCVTu\nXPS6HbJ/AgMBAAECggEANSS7OBaFd3jRL3cVCiZLjA5A5pEJzq/+eKtOn2oYDISx\nwVRO+YTVWdGj47kg1zM4D11NikbGaeDxHFxuKwW9o/04lpyYebneTcw2Hpl6EiOs\nz0WssOlCEmPQ8nrAI0GWiKSHuqoPwtg37TIoGsqZsjKRCby759DDokZYnm3/0sc+\niEllT0ZyBZhGDzyguVLEdCIR2P02q/hQzLyd6ejWGGwZebImbGoILhmuOjVrco0p\nV0JbrrNskjM5Epe7w+CpGftEASJ7Dxa8oj0qIT6cyAipra2AZAGnG9jrLcWpJuhu\nvNeDIFnTfpNEac+khXZZE2++MIQfTX9wGJc8tox2vQKBgQD6yiNvAL7sxExiy6ER\ntLtFQ3bvmMpKRFGvFOyPOtMbmjZ3D1GEtNNKGH4v1TI+tncEy7Q5Dm7nWwpi8yvL\nbh8xKghelAc/CU1nw0xDEDCkMbAwpFg5A5ZDImy3LZsQh0kNXniIMy1vMSt5yLKS\n80gXQKGCxG8t3rP8Qd/2a55g1QKBgQDIExP1nG9sHJaigmitEUwr0Ow6Shqr56Me\nd7995gaV1oLWWCQzrXt/viWkb1W5ZGIxzcWNWz99m4CbvqfewRr598Eenald0csN\nVcIEk+0C+6KqA+jU9Tfs2zow/C7JuKULP2N++o0EoSz/ngokP7f1yLOYbr507v/R\n0cLElQBQAwKBgAbxDWYHKUG4dTzO0hiBXiWepm4fVooTtgcYlyunvywmapeFDwaT\nUr3cS7HbPtbJiiXR1Z02rw8sT+9JN88brzVXKoAjrMer5D6ZA0Vf71i8H1pZUi/R\nz5jwHP48/uvIMtdx4/gxInLPc5qdWYQDw90Q5ueNtF4aqfSzhhV2CR45AoGBAJN9\nPOF6iMjx6jmyWOf8MGK8iOgPaMoA4Ea9j/SHdaNPlvPb1hQid0AcNDObv14Dmj+M\nqW0jLxKxZ4VobufPAsvyz/J51zjKRx11cqldQwNH7QnYB/O1MZzxn1wtC3C5JTG9\ncONSYFJhXoKxRliigEI3ye089jnNVdifAS1ZiflxAoGBANTX1fEMEeNuYU0v3rtd\n5CkPZg4TNZ+y2MGl5xR1LdIgrJ8c9xKoW4rpp7SsOIvHpWX494f90D7o9uFEGSQ4\nyQK53jVzJ0ekGV5BdPF3n3/2j2VEqFLHi7LL4CJSxr6ci7OfBoHOGE8odhevQCCK\njnFzEin0QsBEgIC73fBh6XcH\n-----END PRIVATE KEY-----\n",
"client_email": "googleindexing@elated-guild-298003.iam.gserviceaccount.com",
"client_id": "103034240916368863393",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/googleindexing%40elated-guild-298003.iam.gserviceaccount.com"
}
打开谷歌站长, 选择
需要设置的网站, 点击设置
, 点击用户和权限
, 点击添加用户
.
电子邮箱地址: json文件中的client_email字段
权限: 选择拥有者
, 选择完整
GitHub执行时会报权限错误.
google_private_key: json文件中的private_key字段, 填入时要带双引号 google_client_email: json文件中的client_email字段, 填入时不带双引号
由于谷歌常更新页面, 所以如果以上操作出现问题, 可参考官方教程, 不过官方教程也不是完成100%跟页面同步的.
使用 Indexing API 的前提条件 | Google Developers
取消Star, 再点击Star, 触发自动提交.
点击Actions, 查看执行情况.
如果返回更新内容, 就说明成功了.
# 百度的
{"remain":2990,"success":10}
# 必应的
{"d":null}
# 谷歌的
Google response: {...}
打开百度站长, 选择对应站点, 选择普通收录中的数据反馈.
看到当日API提交有值, 说明成功了. 但是这个页面好像有延迟, 不是GitHub Action那么指定完这个页面就能刷出来结果.
打开Home - Bing Webmaster Tools, URL提交
标签
有提交信息说明成功了.
在Google Cloud Platform 中查看.
错误率只要不是100%, 就说明成功了.
FAQs
Daily automatic submission of urls to baidu and Google bing
The npm package hexo-seo-autopush receives a total of 139 weekly downloads. As such, hexo-seo-autopush popularity was classified as not popular.
We found that hexo-seo-autopush demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
AGENTS.md is a fast-growing open format giving AI coding agents a shared, predictable way to understand project setup, style, and workflows.
Security News
/Research
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
Security News
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.