Skip to content

GSC sitemap 讀取失敗排查|Could Not Fetch

GSC 顯示 sitemap「無法擷取」是 Nuxt + Cloudflare Pages 專案最常見的 SEO 阻塞問題。這份 SOP 整理根因診斷、production 驗證指令與修復後的 GSC 操作流程。

常見診斷 Map

GSC 現象優先懷疑檢查方式修正方向
child sitemap 無法擷取child route 404 / HTML fallback / Cloudflare challengecurl -I + curl -Lcustom route、Nitro preset、Content-Type
搜尋結果只顯示英文defaultLocale / fallback meta / canonical 指錯raw HTML headi18n SEO composable
sitemap 有頁但未收錄noindex / 內容薄 / canonical 指錯sitemap + head 對照移除矛盾、補內容
直接貼文章 URL 進 offlinePWA navigateFallback 攔截瀏覽器 SW + curl 對照denylist 公開頁
站內點正常但直接貼 URL 404Nuxt Content slug / trailing slashcurl -L URLslug normalization
sitemap URL 回 301trailing slash 不一致curl -I sitemap locsitemap/canonical 改 final URL
JSON-LD 混 non-wwwsiteUrl fallback 值錯誤raw HTML grep domainruntimeConfig / fallback 統一
robots blocked 但 sitemap 包含robots / sitemap 設定矛盾robots + sitemap grepexclude 或 robots 調整
已封鎖但出現在 sitemaprobots.txt Disallow 與 sitemap 矛盾比對兩者必須修,二選一
替代網頁,有適當 canonicalhreflang / canonical 正常時可接受確認主版本是預期語系通常不需處理

Production 驗證指令

Header 檢查

部署後驗證

檢查 redirect 與 sitemap 回應

Terminal window
curl -I https://example.com/
curl -I https://www.example.com/
curl -I https://www.example.com/robots.txt
curl -I https://www.example.com/sitemap_index.xml
curl -I https://www.example.com/sitemap.xml
curl -I https://www.example.com/__sitemap__/zh-TW.xml
curl -A "Googlebot" -I https://www.example.com/__sitemap__/zh-TW.xml

預期結果:

  • non-www → 301/308 → www
  • www → 200
  • robots.txt → 200
  • sitemap index → 200 XML
  • child sitemap → 200 XML
  • Googlebot UA → 200,不被 challenge
  • 沒有 HTML fallback 假裝成 sitemap

Body 檢查

確認 SSR 正常

檢查 sitemap 與內容頁真實內容

Terminal window
curl -L https://www.example.com/robots.txt
curl -L https://www.example.com/sitemap_index.xml
curl -L https://www.example.com/__sitemap__/zh-TW.xml | head -80

SSR Head 檢查

確認 metadata 完整

抓取重要頁面 raw HTML 檢查 head

Terminal window
curl -L https://www.example.com/ > seo-home.html
curl -L https://www.example.com/ja/ > seo-ja.html
curl -L https://www.example.com/en/ > seo-en.html

檢查每個檔案應包含:<title>、description、canonical、hreflang、html lang、OG / Twitter、robots meta、JSON-LD、主要內容(不是 loading shell)。

修復後 GSC 操作 SOP

第一次修復部署後

  1. 提交 canonical sitemap(例如 /sitemap_index.xml)。
  2. 等待 GSC 顯示 sitemap index 已處理。
  3. 確認 child sitemap 不再「無法擷取」。
  4. 對首頁、價格頁、重要文章、重要知識庫頁逐一做「網址審查」。
  5. 若「即時測試」通過,按「要求建立索引」。

判讀指南

GSC 現象常見根因
child sitemap 無法擷取child route 404、Cloudflare fallback HTML、Content-Type 錯、bot challenge
搜尋結果只顯示英文root defaultLocale / fallback meta 是英文、中文頁 canonical 指到英文
已檢索但未建立索引內容薄、duplicate canonical、noindex/sitemap 矛盾
替代網頁,有適當的 canonicalhreflang/canonical 正常時可接受,確認主版本是預期語系
已封鎖但出現在 sitemaprobots/sitemap 設定矛盾,必須修

持續追蹤

提交 sitemap 後幾天回看以下指標:

  • 已建立索引數量
  • 已檢索但未建立索引
  • 替代網頁,有適當的 canonical
  • 被 robots 封鎖
  • 找不到 404

sitemap 成功提交不代表 Google 會立刻重新索引。不要因為幾小時內沒有變化就重複亂改設定。

完成標準

Checklist

GSC sitemap 修復完成

P0

  • sitemap index 200 XML(非 HTML fallback)
  • child sitemap 200 XML
  • Googlebot UA 200,不被 challenge
  • sitemap loc 全部使用 canonical domain
  • sitemap 不含 noindex / private 路由
  • GSC sitemap 狀態為「成功」
  • 重要 URL 已做網址審查並要求建立索引