AI News HubLIVE
站內改寫2 分鐘閱讀

我製作了一個 Claude Code 技能,用於檢查 AI 爬蟲能否讀取你的網站

一個 Claude Code 技能,通過分析原始 HTML 判斷網站對 AI 搜索引擎的可見性,並提供框架特定的修復方案。

來源Hacker News AI作者: novaesystems

許多網站依賴 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 服務。