第五階段:SEO 與語言
目標:搜尋引擎與 AI 輔助工具能理解每個頁面。舊網址能正確導向。每個額外語言的正確性與原始語言相同。
SEO 步驟
- 每個工作只有一個擁有者。
- SEO 外掛(預設為 Rank Math)負責標題、Meta、Sitemap 與主要結構化資料圖表。
- 核心的
schema.php將網站自身類型加入該圖表。 - 停用任何會輸出自身結構化資料的領域外掛,確保只有一個圖表,避免衝突。
tests/helpers/site.ts中的每個頁面需通過npm run test:seo:- 標題 10–65 個字元;
- 描述 50–160 個字元;
- 絕對標準網址;
- 一個 H1;
lang屬性;- 零個 Google Fonts 請求。
檢查清單與寫作規則:
references/seo-checklist.md。
- 結構化資料:
- Organization(或 LocalBusiness)僅出現一次。
- 每個頁面對應的項目類型(Service、Product、TouristTrip、Course 等)。
- 麵包屑導覽標記。
- FAQ 僅用於頁面上確實有回答的問題。
- 絕不在沒有價格的情況下使用
Offer。 - 使用 Google 的 Rich Results Test 與 Schema.org 驗證器進行驗證。
- Robots、Sitemap、llms.txt:
- 正式環境允許爬取並列出 sitemap;測試環境封鎖所有爬取(由核心處理);
/llms.txt由核心提供;- 明確決定 AI 爬蟲是否可以讀取網站,然後檢查邊緣端是否預設封鎖了它們(
wp-ship>cloudflare-edge.md)。
- 重新導向: 遵循專案的
docs/reference/REDIRECT_RULES.md。將每個有流量或反向連結的舊網址對應到最接近的新頁面(使用 301,一次跳轉),並逐一測試。 - 重大變更前確保一致性。 在重新設計、遷移或語言上線前,先擷取每個網址的標題、描述、標準網址與 H1。每個步驟後進行比較。僅針對預期的變更重新擷取,並在 commit 中記錄原因。
- Search Console 與 Bing:
- 同時驗證兩個平台;
- 提交 Sitemap;
- 第一週每週監控頁面索引狀況;
- Search Console 僅保留 16 個月的資料,因此請盡早匯出或啟用大量匯出功能。
語言步驟(每種語言先做試點)
遵循 references/multilingual.md。簡而言之:
- 第零條規則: 原始語言不變。其網址、標題、標準標籤與文字保持不變(一致性檢查可證明)。
- 試點: 語言基礎架構(Polylang、語言切換器、hreflang、
.po/.mo字串),然後是關鍵頁面與主要項目。接著由母語者在測試環境上進行審查,審查通過後才發布。 - 其餘部分 分批處理,每批都經過相同的審查流程。
- 尚未發布的語言 應以 302 重新導向至原始語言,並且不顯示在任何地方:不在 sitemap、hreflang、選單或語言切換器中。
檢查點(在 SITE_STATUS.md 中打勾)
-
npm run test:seo在測試環境上通過;每種類型各一個頁面的 Rich Results 測試通過 - 正式環境的 Sitemap、robots.txt 與 llms.txt 正確
- 舊網址重新導向對應已建立並測試完成(或標記為「不適用」)
- 每個額外語言:試點通過、母語審查完成、hreflang 配對完整、每個語言都有正確的標準網址
我們曾經發布過的錯誤,請務必檢查
- 翻譯後的首頁標準網址指向原始首頁,導致 Google 從法文結果中移除
/fr/。翻譯頁面的標準網址應為翻譯後的網址。 - 法文頁面上出現英文 JSON-LD:結構化資料必須跟隨頁面語言,否則應在翻譯完成前排除。
- 檢查點將未發布的語言以 301 重新導向至首頁。檢查點應使用 302。