@@ -59,7 +59,12 @@ set -e
5959
6060SITE_DIR=" /www/wwwroot/javaguide.cn"
6161DIST_DIR=" /github/dist"
62- VERIFY_FILE=" /www/wwwroot/googleca8171acadbdab54.html"
62+ VERIFY_FILE_GOOGLE=" /www/wwwroot/googleca8171acadbdab54.html"
63+
64+ # 如果启用了 IndexNow,把 key 文件放在站点根目录可访问的位置。
65+ # 文件名通常是 ${INDEXNOW_KEY}.txt,文件内容也是 INDEXNOW_KEY。
66+ # 不启用时可以删掉这一行和下面的 cp。
67+ VERIFY_FILE_BING=" /www/wwwroot/300af4bf44b34b5daf5182f3f4be2c6f.txt"
6368
6469mkdir -p " $SITE_DIR /assets"
6570
@@ -72,9 +77,17 @@ rsync -av --delete \
7277rsync -av \
7378 " $DIST_DIR /assets/" " $SITE_DIR /assets/"
7479
75- cp " $VERIFY_FILE " " $SITE_DIR /"
80+ # 恢复搜索引擎验证文件和 IndexNow key 文件。
81+ cp " $VERIFY_FILE_GOOGLE " " $SITE_DIR /"
82+ cp " $VERIFY_FILE_BING " " $SITE_DIR /"
7683```
7784
85+ 如果暂时没有启用 IndexNow,可以先删除脚本里的 ` INDEXNOW_KEY_FILE ` 和对应 ` cp ` 。启用后需要确认:
86+
87+ - ` https://javaguide.cn/300af4bf44b34b5daf5182f3f4be2c6f.txt ` 可以访问。
88+ - ` https://javaguide.cn/{INDEXNOW_KEY}.txt ` 可以访问。
89+ - ` {INDEXNOW_KEY}.txt ` 的文件内容就是 ` INDEXNOW_KEY ` 本身。
90+
7891部署后 CDN 刷新建议:
7992
8093- 优先刷新 HTML、sitemap、manifest 等入口文件。
@@ -99,11 +112,12 @@ pnpm docs:build:clean
99112
100113### 2. 部署静态文件
101114
102- 按上面的 ` rsync ` 方式发布:
115+ 按上面的 ` rsync ` 方式发布,核心是“非 assets 跟随新版本删除,assets 只增量覆盖” :
103116
104117- 非 assets 文件使用 ` --delete ` ,让 HTML、sitemap、robots、manifest 跟随新版本。
105118- ` /assets/ ` 只增量覆盖,不在每次部署时删除旧 hash 文件。
106119- 保留站点验证文件,例如 Google/Bing 的验证文件。
120+ - 如果启用了 IndexNow,保留 ` {INDEXNOW_KEY}.txt ` 。
107121
108122### 3. 刷新 CDN
109123
@@ -136,14 +150,14 @@ pnpm docsearch:index
136150小范围改动优先只提交变更 URL:
137151
138152``` bash
139- INDEXNOW_KEY=你的 IndexNow Key \
153+ INDEXNOW_KEY=300af4bf44b34b5daf5182f3f4be2c6f \
140154pnpm indexnow:submit /home.html /ai/ /cs-basics/
141155```
142156
143157大范围内容更新、导航调整或 sitemap 变化后,可以提交 sitemap 中的全部 URL:
144158
145159``` bash
146- INDEXNOW_KEY=你的 IndexNow Key \
160+ INDEXNOW_KEY=300af4bf44b34b5daf5182f3f4be2c6f \
147161pnpm indexnow:submit --sitemap
148162```
149163
0 commit comments