我製作了一個 Claude Code 技能,用於檢查 AI 爬蟲能否讀取你的網站
一個 Claude Code 技能,透過分析原始 HTML 判斷網站對 AI 搜尋引擎的可見性,並提供框架特定的修復方案。
許多網站依賴 JavaScript 渲染內容,但 AI 爬蟲(如 ClaudeBot、GPTBot、PerplexityBot、Bytespider、Meta-ExternalAgent)並不執行 JavaScript,它們只讀取伺服器返回的原始 HTML。這意味著一個在 Google 上排名良好的客戶端渲染網站(如使用 React、Vue、Svelte 等構建的單頁應用)可能在 AI 搜尋結果中完全不可見。如果你曾思考“為什麼我們有 Google 流量但來自 AI 的流量為零”,或者你釋出了一個炫酷的 SPA 但在 ChatGPT 中毫無蹤影,這幾乎總是原因。
為了解決這個問題,作者開發了一個 Claude Code 技能,用於檢查網站對 AI 爬蟲的可見性。該技能透過模擬非 JS 爬蟲的方式獲取頁面原始 HTML,然後評估真實內容以及關鍵 SEO 訊號(如標題、元描述、規範連結、Open Graph、JSON-LD 和可爬取連結)是否存在。每個頁面會得到三種判定之一:✅ VISIBLE(可見)——真實內容在原始 HTML 中,爬蟲可以讀取;⚠️ PARTIAL(部分可見)——只有一小部分在原始 HTML 中,主體內容由 JS 渲染;❌ INVISIBLE(不可見)——爬蟲收到一個空殼,沒有任何有用內容。該技能只診斷和開處方,不寫營銷文案、不做關鍵詞研究、不追逐反向連結。
安裝非常簡單:只需將專案資料夾放入 Claude Code 的技能目錄即可。個人使用:git clone ... ~/.claude/skills/ai-crawler-visibility;專案範圍:git clone ... ./.claude/skills/ai-crawler-visibility。無需 npm install、無需 API 金鑰、無需第三方包,分析器僅依賴 Python 3。
使用也很方便:只需用自然語言與 Claude Code 交流,技能會自動觸發,例如“為什麼我的網站在 ChatGPT 中不顯示?”、“我的新網站對 AI 搜尋引擎可見嗎?”、“我新增了 JSON-LD 但富結果仍未顯示”。你也可以直接執行捆綁的分析器:python3 scripts/check_visibility.py https://thesite.com,支援多個頁面或從 sitemap 中取樣(--sitemap 和 --limit)。新增 --json 可以程式化處理結果。注意始終檢查生產 URL,而不是 localhost,因為本地開發伺服器無法反映部署站點向爬蟲提供的方式。
報告示例:它會列出所有 URL 的判定結果,然後說明爬蟲實際看到的內容(如 / 可見文字數為 0,缺少元描述、規範連結、Open Graph、JSON-LD、可爬取連結),然後給出具體修復步驟(最高影響優先),最後給出如何確認修復的方法——檢視頁面原始碼(而非檢查元素),確認標題文本和 JSON-LD 出現在原始 HTML 中。
該技能不僅診斷問題,還提供框架特定的修復方案。例如,它可能建議使用特定的預渲染工具或靜態注入 JSON-LD,而不是泛泛地建議“考慮 SSR”。每次修復都附帶驗證步驟,確保問題得到解決。對於非開發人員,作者還提供了一個付費的 AI 爬蟲修復包,可自動將靜態 SEO + JSON-LD 注入 index.html,設定構建後預渲染,並透過審批門確保不觸及你的程式碼庫,然後重新執行診斷以證明修復生效。診斷功能始終免費。
工作原理簡版:導致頁面不可見的不是 User-Agent,而是不執行 JavaScript。(指令碼仍會傳送真實的機器人 UA 作為第二個請求以檢測服務端預渲染。)由 JavaScript 注入的 JSON-LD 對不渲染的爬蟲不可見,它必須出現在原始 HTML 中。水合(Hydration)沒問題,因為它將事件處理程序附加到已渲染的 HTML,內容已在。純客戶端渲染(CSR)才是問題。“檢視頁面原始碼”顯示原始 HTML(爬蟲看到的),“檢查”顯示渲染後的 DOM(爬蟲不看到的)。始終用檢視頁面原始碼來驗證。
該專案使用 MIT 許可證,由 Novae Systems 構建——為本地企業提供網站、AI 自動化和 SEO 服務。