hexo-submit-urls-to-search-engine 中文文档
序
hexo使用hexo-submit-urls-to-search-engine
插件后,可主动推送Hexo博客新链接至谷歌、必应、百度搜索引擎站长平台以提升网站收录质量和速度。本插件允许你向各大搜索引擎发送纯天然、植物饲养的索引编制请求,一劳永逸。
比如,现在我的一篇文章有时刚发布 5 分钟,即可在必应搜索到(这是最佳情况,不保证长期稳定)。看吧,这就是 hexo-submit-urls-to-search-engine
的威力。百度与谷歌略慢一筹。
这三大搜索引擎已占据 97% 的全球搜索引擎市场份额(包括元搜索引擎 多吉、Duckduckgo 等;使用 Bing 索引的雅虎、 Ecosia 等)。后期可能会加入向 Yandex(官方现仅开通重点页面提交)、360(目前官方没开通)提交链接的功能。另外我已向 360 、Yandex 提交了关于增加 API 提交接口
的建议。它们的反馈:
- 360,2020.7.3:感谢您的支持,我们记录下您的建议,转给给相关工作人员查看评估下
- Yandex,2020.8.15:Thank you for contacting and sharing your thoughts with us. I’ve added your suggestion to the list of ideas considered by our developers.
目录:
操作步骤
快速入门:
- 获取各站长平台密钥
- 安装并配置
hexo-submit-urls-to-search-engine
插件 hexo clean && hexo g && hexo d
,并查询推送结果- 如果推送成功,前往 Github 地址点击 Star 按钮以支持
- 顺便 watch Github 项目获取插件升级提醒
- 还可以点此去打赏
获取站长平台密钥
本节所“记下”的密匙均填写至 hexo 的 _config.yml
,格式在后文给出。
关于验证网站:有的 Hexo 主题支持添加站长平台 html 验证标签,填写有关设置后hexo g && hexo d
即可验证。通用详细操作步骤请自行 谷歌 / 百度 :hexo 站长平台 验证
百度
- 注册、登陆百度搜索资源平台( https://ziyuan.baidu.com/ )
- 用户中心,站点管理,添加网站
- 搜索服务,普通收录,API提交,记下下方接口调用地址的【百度站长平台中注册的域名,密匙】:
http://data.zz.baidu.com/urls?site=https://cjh0613.github.io&token=密匙
,这里即【 https://cjh0613.github.io ,密匙】
另外,github.io
2020.9月前就被特殊照顾了,建议自行购买顶级域名使用。
必应
必应站长平台有新旧之分。
- 注册、登陆必应新站长平台( https://www.bing.com/webmasters )
- 添加网站
- 进入网站管理页面,设置,API 访问,API 密钥 ,记下 API 密匙
(近期必应站长平台升级,服务器、版面不稳定,如果无法显示 token ,可以过段时间再试)
这是从必应旧站长平台获取的示意图:
谷歌
谷歌站长平台也有新旧之分,但两站关系没有必应处理得好。另外,我们使用的 Google Indexing API 不是站长平台提供的,而是隶属 google developers 谷歌开发平台。过程中,您可参考官方文档(中国内地可访问)进行配置。
使用步骤:
- 打开官方文档,按提示创建项目、创建服务帐号。只需要按提示在网站进行配置操作即可,不需要完成获取访问令牌等后续操作
- 您仅按谷歌官方文档在 Google 新的搜索控制台 中添加权限邮箱还是会提示无权限。请转到 旧的网站站长工具 ,点击您的网站,把邮箱地址添加到其中
- 将获取到的 json 密匙文件放于 hexo 根目录(与hexo _config.yml文件位置相同)
谷歌旧的网站站长工具:
另外,其官方文档中有如下提示,请根据实际情况决定是否启用向谷歌提交链接的功能:
目前,Indexing API 只能用于抓取包含
JobPosting
或BroadcastEvent
(嵌套于VideoObject
)的网页。对于包含很多短效网页(如招聘信息或直播视频)的网站,Indexing API 会通过为不同的内容分别推送更新,使搜索结果中的内容保持最新状态。
配置hexo
安装本插件
请在 hexo 根目录运行:
当然,在大中华地区使用
cnpm
下载速度更快
1 | npm install --save hexo-submit-urls-to-search-engine |
本插件也支持yarn
安装:
1 | yarn add hexo-submit-urls-to-search-engine |
编辑hexo的_config.yml
hexo-submit-urls-to-search-engine
配置 hexo-submit-urls-to-search-engine
插件,将下方粘贴至 hexo 的_config.yml
。
1 | hexo_submit_urls_to_search_engine: |
2020.7.12 更新本节注释,感谢 liuyib 提供建议
2021.5.12 添加 google_proxy
完成上述配置后,你在 Hexo 根目录下运行 hexo generate
指令时,会生成一个 .txt
文件来存储要推送的链接。
您可以打开此文件查看链接是否正确,如不正确,请访问 hexo 的 _config.yml
进行配置。您也可以手动修改此 .txt
文件后再推送链接。
deploy
如果您之前没有添加过 deploy:
配置项,直接将下方粘贴至 hexo 的 _config.yml
,覆盖默认的 deploy:
配置项。
1 | deploy: |
完成这一步之后,运行 hexo deploy
命令时就可以自动推送链接至搜索引擎了。
- 您必须运行
hexo deploy
或hexo d
命令以触发推送,无论您之前是否使用这条命令进行部署。
当然此前您需要运行 hexo generate
生成最新的 .txt 文件来存储要推送的链接。
如果可以推送成功,烦请至Github仓库 Star 支持一下,谢谢!
如果已设置过 deploy:
配置项,直接粘贴上述代码块会提示 配置冲突,直接在已有 deploy:
配置项下添加即可。如:
1 | deploy: |
注意:上面每个 type:
前都有 -
持续集成支持
本节为 hexo 存放于公开仓库,且使用 CI (持续集成,如 Github action, travis, coding-ci, netlify 等)编译发布的部署方式提供参考。
百度、必应可利用环境变量记录密匙,谷歌有其他解决办法,参见下文
- 请先在
hexo_submit_urls_to_search_engine:
的配置项baidu_token:
与bing_token:
处填写0
- 设置环境变量
BAIDU_TOKEN
,BING_TOKEN
,值为已获取的token
- 如果您使用 Github Action ,还需在
yml
文件中设置环境变量,下方有例子 hexo clean && hexo generate && hexo deploy
享受生活
参考:
1 | hexo_submit_urls_to_search_engine: |
Github Action ,还需在 yml
文件中设置环境变量:
1 | - name: xxxx #随便填 |
至于用境外 CI 推送链接至谷歌,json
密钥文件里信息那么多,复制粘贴设置环境变量……咳咳。我将json
密钥文件放入一个私有仓库, 再 clone ,复制到根目录下解决。
1 | hexo generate |
完美!
插件升级
插件升级提醒
您安装本插件后,请从 Github watch 本项目,以获得插件升级提示(选择 Releases only 仅获取升级提示,选择 Watching 还会推送 Issues ,Pull requests 等,通过电子邮件发送)
升级操作
请在 hexo 根目录运行:
当然,在大中华地区使用
cnpm
下载速度更快
1 | npm install --save hexo-submit-urls-to-search-engine@版本 |
我之前给出的是另一个命令:npm update --save hexo-submit-urls-to-search-engine
,但我实测时出现了问题。
yarn
升级:
1 | yarn add hexo-submit-urls-to-search-engine@版本 |
不兼容升级
1.x.x升级至2.x.x:
您需要给hexo_submit_urls_to_search_engine:
配置项添加以下三个配置项:
1 | replace: 0 # 是否替换链接中的部分字符串,可选值:1 | 0(0:否;1:是) |
好吧,我发现这次升级是向下兼容的,即使没有这三个配置项也不会报错……
返回信息
成功推送信息
必应
1 | Bing response: { d: null } |
百度
1 | Baidu response: {"remain":2999,"success":1} |
谷歌
1 | Google response: { urlNotificationMetadata: |
其他
其他返回可参考它们的官方文档,但一般翻译一下返回就知道原因了。
有时是因为搜索引擎每天只允许提交一定数量的链接。可登陆它们的官网查询。我站点域名cjh0613.github.io
换为 cjh0613.com 后,必应配额 10 条,连续推送 10 天后,配额突然从 10 变为 10000。
若部分链接推送失败请人工处理:根据反馈来修改保存提交链接的 txt (一般把成功推送的链接去掉),然后只运行 hexo deploy
重新推送,不必重新生成网站。
如果想每天向搜索引擎推送链接,每天运行hexo d
即可,也可以设置 Github Action 每天运行hexo g && hexo d
,不必重造轮子。
查询结果
查询索引
以查询本站索引为例,打开任一搜索引擎,输入 site:域名
,这里即:
1 | site:cjh0613.github.io |
搜索即可。
新站索引量 0→1 需要的时间可能很长,也许一个月……请耐心等待
实际收录速度还与其他因素有关,网上 SEO 资料很多,但都是以官方说明为中心的,可参考 [转]搜索引擎优化[SEO]新手官方指南,我也写了一篇 Hexo搜索引擎优化[SEO]
查询推送记录
必应
可登陆必应新站长平台查到详细的推送链接列表(实时更新):
1 | https://www.bing.com/webmasters/submiturl?siteUrl=你的网站链接 |
也可以从必应旧站长平台进入
百度
登陆百度搜索资源平台( https://ziyuan.baidu.com/ ),搜索服务,普通收录,数据反馈,仅可在给出的图中查看到过去一段时间中,每天的推送数量,且延期更新。由于百度与此相关的具体期限不确定,您实际最快在第t+1
天、最慢在第t+3
天才可以看到第t
天的推送链接数。
谷歌
仅可在下方地址“错误”表格中查到一段时间内(最多近30天)累计推送链接数量及失败推送所占百分比(实时更新),虽然给了每天提交数据图,但相当于没给……
1 | https://console.developers.google.com/apis/api/indexing.googleapis.com/metrics?project= |
我开发的参考资料
推送至百度的代码参考自插件:hexo-baidu-url-submit。如果您之前使用该插件,现在可以停用它了。它另外提供向熊掌推送的功能,但百度熊掌已经关闭。百度将熊掌推送升级为“快速收录”,如您有需求,且您网页满足要求,可以使用此功能,请至issues/8投票,我视人数决定;或提交 Pull Request。
本站还有许多与此相关的文章,比如使用 python 从 sitemap 获取链接推送,您可至归档页点击查看,也可使用右上角搜索查找您感兴趣的内容。
下方整理不全……有些没来得及记录,还参考了我之前写的文章及它们的参考资料。