launch-audit
爬取暫存或正式上線的網站,收集證據,並提供一份可供人員執行的報告。
黃金規則
唯讀,僅報告。 本技能不會編輯網站、提交表單、更改設定、寫入提供者 API,或點擊破壞性控制項。每個發現都是一個附有證據的建議,供人類決策者執行。
從此延伸出另外四條規則,您需要在呈交報告時再次說明:
- 沒有隱藏的限制。 每個範圍限制——最大頁數、深度、抽樣頁面、無法驗證的外部資源——都會在 未檢查項目 中按名稱報告。
- 每個發現都有證據。 一個 URL、一個狀態碼、一個標頭值、一個截圖路徑。
未檢查項目絕不等於通過。 您必須逐字向人類重複該區段內容。- 跳過不等於通過。 每個被跳過的檢查都有原因。
1. 收集輸入
詢問您尚未知道的資訊。不要猜測以下任何一項。
- 要稽核的 URL。 必要。
- 這是暫存還是正式環境? 暫存目標預期為 noindex;傳遞
--staging可將全站 noindex 從阻礙降級為資訊性。在正式目標上,它是阻礙。 - 這是否要取代現有網站? 如果是,請取得舊網站的 URL 並傳遞
--old-url。這必須在兩個網站仍然可訪問時進行——通常在 DNS 遷移之前。這是唯一能自動建立重新導向對應表的時機。 - 可能洩漏到建置中的任何開發或暫存主機名稱。 使用
--dev-host傳遞每個主機名稱。洩漏的主機名稱是一個阻礙,且稽核只能搜尋已知的名稱。 - 是否已安裝 Playwright? 如果已安裝,則執行瀏覽器層級:截圖、axe 無障礙檢查、Lighthouse,以及分析是否確實觸發。如果未安裝,請說明——報告中約有三分之一的部分不會執行,報告會明確指出是哪三分之一。
2. 執行腳本
執行它;永遠不要讀取它的原始碼,也不要重複實作它的功能。它所做的一切都是唯讀的:它會擷取頁面、渲染其中一部分,並將結果寫入磁碟。
node scripts/launch-audit.mjs --url <url> [--old-url <url>] [--dev-host <host>] [--staging] [--browser auto|on|off] [--out <dir>]
路徑是相對於此技能自己的目錄——從該目錄執行命令,並使用 --out 將結果寫入工作目錄。
其他旗標:--max-pages(預設 200)、--max-depth(預設 4)、--ignore-robots、--baseline <path to an earlier baseline.json>、--json、--config <path>、--help。
瀏覽器層級預設為 auto:如果存在 Playwright 則執行,否則跳過並說明原因。使用 --browser on 將其缺失視為錯誤,使用 off 則刻意跳過。
無論有多少發現,它都會以退出碼 0 結束——這是報告,不是閘門。退出碼 2 表示使用錯誤。如果它建議安裝 Playwright,請轉達該建議;未經要求不要安裝任何東西。
3. 讀取結果包
腳本會印出結果包的路徑並寫入:
report.md 依維度分類的發現,然後是營運與存取準備度,最後是未檢查項目
findings.json 相同的發現,機器可讀格式
crawl.json 每個到達的 URL、其狀態、深度以及發現方式
baseline.json 上線後進行比對的快照
manifest.json 此執行寫入的確切檔案清單
redirects.csv 每個舊 URL 一行(僅在搭配 `--old-url` 時產生)
screenshots/ 每個渲染頁面的桌面、平板和手機截圖(僅瀏覽器層級)
lighthouse/ Lighthouse 測量的分數和指標,按頁面和裝置類型分類(僅瀏覽器層級)
先讀取 report.md:阻礙,然後是未檢查項目,然後是其他所有內容。了解哪些項目未被檢查,會改變您閱讀乾淨區段的方式。references/reading-the-report.md 包含嚴重性表格以及如何使用結果包。
4. 自行執行三個判斷審查
腳本為三項任何檢查器都無法完成的審查收集證據。在呈現任何內容之前,請完成所有三項。每個審查都有參考檔案;請在審查之前閱讀,而不是之後。
截圖 — 請參閱 references/reading-the-report.md。並排打開每個渲染頁面的手機和桌面截圖,檢查版面破損、水平溢出、遺失圖片、文字被裁剪或截斷、在手機寬度下未收合的導航,以及上線時殘留的佔位圖片。如果沒有執行瀏覽器,就沒有截圖,此審查也未執行——請直接說明,不要讓其缺失被誤解為通過。
表單 — 請參閱 references/forms.md。根據報告中的證據,將清查中的每個表單分類為第一方、第三方或無效。然後告訴人員哪些表單需要測試提交,以及需要確認的具體事項:成功訊息、通知是否送達受監控的收件匣(而非垃圾郵件資料夾),以及記錄是否出現在預期位置。您絕對不要親手提交表單。
聯絡資訊 — 請參閱 references/content.md。將報告找到的所有電話號碼、電子郵件地址和郵寄地址收集到一個清單中,檢查 tel: 連結是否撥打旁邊顯示的號碼,並詢問網站所有者哪些是現行的。一個留在某個頁面上的第二個電話號碼會導致一半的來電無處可去,而從外部無法判斷哪個是正確的。
5. 呈交報告
按照報告的結構來總結您的摘要,並以結論而非數字開頭。來自同一個模板的四十個低嚴重性發現只是一個修復;一個阻礙就是一個上線延遲。
- 什麼阻礙了上線。 每個阻礙一句簡潔的陳述。如果沒有,請直接說明。
- 按維度分組的發現,每個維度內按最嚴重程度排序。 描述整體情況,而不僅僅是數字:「十四個頁面缺少描述——這來自同一個模板,所以是一個修復」。指出修復方式而非失敗本身,並用淺顯易懂的語言說明代價。
- 營運與存取準備度。 這些是網站所有者的工作,並且是毀掉上線日的禍首。逐條朗讀
[human]項目並為每個項目取得答案。 - 未檢查項目,逐字呈現。 每一行,未經編輯,誠實地介紹:「以下是此稽核未檢查的項目」。永遠不要摘要它,永遠不要稱其為次要,也永遠不要因為清單很長而省略它。
永遠不會執行的兩個檢查
每個報告都以這兩項結尾,因為它們是傷害最大且任何爬蟲都無法觸及的兩個失敗點:
- 文案與原始文件比對。 本技能不會比較網站上的文字與已簽核的文案。必須有人同時比對兩者並閱讀。
- 頁面與約定範圍比對。 本技能不知道哪些頁面原本應該存在。一個從未建置的頁面對爬蟲來說是看不見的。
在呈交報告時,請將這兩項都說出來。一個網站可能通過此技能中的所有檢查,但仍缺少約定中一半的內容。
參考資料
在解釋某個維度的發現之前,請先閱讀該維度的參考檔案。每個檔案涵蓋發現的意義、為什麼在上線時重要、如何在常見技術堆疊上修復,以及檢查無法告訴您的事項。
| 檔案 | 涵蓋範圍 |
|---|---|
references/reading-the-report.md | 嚴重性、截圖檢查清單、未檢查項目、向客戶報告 |
references/indexability.md | 爬蟲與清單、noindex、robots.txt、Sitemap、正規化標籤、hreflang |
references/host.md | HTTPS、憑證、www vs apex、重新導向、安全性標頭、404 頁面 |
references/head.md | 標題、描述、標題標籤、圖示、社交卡片、結構化資料 |
references/links.md | 損毀與無法驗證的連結、連結文字、mailto: 和 tel: |
references/images.md | 替代文字、尺寸、載入策略、大小、格式、影片 |
references/forms.md | 清查、端點、分類以及測試提交 |
references/accessibility.md | HTML 基礎、axe 違規以及十五分鐘的手動檢查 |
references/performance.md | 提示與測量、Lighthouse 以及工作排序 |
references/analytics.md | 標籤偵測、觸發、同意以及驗證檢查 |
references/content.md | 佔位文字、過期日期、聯絡資訊變體 |
references/redirects.md | 轉換映射表、redirects.csv 以及編寫規則 |
references/ops.md | 電子郵件驗證、法律頁面以及準備度檢查清單 |
執行位置
pre-launch 是在部署前針對儲存庫執行的閘門。launch-audit 是本技能:它只報告,絕不阻擋。post-launch 在 DNS 遷移後立即執行,並將正式環境與本稽核寫入的基準進行比對。請依此順序執行。