找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8|回复: 0

[维护日志] [2026-04-28] [功能] [IndexNow/搜索引擎] - Bing IndexNow 主动推送系统部署

[复制链接]
  • 打卡等级:本地老炮

9336

威望

7221

金钱

1万

贡献

管理员

自由的灵魂

积分
107184
主题
5609
回帖
26654
注册时间
2003-4-10
最后登录
2026-9-9
发表于 2026-4-28 23:48:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

1、需求背景

问题现象:
  • 论坛新帖发布后,被 Bing 搜索引擎收录需要 1 天左右时间
  • 被动等待 Bingbot 爬虫抓取,收录效率不可控
  • 新帖无法及时出现在搜索结果中,影响内容传播时效

目标设定:
  • 实现新帖发布后分钟级收录
  • 主动通知 Bing 内容更新,减少依赖爬虫轮询
  • 零成本实现,不购买付费插件


2、技术方案

项目选择理由
推送协议IndexNowBing 官方支持的主动推送协议,免费、轻量
推送方式sitemap 全量推送 + 智能增量检测利用现有 sitemap 插件,无需修改发帖逻辑
运行方式手动 + 定时智能检测双保险灵活可控,避免无效推送
脚本语言Bash + curl系统自带,无需额外依赖


核心流程图:

  1. flowchart TD
  2.     A[手动生成 sitemap.xml] --> B[执行手动推送脚本]
  3.     B --> C[提取 URL 并分批提交]
  4.     C --> D[Bing 收到通知并抓取]
  5.    
  6.     E[crontab 每小时触发] --> F[智能检测脚本]
  7.     F --> G{sitemap 是否更新?}
  8.     G -->|是| B
  9.     G -->|否| H[跳过本次执行]
复制代码


3、实施步骤

3.1 获取 Bing API 密钥

  • 登录 Bing Webmaster Tools
  • 进入 设置 → API 密钥,生成新密钥
  • 将密钥文件 {API_KEY}.txt 上传至网站根目录 https://www.dianbo.org/

3.2 创建核心推送脚本

文件:/www/indexnow-push.sh

功能:从本地 sitemap.xml 提取 URL,分批(每批 500 条)通过 curl 提交至 Bing IndexNow API

关键代码片段:
  1. # 分批推送
  2. BATCH_SIZE=500
  3. for ((start=1; start<=TOTAL_URLS; start+=BATCH_SIZE)); do
  4.     # 构建 JSON 并提交
  5.     curl -X POST "https://api.indexnow.org/IndexNow" \
  6.          -H "Content-Type: application/json" \
  7.          -d @/tmp/batch_data.json
  8. done
复制代码


3.3 创建智能检测脚本

文件:/www/indexnow-push-smart.sh

功能:比对 sitemap 文件修改时间戳,仅在文件更新时调用核心脚本

  1. # 检测 sitemap 是否变化
  2. if [ "$SITEMAP_MTIME" -eq "$LAST_RUN" ]; then
  3.     exit 0  # 无变化,跳过
  4. fi
  5. echo "$SITEMAP_MTIME" > "$STATE_FILE"
  6. /bin/bash /www/indexnow-push.sh
复制代码


3.4 配置自动化

crontab 定时任务(每小时第 5 分钟执行):
  1. 5 * * * * /bin/bash /www/indexnow-push-smart.sh
复制代码


手动推送快捷别名~/.bashrc):
  1. alias indexnow="bash /www/indexnow-push.sh"
复制代码


4、配置文件清单

文件路径作用创建方式
/www/indexnow-push.sh核心推送脚本多行命令直接生成
/www/indexnow-push-smart.sh智能检测包装脚本多行命令直接生成
/www/indexnow_push.log核心推送日志脚本自动创建
/www/indexnow_smart.log智能脚本日志脚本自动创建
/www/indexnow_lastrun.statesitemap 时间戳记录脚本自动创建
/{API_KEY}.txtIndexNow 验证文件手动上传至根目录



5、实施效果对比

指标实施前实施后变化
新帖收录时间约 24 小时约 10-30 分钟⬇️ 90%+
推送方式被动等待 Bingbot主动推送 IndexNow可控性大幅提升
推送覆盖每批 500 URL,共 5000 条/次全量覆盖
服务器负担-每日仅新增 10 次 API 调用可忽略
成本0 元0 元无额外支出



6、技术沉淀点

  • IndexNow 协议的轻量性:仅需一个 API 密钥和简单的 HTTP POST 请求即可实现主动推送,无需复杂配置。
  • 本地文件读取绕过 WAF:直接从服务器本地读取 sitemap.xml,避免了网络请求被雷池 WAF 拦截(468 状态码)的问题。
  • 分批推送的必要性:IndexNow 单次提交限制 URL 数量,需分批处理。每批 500 条、间隔 1 秒可稳定通过。
  • 时间戳智能检测:通过 stat -c %Y 获取文件修改时间戳,比对状态文件实现精准的“仅更新时执行”。
  • 双保险策略:手动推送为主、定时检测为辅的设计,兼顾灵活性和自动化。


7、后续维护建议

事项频率说明
检查推送日志每周cat /www/indexnow_push.log 确认无异常
检查 API 密钥有效性每月确保密钥文件仍在根目录且可访问
调整 sitemap 数量按需当前 5000 条适合 Daily 更新,若帖子增长快可适当调减
升级时备份脚本系统升级前Discuz! 升级不影响 /www/ 目录,但建议备份


总结:
通过部署 IndexNow 主动推送系统,论坛新帖的 Bing 收录时间从约 24 小时缩短至 10-30 分钟。采用“手动 + 智能定时”双保险策略,兼顾了操作的灵活性和系统的自动化程度。整个方案零额外成本,脚本逻辑简洁、可维护性强,为后续搜索引擎优化(SEO)工作奠定了良好的基础。
不懂就搜!点此搜点拨论坛。如果本坛没有,请尝试点此问AI,或跟帖提问。
发帖前注意看置顶帖
不定期借助AI对点拨论坛陈年老帖进行挖坟回复,打扰勿怪!
发现掉链,请直接回帖报告。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|点拨论坛 |网站地图

GMT+8, 2026-9-9 21:06 , Processed in 0.045079 second(s), 9 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表