3. IndexNow:新增或修改頁面時主動通知搜尋引擎
IndexNow 是讓網站主動通知搜尋引擎「這些網址有新增或修改」的開放協定,Bing、Yandex、Naver、Seznam 等支援,Google 不支援。產生一組金鑰 → 在網站根目錄放「金鑰.txt」、內容就是金鑰 → 每次上線新內容,就把網址清單 POST 到 api.indexnow.org/indexnow。回 200 或 202 代表收到;403 是金鑰檔讀不到或內容不符;422 是網址不屬於這個網域。
搜尋引擎平常靠自己定期來抓,新文章可能要好幾天才被發現。IndexNow 讓你在頁面上線的當下就主動通知。開始前,網站最好已完成第 2 章 Bing Webmaster Tools 的設定。
先知道誰支援
- 支援:Bing、Yandex、Naver、Seznam 等。送到共用端點
api.indexnow.org一次,參與的搜尋引擎會互相分享。 - Google 不支援 IndexNow。Google 那邊照第 1 章的方式更新 sitemap、重新提交。
規格以 IndexNow 官方說明 為準。
產生金鑰並放上網站
- 產生一組金鑰:8~128 個字元,只能用英數字與
-。我們用 32 碼的十六進位亂數。 - 在網站根目錄放一個檔名為
<金鑰>.txt的檔案,內容就是金鑰本身(一行、不含其他文字)。 - 用瀏覽器打開
https://你的網域/<金鑰>.txt,確認回 200、內容正確。
金鑰檔本來就是公開的,搜尋引擎用它確認你擁有這個網站,不是密鑰,不需要放進密碼管理工具。每個網域放自己的金鑰檔。 網站框架若會把未知網址導給程式處理(例如
.htaccess只放行特定檔名),要放行這個.txt,否則會回 404。
送出網址
用 POST 把網址清單送到 https://api.indexnow.org/indexnow,Content-Type 為 application/json; charset=utf-8:
{
"host": "www.example.com",
"key": "<金鑰>",
"keyLocation": "https://www.example.com/<金鑰>.txt",
"urlList": [
"https://www.example.com/blog/new-article",
"https://www.example.com/services"
]
}
- 一次最多 10,000 個網址,而且都要屬於
host這個網域。 - 只送有新增、修改或刪除的網址。網站第一次設定時,可以把整份 sitemap 的網址送一次。
看懂回應碼
| 回應 | 意思 | 怎麼處理 |
|---|---|---|
| 200 | 收到 | — |
| 202 | 收到,金鑰還在驗證 | 正常,不用處理 |
| 400 | 格式錯誤 | 檢查 JSON 與欄位名稱 |
| 403 | 金鑰無效 | 金鑰檔打不開,或內容和送出的金鑰不一致 |
| 422 | 網址不屬於這個網域,或金鑰格式不符規格 | 檢查 urlList 的網域和 host 一致(含 www)、金鑰只用英數字與 - |
| 429 | 送太頻繁 | 放慢速度,不要重複送同一批 |
排進上線流程
IndexNow 最怕的是「設好之後忘了送」。我們的做法:
- 寫成一支小程式,從正式站的 sitemap 讀出網址送出;也可以只送指定路徑。
- 每次正式站部署新文章或改版後跑一次。
- 第一次替三個網站送整份 sitemap 時,三站都回 202。
送了之後,到 Bing Webmaster Tools 左側「IndexNow」可以確認收到幾個網址,以及每個網址的送出時間。

常見問題
IndexNow 支援 Google 嗎?
不支援。IndexNow 由 Bing、Yandex、Naver、Seznam 等搜尋引擎支援。Google 要靠提交 sitemap 與 Search Console 的網址檢查。
IndexNow 回 403 是什麼意思?
金鑰驗證失敗:網站根目錄的金鑰檔打不開,或檔案內容和送出的金鑰不一致。先用瀏覽器直接打開金鑰檔網址確認。
IndexNow 的金鑰檔會不會有安全風險?
不會。金鑰檔本來就要公開讓搜尋引擎讀取,用來證明你擁有這個網站,不是登入密碼或 API 金鑰。
每次都要把整份 sitemap 送一次嗎?
不用。第一次設定可以送整份;之後只送有新增、修改或刪除的網址,重複送沒有變動的網址沒有好處。