/www/wwwroot/blog.ybyq.wang/usr/plugins/AMP/templates/MIPpage.php on line 33
">

Typecho博客文章自动推送到百度收录最新版插件

2025-04-20T00:46:00

Typecho博客文章自动推送到百度收录

本文介绍如何在Typecho博客中实现文章自动推送到百度收录的功能,包含最新的配额管理和分批处理功能。

开发背景

  • 很简单,网上的插件用不了,最新的也是2022年的,我的云服务器操作系统是Centos stream 9,所以就自己做一个插件,
    文章发布完提示自动提交后,百度收录的数据反馈并不会立马刷新,一般是一天后。

1. 准备工作

1.1 开启伪静态

  1. 登录Typecho后台
  2. 进入"设置" -> "永久链接"
  3. 选择"启用地址重写功能"
  4. 选择"自定义文章路径",支持以下格式:

    • /{slug}.html
    • /{category}/{slug}.html
    • /archives/{slug}.html
    • /archives/{cid}/
  5. 保存设置

1.2 安装插件

  1. 下载插件文件:
    在我的github中,文章末尾有地址
  2. 在Typecho的插件目录下的文件夹:

    usr/plugins/BaiduPush/
    ├── Plugin.php
    └── baidu-push.php
  3. 刷新Typecho后台,在插件列表中启用"百度推送"插件
  4. 在插件设置中配置:

    • 网站地址
    • 百度推送Token

1.3 获取百度推送接口

  1. 登录百度站长平台
  2. 添加并验证你的网站
  3. 找到"普通收录"下的"接口调用"
  4. 获取接口地址,格式如:

    http://data.zz.baidu.com/urls?site=你的网站&token=你的token

1.4 我的环境是

  • Centos stream 9
  • PHP 8.0
  • curl扩展

2. 配置说明

2.1 核心配置项

在插件设置中配置:

网站地址:你的网站完整地址(如:https://www.example.com)
百度推送Token:从百度站长平台获取的token

2.2 文件说明

  1. 日志文件 (baidu-push.log)

    • 位置:usr/plugins/BaiduPush/baidu-push.log
    • 内容:记录每次推送的详细信息
    • 格式:时间 推送结果
    • 示例:

      2024-01-01 12:00:00 文章推送成功: https://example.com/post.html
      2024-01-01 12:01:00 推送完成:成功1个,失败0个,总计1个URL
  2. URL列表文件 (url-list.txt)

    • 位置:usr/plugins/BaiduPush/url-list.txt
    • 内容:存储所有需要推送的URL
    • 格式:每行一个URL
    • 示例:

      https://example.com/post1.html
      https://example.com/post2.html

2.3 文件权限

确保以下文件可写:

  • usr/plugins/BaiduPush/baidu-push.log
  • usr/plugins/BaiduPush/url-list.txt

设置权限:

chmod 666 usr/plugins/BaiduPush/baidu-push.log
chmod 666 usr/plugins/BaiduPush/url-list.txt

2.4 安全配置

  • 修改默认的访问令牌(token)
  • 建议设置较低的每日配额,避免超限
  • 确保日志文件路径可写

3. 使用方法

3.1 自动推送

  1. 插件安装并配置完成后,新发布的文章会自动推送到百度
  2. 文章更新时也会自动推送
  3. 推送结果会记录在日志文件中

3.2 手动推送

  1. 访问以下URL生成URL列表:

    https://你的域名/usr/plugins/BaiduPush/baidu-push.php?action=generate&token=你的令牌
  2. 访问以下URL执行推送:

    https://你的域名/usr/plugins/BaiduPush/baidu-push.php?action=push&token=你的令牌

3.3 查看推送结果

  1. 检查 baidu-push.log 文件中的推送记录
  2. 在百度站长平台查看收录情况

4. 特性说明

4.1 自动推送

  • 新文章发布时自动推送
  • 文章更新时自动推送
  • 支持文章和页面推送

4.2 配额管理

  • 默认每日限额:500条URL
  • 通过日志记录准确追踪已提交数量
  • 自动停止当达到配额限制

4.3 分批处理

  • 每批次最多50个URL
  • 批次间自动暂停1秒
  • 出错时自动停止后续批次

4.4 日志记录

  • 记录每次推送的详细结果
  • 包含成功数量和失败原因
  • 用于配额计算和问题诊断

5. 常见问题

5.1 推送后未显示收录

可能原因:

  • 百度需要时间处理推送的URL(通常需要几分钟到几小时)
  • 推送的URL格式不正确
  • 网站未通过百度验证
  • 网站内容质量不符合百度收录标准

解决方案:

  1. 等待一段时间后再次检查
  2. 确认URL格式正确
  3. 检查百度站长平台的网站验证状态
  4. 确保网站内容符合百度收录标准

5.2 配额超限

如果遇到"over quota"错误:

  • 检查 baidu-push.log 中的今日提交数量
  • 等待次日配额重置
  • 考虑调低 maxDailySubmit

5.3 推送失败

常见原因及解决方案:

  • URL格式错误:确保域名配置正确
  • 网络问题:检查服务器网络连接
  • 接口限制:确认API地址和token正确

5.4 性能优化

  • 使用URL列表文件避免数据库查询
  • 分批处理减少服务器负载
  • 自动控制推送频率

5.5 日志文件问题

如果日志文件未生成或未记录:

  1. 检查文件权限是否正确
  2. 检查文件路径是否正确
  3. 检查PHP是否有写入权限
  4. 检查磁盘空间是否充足

5.6 URL列表问题

如果URL列表未生成或内容不正确:

  1. 检查文件权限是否正确
  2. 检查数据库连接是否正常
  3. 检查文章状态是否正确
  4. 检查URL格式是否正确

6. 安全建议

  1. 修改默认访问令牌
  2. 定期清理日志文件
  3. 设置合理的每日配额
  4. 限制IP访问(可选)

7. 更新日志

最新版本改进:

  • 支持Typecho插件系统
  • 添加自动推送功能
  • 支持所有Typecho文章URL格式
  • 添加分批处理功能
  • 优化配额管理机制
  • 改进日志记录格式
  • 添加URL列表生成功能

参考资源

当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »