Files
fuwari/.github/workflows/IndexNow.yml
T
mckero 679ab02b4d
IndexNow / submit (push) Successful in 0s
Code quality / quality (push) Failing after 1s
Build and Check / Astro Check for Node.js 23 (push) Canceled after 1s
Build and Check / Astro Check for Node.js 22 (push) Failing after 1m17s
Build and Check / Astro Build for Node.js 22 (push) Failing after 1m24s
Build and Check / Astro Build for Node.js 23 (push) Canceled after 0s
更新 .github/workflows/IndexNow.yml
这样下次运行的时候,日志里就会多打印一行类似 HTTP Status: 200 或 202 的状态码。如果是 200/202,就说明 Bing 确认收录了。
2026-10-02 13:56:58 +00:00

31 lines
1.1 KiB
YAML

name: "IndexNow"
on:
push:
branches: [main] # 已改为 main 分支
schedule:
- cron: '0 0,12 * * *' # 每天 UTC 0 点和 12 点运行
jobs:
submit:
runs-on: ubuntu-latest
steps:
- name: Fetch URLs from sitemap
run: |
# 从你的 sitemap 中提取所有 <loc> 标签内容
curl -s "https://blog.mckero.com/sitemap-0.xml" \
| grep -oP '(?<=<loc>)[^<]+' > urls.txt
echo "提取到 $(wc -l < urls.txt) 个 URL"
- name: Submit to Bing IndexNow
run: |
# 取前 100 条 URL,拼成 JSON 数组(IndexNow 单次上限 10000 条)
URLS=$(head -n 1000 urls.txt | jq -R -s -c 'split("\n") | map(select(length>0))')
curl -s -w "\nHTTP Status: %{http_code}\n" -X POST "https://www.bing.com/indexnow" \
-H "Content-Type: application/json" \
-d "{
\"host\": \"blog.mckero.com\",
\"key\": \"${{ secrets.INDEXNOW_KEY }}\",
\"keyLocation\": \"${{ secrets.INDEXNOW_KEY_LOCATION }}\",
\"urlList\": $URLS
}"