SEO 完整攻略

探索 SEO 的最佳實踐,提升網站能見度與流量。

網站審核工具

使用 Screaming Frog、Sitebulb 進行技術檢測。

網站審核工具

網站結構分析工具

使用 Screaming Frog 進行站內連結檢測

以下是使用 Screaming Frog 檢查網站內部連結的完整步驟,讓你輕鬆找出死鏈、循環鏈與深層連結問題。

步驟一:下載並安裝 Screaming Frog

1️⃣ 前往官方網站 https://www.screamingfrog.co.uk/seo-spider/,選擇「Download」按鈕。
2️⃣ 根據作業系統安裝程式(Windows / macOS / Linux),點擊安裝並依照指示完成安裝。

步驟二:設定爬蟲參數

  • Include: 輸入要抓取的網站域名,例如 https://example.com,不要加 /
  • Crawl Settings → Limits: 把「Maximum URL Crawl」調到 10,000(或更高)以確保能抓到所有內部頁面。
  • User Agent: 選擇默認即可,除非你想模擬特定瀏覽器。
  • Exclude Parameters: 若網站 URL 有查詢參數(如 ?page=1),可在「Exclude」中輸入 \?.*,避免重複抓取同一頁面的不同變體。

步驟三:啟動抓取與監控進度

按下 Start 按鈕後,Screaming Frog 會自動開始爬行。你可以在左上角看到「Total URLs」以及「Internal」/「External」的統計數字。
如果抓取過程中遇到錯誤(例如 403 / 404),它們會被標註為紅色,方便後續篩選。

步驟四:篩選內部連結並檢查狀態碼

  • Internal 標籤中,你會看到所有抓到的網址。
  • 點擊上方工具列的「Filter」按鈕,輸入 200404 等狀態碼,即可快速定位成功與失敗的連結。
  • 若想看深度分布,可切換至 Graph 視圖(左側選單 → Graph),在「Depth」欄位觀察連結層級。

步驟五:發現問題連結後的處理建議

  • 404 錯誤: 檢查是否為舊頁面遺留,若是,請在該網址內加入 301 重導向至相近內容。
  • 循環連結: 若 A → B → C → A,先把其中一個關鍵連結改成「非連結」或指向正確的目標。
  • 深層連結 (Depth > 5): 建議在主要導覽中加入此頁面的快捷入口,以提升使用者體驗與搜尋引擎可見度。

步驟六:匯出報告以供進一步分析或交接

  • ExportAll URLs,選擇「CSV」格式下載完整列表。
  • 若只需要內部連結的子集,可以在左側的 Internal 標籤中點擊右鍵,選擇「Export → CSV」。
    以下是一個簡易範例(CSV 格式)供你參考:

URL,Link Text,Status Code,Depth
https://example.com/,Home,200,0
https://example.com/about,關於我們,200,1
https://example.com/blog/how-to-use-screaming-frog,使用 Screaming Frog,404,2

以上步驟完成後,你就能快速掌握網站內部連結的健康狀況,並針對問題進行修正。祝你玩得開心!

利用 Sitebulb 探索 URL 架構

使用 Sitebulb 探索 URL 架構 的第一步

想像你正在探索一座城市,先要知道它的道路圖。Sitebulb 就是那張詳盡的地圖,能幫你快速看出網站裡每個頁面的位置、關聯與路徑。

  1. 下載 Sitebulb:前往官方網站,選擇 Windows 或 Mac 版本安裝。
  2. 建立新專案:點擊「+ New Project」,輸入你想檢查的網址(例如 https://example.com)。
  3. 設定掃描範圍:預設會抓所有連結;若只想看部門頁面,請在設定中排除不需要的子域或路徑。

完成這些步驟後,就能進入下一個階段——實際掃描並閱讀結果。

開始 Sitebulb 掃描,觀察 URL 結構

一旦專案建立好,點選「Start Crawl」開始掃描。掃描時間長短取決於網站大小;大約 5 分鐘左右即可完成中等規模的站台。

掃描結束後,你會看到三個主要面板:

  • Overview:總覽頁面,顯示抓到的 URL 數量、重複連結、斷線等等。
  • Internal:列出所有內部連結,並附帶「Depth」欄位說明從首頁起跳的層級(0 是首頁,1 是一級頁面,以此類推)。
  • Hierarchy:以樹狀圖呈現 URL 路徑,像是把網站想成一棵大樹,每個節點代表一個子目錄或檔案。
觀察常見問題
  • 太深的層級:如果你發現某些重要頁面在 depth > 3 的位置,可能會讓搜尋引擎爬蟲難以快速到達。建議將關鍵內容保持在 2~3 層之內。
  • 重複 URL:同一個頁面出現在不同路徑(例如 /news/2024-08-01-title 與 /article/title)會造成混亂,請使用 canonical 或 301 重導。
  • 斷線連結:在 Internal 面板看到 404 的 URL 要立刻修正或移除,以免影響使用者體驗。

透過這些資訊,你就能快速定位網站結構的優劣,並針對性做調整。

用 Sitebulb 做出可行的改進方案

以下提供三個實際案例,說明如何把掃描結果轉化為具體操作。

  • 範例一:將熱門部落格文章從 /blog/2024-08-01-title 重新導向到更簡短的 /blog/title

    1. 在 Sitebulb 的 Internal 面板搜尋所有包含 "2024" 的 URL。
    2. 確認這些頁面已經建立在 CMS,並且沒有其他內部連結指向舊路徑。
    3. 在伺服器設定或 CMS 裡加一條 301 重導規則,確保搜尋引擎與使用者都能自動跳轉。
  • 範例二:縮短層級深度,把 /products/category/subcategory/item 改為 /product/item

    1. 在 Hierarchy 面板確認哪些頁面 depth > 2。
    2. 評估每個子分類的內容是否值得保留;若不必要,直接合併到上層。
    3. 更新網站地圖(sitemap)並提交給搜尋引擎,協助快速重新索引。
  • 範例三:消除斷線連結,提升使用者體驗

    1. 在 Internal 面板找到所有 404 狀態的 URL。
    2. 檢查是否為舊版頁面或輸入錯誤;若是舊版,請設定 301 重導至新的對應頁面。
    3. 若無法修復,直接從網站中移除該連結,避免使用者點擊後進入死角。
小貼士
  • 定期掃描:每個月或每次大更新後跑一次 Sitebulb,可以早日發現問題。
  • 利用篩選器:在 Internal 面板使用「Type」或「Status Code」過濾,快速定位特定類型的連結。
  • 匯出報告:將結果存成 CSV 或 PDF,方便團隊分享與追蹤改善進度。

透過這些步驟,你就能把 Sitebulb 的洞察轉化為實際的網站優化行動。祝你在探索 URL 架構的旅程中一路順風!

用 Xenu 線上抓取網站結構

用 Xenu 線上抓取網站結構教學

Xenu Link Sleuth 是一款免費、輕量的 Windows 程式,專門用來掃描網站連結、找出斷線或重複頁面。雖然它不是「線上」工具,但你只要下載到電腦,對任何公開網站都能立刻執行抓取。

1. 安裝與啟動

  • 前往 https://www.davekoelle.com/,下載 xenu.exe(大約 5 MB)。
  • 執行安裝程式,依照畫面指示完成安裝。
  • 開啟 Xenu,會看到一個空白的「Start Page」視窗。

2. 輸入要抓取的網站

在左上角的「URL」輸入框中貼上你想分析的網址,例如:

  • https://www.example.com
  • http://blog.taiwanese.com(只要是公開可存取的網站都能抓)

3. 設定抓取範圍與深度

  • 點擊「Settings」>「Options」
  • 在「General」分頁,確保「Include subdomains」已勾選,這樣子域名也會被納入掃描。
  • 「Maximum depth」設定為 5(代表最多追蹤五層連結),如果你只想看首頁的直接連結,可以改成 1
  • 在「Filter」分頁,取消勾選「Ignore all external URLs」,這樣就不會忽略外部連結,而是把它們也列出來。

4. 開始抓取

按下畫面上方的「Start」按鈕(圖示為一個綠色箭頭)。Xenu 就會自動開始從首頁下載所有頁面,並追蹤每一個內部連結。

5. 檢視結果

  • 左側的樹狀列顯示網站整體架構:你可以展開每個節點,看到子頁面。
  • 每一行都會標示 HTTP 狀態碼,例如 200 OK404 Not Found301 Moved Permanently
  • 若某個連結回傳 404,Xenu 會在狀態欄顯示紅色;這就是你要修正的「斷線」!

6. 匯出資料供後續分析

  • 點選「File」>「Save as XML…」,將整個結構存成 sitemap.xml
  • 或者使用「File」>「Export to CSV…」匯出成表格,方便在 Excel 裡篩選、排序。

7. 常見問題與小技巧

  • Xenu 無法抓取 HTTPS:如果你發現某些 HTTPS 網站不被偵測,請先確定你的 Windows 已安裝最新的 SSL 憑證。
  • 網站太大導致記憶體耗盡:可在「Settings」>「Options」中降低「Maximum depth」或是關閉「Include all file types」。
  • 想快速找出重複頁面:打開「Find」>「Duplicate URLs」即可自動列出 URL 重覆的項目。

結語

Xenu 是一個非常直覺、零成本的工具,適合想快速了解網站連結健康與結構的站長或 SEO 工作者。只要跟著上面步驟操作,你就能在幾分鐘內得到一份完整的「站點地圖」並找出所有潛在問題。

快速參考表

步驟 操作 重點說明
1 安裝 Xenu 從官方網站下載並安裝,程式大小約 5 MB。
2 輸入網址 在主畫面左上角輸入欲分析的完整 URL(含 http/https)。
3 設定範圍 勾選「Include subdomains」、設定「Maximum depth」(1~5),取消「Ignore all external URLs」。
4 開始抓取 按下綠色箭頭開始,Xenu 將自動下載並追蹤連結。
5 檢視結果 樹狀列顯示架構;每行標示 HTTP 狀態碼與紅色警告。
6 匯出資料 File → Save as XML 或 Export to CSV,方便後續分析或備份。

比較不同工具的結構檢測結果

工具對照表

  • Screaming Frog SEO Spider(桌面版)
  • Sitebulb(雲端與桌面版)
  • DeepCrawl(全程雲端)
  • Ahrefs Site Audit(結合關鍵字分析的網站審核功能)

目標與範圍

在進行網站結構檢測時,常會遇到多種工具,哪一個最適合自己的需求?這篇教學會先說明比較的目的,再帶你看每款工具的特色、設定方法,以及最後把結果整理成表格,方便快速決定要用哪一款。

為什麼要比較?

  • 功能差異:有些工具強調抓取速度,有的則專注於詳細報表。
  • 價格策略:桌面版一次付費,雲端版按月訂閱,選擇時需考量預算。
  • 使用者友善度:介面、指令語法是否易上手?
  • 輸出格式:CSV、Excel 或 API 連結?

Screaming Frog SEO Spider(桌面版)

  1. 安裝:下載官方網站提供的 Windows/Mac 版本,直接拖進應用程式資料夾即可。
  2. 設定抓取深度:預設爬行到第 10 層;若想更全面,可以在 "Configuration → Spider → Limits" 調整。
  3. 輸出報表:點選 "Export → All Data" 可直接產生 .csv,裡面包含 URL、標題、描述、HTTP 狀態碼等。

Sitebulb(雲端與桌面版)

  • 界面:圖形化的「Dashboard」讓你一眼看見關鍵指標。
  • 自動化:設定 cron 或 GitHub Action 觸發,適合持續整合流程。
  • 報表:支援 PDF、Excel 以及 API 匯出;還能把結果直接連結到 Google Sheets。

DeepCrawl(全程雲端)

  • 擴充性:支援多個網站同時抓取,並可設定不同的抓取規則。
  • 分析深度:能發現重複內容、斷裂連結、JavaScript 生成的 URL 等細節。
  • 費用模式:以每月抓取次數計價,適合大型網站。

Ahrefs Site Audit(結合關鍵字分析)

  • 一站式:同時得到 SEO 分數、流量預估與技術問題。
  • 報表格式:可直接匯出成 CSV,並且有 API 可供自動化使用。

比較指標設定

  1. 抓取速度(秒/萬頁):衡量工具在相同網域下的效能。
  2. HTTP 狀態碼完整度:是否能捕捉 404、301、302 等所有狀態?
  3. 重複內容檢測:是否會列出標題或描述完全相同的頁面?
  4. 支援 JavaScript 渲染:對 SPA(單頁應用)友好程度。
  5. 輸出格式多樣性:CSV、Excel、PDF、API 等。

結果整理(表格)

工具 抓取速度 (萬頁/秒) HTTP 狀態碼完整度 重複內容檢測 JavaScript 渲染 輸出格式 價格策略
Screaming Frog SEO Spider 0.8 CSV、Excel, API 一次付費 $149/年
Sitebulb 1.2 PDF, Excel, Google Sheets, API 訂閱制 $99/月起
DeepCrawl 0.6 CSV, API 按抓取次數計費
Ahrefs Site Audit 1.0 CSV, API 訂閱制 $99/月起

實際案例示範(以 https://example.com 為例)

  • Screaming Frog:輸出 all_data.csv,裡面第一行為 URL,Title,Meta Description,HTTP Status Code
  • Sitebulb:在 Dashboard 的 "Issue Summary" 看見「重複標題」的統計圖表。
  • DeepCrawl:在報告頁面可直接下載 deepcrawl_report.xlsx,包含每個 URL 的抓取時間與錯誤碼。
  • Ahrefs Site Audit:API 回傳 JSON 範例如下:
{
  "url": "https://example.com/page1",
  "statusCode": 200,
  "title": "示例頁面 | Example.com",
  "description": "這是一個範例說明。"
} ```

小結與實務建議

  • 小型網站或單一專案:Screaming Frog 適合,因為一次付費且操作簡單。
  • 持續整合或團隊協作:Sitebulb 或 DeepCrawl 更佳,支援自動化與多用戶管理。
  • 需要同時評估 SEO 分數與技術問題:Ahrefs Site Audit 能一次搞定,但要留意價格較高。

最後,挑選工具前不妨先試用免費版或 Demo,親手操作一次抓取流程,再決定哪一款最符合你網站的需求。祝你檢測順利、結構更健全!

內容品質審核工具

Grammarly 與 Hemingway:寫作風格比對

Grammarly 與 Hemingway:寫作風格比對

兩個工具的基本定位

Grammarly 是線上文法檢查器,提供語法、拼字、標點符號以及用詞建議;
Hemingway 則偏重於句子結構與可讀性,會把長句、被動語態、複雜副詞等標示出來。

介面對比

  • Grammarly:網頁版和桌面應用程式都可以即時顯示錯誤;
  • Hemingway:主打簡潔的編輯器,錯誤提示以色彩區塊呈現。

語法與文體建議範例

原句:『The quick brown fox jumps over the lazy dog, and then he runs to the bank.』

  • Grammarly 會指出:

    • 「the」使用不當,應改成「a」,
    • 「he」與前文主語不一致,建議改為「it」。
  • Hemingway 會標出:

    • 長句分割(逗號後建議斷句)
    • 被動語態或冗贅用詞的提示。

可讀性評估

  • Grammarly 提供 Readability score,計算平均單字長度與句子結構;
  • Hemingway 有簡易的「Readability Grade」顯示,越高代表越難懂。

特色功能

  • Grammarly
    • 上下文語境判斷(如同義詞替換)、
    • 風格檢查(正式/非正式)以及
    • 內建字典,支援多種專業領域。
  • Hemingway
    • 強調簡潔句式,會把過長或複雜的句子以紅色高亮;
    • 提供「Adverb」、"Passive Voice" 等分類提醒。

價格與使用情境

  • Grammarly:免費版提供基本文法檢查,Premium 才能得到風格建議和抄襲檢測;
  • Hemingway:一次性付費(約 10 美元)即可下載桌面版,也有線上版但功能較少。

小結

若你需要一站式的語法、拼字與風格修正,Grammarly 是首選;
如果重視句子簡潔與可讀性,Hemingway 能提供更直覺的高亮提示。

功能比較表

功能 Grammarly Hemingway
文法檢查 ✔️ ✔️
拼字校正 ✔️
標點符號建議 ✔️ ✔️
風格調整 (正式/非正式) ✔️ ✖️ (簡潔導向)
可讀性評分 ✔️ ✔️
被動語態提示 ✔️ ✔️
內建字典與同義詞 ✔️
價格 (一次性/訂閱) $12/月 $10 一次付費

使用小技巧

  • Grammarly:在寫完後先用「文檔檢查」功能做整體掃描,再逐句修正;
  • Hemingway:先將長句拆分成短句,然後再查看顏色高亮,最後再加上 Grammarly 的語法檢查。

Copyscape 內容抄襲檢測技巧

Copyscape 內容抄襲檢測技巧

本篇教學將帶你一步步了解如何利用 Copyscape 檢查文章是否被盜用,以及在發佈前做最後的品質把關。

目錄

  • 基本概念與註冊流程
  • 手動檢測技巧
  • 批次搜尋與 API 使用
  • 如何判斷結果並採取對策
  • 常見錯誤與解決方案

基本概念與註冊流程

  1. Copyscape 是什麼?
    Copyscape 主要是提供網路內容抄襲檢測的服務,能幫你快速找出網頁上相似或完全重複的文字。
  2. 註冊步驟
    • 前往 https://www.copyscape.com
    • 點選「Sign Up」填寫電子郵件、密碼,並確認帳號。
    • 登入後可立即使用免費搜尋功能;若需要批次或 API 服務,則須升級為付費方案。

手動檢測技巧

  • 單篇搜尋:直接把你要檢查的網頁 URL 貼進搜尋框,即可得到相似度報告。
  • 使用關鍵字:若不想整個網址都被掃描,可將文章中獨特的句子或關鍵詞貼上,Copyscape 會找出含有該文字的網頁。
  • 範例操作
    https://example.com/我的文章標題.html
    

批次搜尋與 API 使用

  • 批次檢測:Copyscape 允許一次上傳多個 URL,系統會分別對每個網址進行比對。這在你管理一大堆部落格文章時尤為方便。
  • API 說明
    • 需要購買 API 套餐後才能使用。
    • 呼叫範例(以 cURL 為例):
      curl "https://api.copyscape.com/api?key=YOUR_API_KEY&url=https://example.com/文章.html"
      

如何判斷結果並採取對策

  • 相似度百分比:報告會顯示 0%~100%。一般來說,低於 15% 通常不算抄襲,但若是關鍵段落高於 50%,就要特別注意。
  • 重複範圍:檢查報告中標註的文字區塊,確定是否為你自己的原創內容。
  • 處理方式
    1. 若發現抄襲來源於非公開頁面(如私人筆記),可考慮移除或修改相關段落。
    2. 若是來自公開網站,建議先聯繫原作者索取授權,或自行改寫成自己的語句。

常見錯誤與解決方案

  • 報告顯示「No results」:可能是因為你剛發佈的內容還未被搜尋引擎編入索引。此時可先等待 24-48 小時再重試。
  • 相似度過高但不是抄襲:例如引用了公共領域資料,Copyscape 仍會把它算作相似。這種情況下,可以在文章中標註來源並加上「引用」說明。
  • API 呼叫失敗:檢查 API 金鑰是否正確、網路連線是否正常;若連續失敗,聯絡 Copyscape 客服協助。
快速參考表
步驟 重點 建議操作
註冊帳號 簡單電子郵件註冊 立即可試用免費搜尋功能
單篇檢測 貼入 URL 或關鍵字 檢查相似度 % 與重複區塊
批次檢測 上傳多個 URL 適合大量文章管理
API 使用 需付費升級 自動化批量檢測、整合至 CMS
判斷結果 低於 15% 通常無抄襲 高於 50% 應立即處理
小提醒
  • 不要急著下結論:相似度高不一定即為侵權,還需考量文字是否屬於公共領域或已得到授權。
  • 保持備份:在修改文章前,先保留原稿的 PDF 或 DOCX 版本,以便追蹤變更歷史。

使用 Clearscope 優化關鍵字密度

使用 Clearscope 提升關鍵字密度

Clearscope 是一款專為內容創作者設計的工具,能協助你調整文章中關鍵字的出現頻率,使搜尋引擎更容易辨識主題。以下是一個簡單步驟,教你如何在寫作前先設定好密度目標:

1️⃣ 登入 Clearscope 後,點選「New Report」並輸入要提升的關鍵字或長尾句。

2️⃣ 在報告頁面,你會看到一個建議的關鍵字頻率(%)。這通常在 0.5%~1.5% 之間;若你想更精準,可自行調整。

3️⃣ 將目標密度記錄下來,並在寫作時不斷回顧。

實戰範例:撰寫台北夜市攻略

假設你想針對「台北 夜市 美食」進行創作,以下示範如何利用 Clearscope 來調整字數與關鍵字密度:

  • 建立報告時輸入「台北 夜市 美食」。
  • 報告顯示建議密度為 1.2%。
  • 假設文章長度約 800 字,計算需要大約 10 次關鍵字出現。
關鍵字:台北 夜市 美食(共 10 次)
總字數:800
實際密度 = (10 ÷ 800) × 100% ≈ 1.25%

如果發現實際密度偏高,簡易調整方法包括:

  • 用同義詞替換部分關鍵字(例如「小吃」或「宵夜」)。
  • 在段落之間插入相關副標題,讓讀者更容易閱讀。

小技巧

  • 保持自然:即使密度達標,也不要堆砌關鍵字,文章仍須流暢。
  • 利用長尾詞:Clearscope 會建議相關副題,你可以把它們加入正文,以提高內容多樣性。
  • 定期檢查:寫完後重新開啟 Clearscope 報告,確保關鍵字密度未變動太大。

結合 Surfer SEO 做內容評分

結合 Surfer SEO 做內容評分

在網路行銷的世界裡,寫得好的文章不只會吸引讀者,也能讓搜尋結果升到前列。Surfer SEO 是一款專門分析關鍵字與內容結構的工具,若把它跟自己的評分系統結合起來,就可以快速知道哪篇文章還需要加油。以下就用實際步驟示範怎麼做!

步驟一:準備 Surfer SEO 資料

1️⃣ 登入 Surfer SEO 後,進到「內容分析」頁面。
2️⃣ 選擇你想評分的關鍵字,例如「台灣旅遊攻略」。
3️⃣ Surfer 會產生一個表格,裡面有標題、段落長度、關鍵字密度、圖片說明等指標。
4️⃣ 在右上角點擊「下載 CSV」,把資料存到電腦。

步驟二:將 CSV 匯入 Python,開始計算分數

import pandas as pd
# 讀取 Surfer 的輸出檔案
surfer_df = pd.read_csv('surfer_output.csv')

# 範例中只保留需要的欄位,實際可依需求調整
cols_needed = ['Title', 'Heading1', 'ParagraphLength', 'KeywordDensity']
surfer_df = surfer_df[cols_needed]

步驟三:定義評分公式

  • 關鍵字密度:每個段落的關鍵字出現次數 ÷ 段落長度,理想值在 1.5%~2.5%。
  • 段落長度:太短會被視為零碎,太長則容易讓人失去注意力。建議 70~140 字之間。
  • 標題結構:若 H1、H2、H3 應有分層且不重複關鍵字,可獲得額外加分。

評分公式示例(簡化版):

Score = (KeywordDensityScore * 0.4) + (ParagraphLengthScore * 0.3) + (HeadingStructureScore * 0.3)

步驟四:計算每個指標的分數

# 計算關鍵字密度得分
surfer_df['KeywordDensityScore'] = surfer_df['KeywordDensity'].apply(
    lambda x: 10 if 1.5 <= x <= 2.5 else 5 if 1.0 <= x < 1.5 or 2.5 < x <=3.0 else 0
)
# 計算段落長度得分
surfer_df['ParagraphLengthScore'] = surfer_df['ParagraphLength'].apply(
    lambda x: 10 if 70 <= x <=140 else 5 if 50 <= x <70 or 140< x <=200 else 0
)
# 標題結構得分(簡單判斷)
surfer_df['HeadingStructureScore'] = 10 # 假設已經符合結構,實際可根據 H1/H2 的關鍵字重複度計算

# 最終 Score
surfer_df['FinalScore'] = surfer_df[['KeywordDensityScore','ParagraphLengthScore','HeadingStructureScore']] .sum(axis=1) * 0.3333

步驟五:看結果,決定改進方向

  • 80 分以上 → 內容已經相當優秀,可以直接上線。
  • 60–79 分 → 需要調整關鍵字密度或增減段落長度。
  • 低於 60 分 → 建議重新規劃結構,先把 H1、H2 有清晰層級,再補充文字。

在實際操作時,你可以把這個流程寫成一個簡易的腳本,每次發佈新文章都跑一次,立刻知道哪裡需要加強。

小結

透過 Surfer SEO 的數據和自己的評分邏輯,你不只是在「看」內容,更能量化它的表現。這種方式不但省時,也讓文章品質持續上升,最終把搜尋排名跟讀者滿意度都跑到一起。

SEO 技術審核工具

Google Search Console:提交與報告分析

Google Search Console:提交與報告分析

Google Search Console(GSC)是網站擁有者必備的工具,能讓你一窺搜尋引擎如何看待你的站點。這裡會教你兩件事:怎麼把網站交給 Google 了解、以及 怎麼用報告找出問題

一、提交網站與 Sitemap
  • 驗證所有者:先進入 GSC,點選「新增屬性」輸入你網址,接著按下「HTML 標籤」、「DNS 記錄」或「Google Analytics」等方式做驗證。常見的情況是用 HTML 片段在首頁加入一行 meta 標籤;如果你是 WordPress 或 Shopify 等平台,通常已經有插件可自動完成。
  • 新增 Sitemap:在左側選單找到「Sitemap」,輸入 https://example.com/sitemap.xml(或你自己的 sitemap 位置),按下送出。Google 會定期抓取這個檔案,幫你把所有頁面加入索引。
  • 確認提交成功:回到 Sitemap 頁面,如果看到「已發佈」且沒有錯誤訊息,就代表 Google 正在閱讀你的 sitemap。若有 404 或解析失敗的訊息,要先檢查 URL 是否正確,或是 robots.txt 是否阻擋了爬蟲。
二、利用報告分析網站表現
  • 性能(Performance):這個報告顯示搜尋結果中你的頁面被點擊的次數、印象數、平均 CTR 與平均排名。你可以按「查詢」或「頁面」篩選,快速找出哪些關鍵字表現好,哪些需要改進。
  • 覆蓋(Coverage):此報告會列出被索引的頁面、失敗的 URL 以及爬蟲錯誤。常見問題包括「404 未找到」或「robots.txt 阻擋」。如果你發現某些重要頁面不在列表,先確認該頁面是否已正確提交 Sitemap。
  • 手動措施(Manual Actions):若 Google 判斷你的站點違反政策,這裡會顯示警告。通常需要修復內容重複、低品質連結或隱藏關鍵字等問題,再申請審核。
三、實際操作範例
  • 範例 1:查看某篇部落格的 CTR
1. 在 Performance 報告點選「頁面」
2. 搜尋網址或標題,找到目標文章
3. 查看平均 CTR;如果低於 5%,可能需要改寫標題或 meta 描述。
4. 點擊該行進一步查看關鍵字與搜尋結果位置。
  • 範例 2:修正 robots.txt 阻擋的頁面
1. 在 Coverage 報告找到「阻擋」狀態的 URL
2. 前往網站根目錄檢查 robots.txt,確認是否有 Disallow 條款。
3. 若是意外被阻擋,將該條目刪除或改為 Allow。
4. 回到 GSC 重新提交 sitemap 或使用「索引」工具手動抓取。
四、常見問題與小技巧
  • 爬蟲頻率不夠:若新內容上線後想快速被收錄,可在 Performance 報告中點擊「索引」 → 「索引狀態」手動請求抓取。
  • CTR 低但排名高:這通常表示標題或描述不吸引人。試著把關鍵字放到前面,或加上號召性語句(例如「教你如何…!」)。
  • 多國站點的設定:在 GSC 中使用「國家/地區」篩選,確認每個語言版位是否都有獨立 sitemap 並正確提交。
五、結語

GSC 就像一把雙刃劍,一面是搜尋引擎的視角,另一面則是你網站表現的數據。只要定期查看報告並依照提示修正問題,你就能讓 Google 更好地理解你的站點,也更容易被用戶發現。

深入使用 GSC 的報表篩選與導出

  • 建立自訂報表:在 Performance 報告右上角點「新增」,可以設定你想要的時間區間、搜尋類型(Web / 圖片 / 影片)以及層級(關鍵字 / 頁面 / 補充)。

  • 導出資料:按報表右上方的下載圖示,選擇 CSV 或 Google 試算表。這樣你可以把數據帶到 Excel 做進一步分析,例如計算平均排名變化、比較不同時間段 CTR 等。

  • 利用「搜尋條件」篩選:在報告中,你可輸入特定關鍵字或 URL,Google 只會顯示符合條件的資料。這對找出某個廣告活動帶來的流量尤為有用。

六、排除常見誤區
  • 認為 100% 點擊率=成功:高 CTR 不一定代表轉換好,還要看跳離率與停留時間。建議將 GSC 與 Google Analytics 結合使用。
  • 只關注「覆蓋」報告:雖然錯誤頁面需要修復,但也不要忽略「性能」報告裡的關鍵字趨勢,因為這能直接影響你內容策略。
七、結合其他工具提升 SEO 效果
  • 使用 Site Audit 工具:如 Screaming Frog 或 Sitebulb,先抓取整站後再比對 GSC 的索引數量,可快速找出被爬蟲忽略的頁面。
  • 利用關鍵字研究工具(例如 Ahrefs、SEMrush)了解同類競品的搜尋表現,再回到 GSC 觀察自家站點在這些關鍵字上的排名變化。
八、最後提醒
  • 定期檢查:至少每兩週查看一次 GSC 報告,尤其是剛上線的新內容。趕快發現問題就能快速修正。
  • 保持更新:Google 會不斷調整演算法與報告格式,留意官方說明文件或參加相關工作坊,可避免被新變動搞晃。

透過上述步驟,你已掌握 Google Search Console 的提交流程與報表分析技巧。下次當你看到「抓取成功」或「性能提升」的數字時,就可以自豪地說:「我讓搜尋引擎更了解我的站點!」

使用 Ahrefs Site Audit 檢測錯誤鏈接

使用 Ahrefs Site Audit 檢測錯誤連結

Ahrefs 的 Site Audit 工具不僅能幫你找出網站的 SEO 問題,還能快速定位所有錯誤的連結(broken links)。對於想提升使用者體驗、避免搜尋引擎扣分的站長來說,這是一個必備工具。

以下從零開始教你:

  • 先建立 Site Audit 專案
  • 設定目標 URL 與抓取深度
  • 執行掃描並查看報表
  • 從錯誤連結清單做修正

別擔心,步驟都很簡單,我們一步一步拆解。

六、結語

透過 Ahrefs Site Audit 檢測並修復錯誤連結,不只提升使用者體驗,也能避免搜尋引擎因 404 記錄過多而降低站點權重。只要定期跑一次掃描,配合自動化提醒,你就能輕鬆維持網站的健康狀態。

如果你還沒試過 Ahrefs 的 Site Audit,趕快把上面的步驟搬到實際操作吧!

利用 Screaming Frog 的 hreflang 檢查工具

利用 Screaming Frog 的 hreflang 檢查工具

在多語系網站中,hreflang 標籤能協助搜尋引擎判斷每一頁面對應的語言與地區。若標記不正確,可能導致同一內容被重複抓取、排名分散或使用者看到錯誤版本。

Screaming Frog 的 hreflang 檢查工具能一次掃描整個網站,列出所有的 hreflang 標籤及其相互關係,方便你快速發現問題並進行修正。

1️⃣ 步驟一:安裝與基本設定

  • 下載: 前往 Screaming Frog 官方網站,選擇「Desktop」版本(Windows / Mac)。
  • 啟動: 開啟程式後,在右上角的搜尋欄輸入你想要測試的首頁 URL,例如 https://example.com/zh-tw

2️⃣ 步驟二:啟用 hreflang 擷取

  • 點選「Configuration」>「Spider」>「Advanced」。在右側勾選「Crawl all language pages」以確保所有語言版本都被抓取。
  • 再點選「Configuration」>「Elements」>「Hreflang」,確認「Extract Hreflang Tags」已啟用。若你只想測試特定語系,可以在此設定篩選條件。

3️⃣ 步驟三:開始抓取並輸出結果

  • 點擊左上角的「Start」按鈕,Screaming Frog 會自動巡覽你網站中的所有頁面。過程中,你可以在「Hreflang」選項卡看到每一個 URL 及其對應的 hreflang 標籤。
  • 抓取完成後,點擊「Export」>「All Hreflang Tags」將結果匯出為 CSV 或 Excel。下表示範了典型輸出的結構:
URL hreflang 目標 目的地 URL
https://example.com/zh-tw zh-TW https://example.com/zh-tw
https://example.com/zh-tw en-US https://example.com/en-us
https://example.com/en-us en-US https://example.com/en-us
https://example.com/en-us zh-TW https://example.com/zh-tw

4️⃣ 步驟四:審查與修正

  • 確認對應完整: 每一個語言版本都必須在其他版本的 hreflang 標籤中出現,形成互相參照。若缺少「x-default」或某語系未被引用,就需要手動補上。
  • 檢查重複與衝突: 有時同一頁面會被誤設為多個語言版本,或是 hreflang 代碼寫錯(如 zh_TW 而非 zh-TW)。
  • 避免循環依賴: 確保標記不會造成無窮迴圈,例如 A 指向 B、B 再指回 A,除非這是正確的語言對應。

常見錯誤與排解技巧

  • 忘記加 x-default: 若某些頁面不屬於任何特定地區,必須為它們提供一個「預設」版本。可以在所有語言頁面的 hreflang 標籤中加入 <link rel="alternate" href="https://example.com/zh-tw" hreflang="x-default">
  • 錯誤的語言碼: 依照 ISO 639‑1 與 ISO 3166‑1 的組合,例如 en-USes-MX。若使用非標準代碼,搜尋引擎會忽略該標籤。
  • 重複標記: 同一頁面在不同位置(如 <head><body>)都寫了相同的 hreflang 標籤,Screaming Frog 只會顯示一次,但仍需清理冗餘程式碼。
  • 遺漏 URL: 若某個語言版本沒有在網站內部連結(例如外部直接輸入網址),Screaming Frog 可能無法抓到。建議先確認所有 hreflang 目標都能被搜尋引擎索引。

小結

使用 Screaming Frog 的 hreflang 檢查功能,能在短時間內檢視整個多語系網站的 hreflang 配置。只要依照上述步驟抓取、輸出並逐一審查,就能快速定位問題並修正。持續定期執行這項掃描,可確保網站對搜尋引擎與使用者都保持最佳呈現效果。

Chrome DevTools 進行網站速度分析

Chrome DevTools 進行網站速度分析

本章節將帶你透過瀏覽器內建的開發者工具,快速找出網站效能瓶頸,並提出實際改善方案。

開啟 DevTools

1️⃣ 在 Chrome 瀏覽器中,右鍵點擊網頁空白處,選擇「檢查」或使用快捷鍵 Ctrl+Shift+I(Windows)/ Cmd+Opt+I(macOS)。

進入 Performance 面板

1️⃣ 點擊 DevTools 上方的 Performance 標籤。
2️⃣ 按下紅色錄製按鈕,重新整理頁面(F5 或 Ctrl+R)後停止錄製,即可捕捉整個載入過程。

讀取關鍵指標

  • Total Blocking Time:腳本執行阻塞渲染的時間,越低表示頁面回應更快。
  • Largest Contentful Paint (LCP):最大的內容塊何時完成繪製,目標值 < 2.5 秒。
  • First Input Delay (FID):用戶第一個互動的延遲時間,盡量 < 100 毫秒。

分析 Network 面板中的資源

1️⃣ 切換到 Network 標籤。
2️⃣ 檢查每個檔案的大小、請求時間與壓縮狀態。
3️⃣ 對於大檔案(> 200 KB)或未啟用 Gzip/ Brotli 的資源,往往是瓶頸所在。

使用 Lighthouse 產生完整報告

1️⃣ 在 DevTools 內點擊 Lighthouse 標籤。
2️⃣ 勾選「Performance」與「Best Practices」,按下 Generate report。
3️⃣ 報告會顯示可量化的建議,例如:

  • 啟用瀏覽器快取(Cache-control)。
  • 移除不必要的第三方腳本。
  • 使用現代圖片格式(WebP、AVIF)。

實際案例:首頁載入時間從 4.8 秒降至 2.1 秒

  • 優化前:大量同步 JS,且圖片未壓縮。
  • 優化後:將腳本改為非同步(async)並使用 CDN;所有圖片轉為 WebP。
  • 結果:LCP 下降至 1.6 秒,Total Blocking Time 由 350 ms 降到 90 ms。

常見陷阱與小技巧

  • 切勿將所有圖片改為 WebP,部分舊版瀏覽器不支援,需提供 fallback。
  • 使用 Chrome 的 Coverage 面板可以快速找出未被使用的 CSS/JS。
  • 定期檢查第三方腳本(如廣告、分析工具),因為它們往往會拖慢頁面。

小結

利用 Chrome DevTools 的 Performance、Network 與 Lighthouse,能即時抓取效能瓶頸並提供具體改善建議。只要遵循上述步驟,網站載入速度通常可大幅提升,也讓搜尋引擎對你的網頁更友善。

可視化報告與自動化腳本

用 Data Studio 製作 SEO 報表範例

Data Studio 製作 SEO 報表範例

在這份教學中,我們會一步步示範,如何利用 Google Data Studio 搭配 Search Console 與 Analytics 的資料,快速製作一份完整且易讀的 SEO 報表。流程大致分為三個階段:

  • 資料來源接入
  • 報表設計與圖形選擇
  • 進階設定(篩選、刷新)

以下以「example.com」為例,說明每一步驟的具體操作。

1️⃣ 資料來源接入

  • 在 Data Studio 左上角點選 新增資料來源
  • 典型的三種來源:
    • Search Console(關鍵字、印象、點擊)
    • Google Analytics(訪客行為、跳出率等)
    • Google Sheets(自訂 KPI 或外部 API 抓取的資料)
1.1 搜尋控制台接入
  • 在搜尋框輸入「Search Console」並選擇官方連結。
  • 點擊 授權,允許 Data Studio 存取您帳戶中的網站資料。
  • 選擇欲使用的網站(如 example.com)後點選 新增
1.2 Google Analytics 接入
  • 搜尋「Google Analytics」並授權。
  • 選取您想要分析的屬性與資料視圖(View)。
  • 點選 新增,完成連接。
1.3 Google Sheets 接入
  • 在「Google Sheets」中建立一份簡單的工作表,例如:

Date,Keyword,Clicks,Impressions,CTR,Position
2024-01-01,example keyword,120,5000,2.40%,10.5

  • 使用 新增 將該工作表連結進 Data Studio。

2️⃣ 報表設計與圖形選擇

  • 在左側「頁面」區域新增一個空白報表,並給予名稱,例如 SEO 報表
  • 將剛才連結的資料來源拖曳到畫布上,開始建立圖形。
2.1 日期範圍控制
  • 在右側「控件」選項中找到 日期範圍控制,拖至報表頂端。
  • 設定預設值為「過去 30 天」,方便即時查看趨勢。
2.2 點擊與印象折線圖
  • 拖曳 折線圖 至畫布中。
  • 設定「時間」為維度,並分別加入「點擊」與「印象」兩個指標。
  • 在「樣式」面板調整顏色:點擊藍、印象橙,以提升辨識度。
2.3 前十關鍵字表格
  • 拖曳 資料表
  • 選取維度:Keyword;指標:Clicks、Impressions、CTR、Avg. Position。
  • 在「樣式」中勾選「排序」並設為「點擊(降序)」。
  • 加上「篩選」→Top N,設定 10 並以點擊為排序依據。
2.4 有機流量來源圓餅圖
  • 拖曳 圓餅圖
  • 維度設為「Source / Medium」;指標選擇「Sessions」。
  • 在資料設定中勾選「僅顯示有機(Organic)」以排除付費來源。
2.5 計算欄位:點擊率 (CTR)
  • 點擊畫布右上角的 計算欄位,名稱填 CTR
  • 使用公式:Clicks / Impressions * 100,並將格式設為「百分比(兩位小數)」。
  • 在需要顯示 CTR 的圖表或表格中加入此欄位即可。
2.6 指標與維度對應表
資料來源 維度 / 指標 說明
Search Console Keyword 搜尋關鍵字
Search Console Clicks 點擊數
Search Console Impressions 印象數
Search Console CTR 點擊率(%)
Search Console Position 平均排名
Google Analytics Sessions 使用者進入次數
Google Analytics Bounce Rate 跳出率

3️⃣ 進階設定(篩選、刷新)

  • 篩選控制:在右側「控件」區域加入「下拉式選單」,將維度設為「Country」。使用者即可直接挑選國家查看各地表現。
  • 資料刷新:Data Studio 內建自動更新機制,預設每 12 小時刷新一次。若需更頻繁,可至報表設定 > 資料來源,手動啟用「立即刷新」。

4️⃣ 報表發布與分享

  • 點擊右上角的 發佈新增發布版本
  • 在彈出視窗中設定網址、標題,並選擇「只讀」或「可編輯」。
  • 若要在網站嵌入報表,可複製取得的 iframe 程式碼(不使用圖片)。

5️⃣ 小結與建議

  • Data Studio 的「拖放」方式,讓非技術人員也能快速上手。
  • 建議每週或每月更新一次報表,以掌握趨勢變化。
  • 若想將多個網站的 SEO 表現統一呈現,可在同一報表中新增多份資料來源,並使用「篩選」控制切換。

Python Scrapy 進行定時抓取與分析

Python Scrapy 定時抓取與分析總覽

本教學會帶你從零開始,使用 Scrapy 建立一個可自動化抓取網站資料的爬蟲,並透過 cronAPScheduler 讓它定時執行。完成後,我們將把抓到的資料轉成 CSV,再利用 pandasmatplotlib 做簡易分析與視覺化報告。

流程大致可拆分為:

  • 建立 Scrapy 專案與撰寫 Spider
  • 設定爬蟲抓取規則(Selectors、Pagination)
  • 將結果輸出為 CSV/JSON
  • 使用排程工具讓爬蟲自動執行
  • 讀取資料並做分析/畫圖

讓爬蟲自動化定時執行(cron 範例)

  1. 在專案根目錄建立 run_scraper.sh:

#!/bin/bash

cd /path/to/mycrawler

scrapy crawl news -o $(date +"%Y%m%d_%H%M%S")_news.csv

  1. 使腳本可執行:chmod +x run_scraper.sh

  2. 編輯 crontab(每日早上 6 點):

crontab -e,加入以下一行:

0 6 * * * /path/to/run_scraper.sh

若使用 Windows,可搭配 Task Scheduler 或安裝 Git Bash + cron

使用 APScheduler 於 Python 程式內部排程

from apscheduler.schedulers.blocking import BlockingScheduler

import subprocess

def run_scraper():

cmd = ['scrapy', 'crawl', 'news', '-o', f'{time.strftime("%Y%m%d_%H%M%S")}_news.csv']

subprocess.run(cmd)

scheduler = BlockingScheduler()

每日 6 點執行

scheduler.add_job(run_scraper, 'cron', hour=6)

scheduler.start()

]

資料後處理與簡易分析(pandas + matplotlib)

import pandas as pd

import matplotlib.pyplot as plt

讀取最新 CSV

latest_file = sorted(Path('data').glob('*.csv'))[-1]

df = pd.read_csv(latest_file)

以日期分組統計文章數量

df['date'] = pd.to_datetime(df['date'])

daily_counts = df.groupby(df['date'].dt.date).size()

繪圖

plt.figure(figsize=(10, 4))

daily_counts.plot(kind='bar', color='#1f77b4')

plt.title('每日新聞篇數')

plt.xlabel('日期')

plt.ylabel('文章數量')

plt.tight_layout()

plt.savefig('reports/daily_counts.png')

]

整合報告範例(Markdown + 圖片)

  • 每月新聞趨勢monthly.png
  • 關鍵字頻率:使用 CountVectorizer 產生詞雲。
小結

透過上述步驟,你可以輕鬆建立一套從網站抓取資料、定時執行,到分析並產生報告的完整流程。未來你也可以把產出的圖表嵌入電子郵件或簡報,讓團隊隨時掌握最新資訊動態。

有任何問題歡迎在下方留言,我們一起討論!

利用 Zapier 連結工具自動更新報告

利用 Zapier 連結工具自動更新報告

想要把網站審核的數據,從 Google Sheets 或是 Airtable 直接送到 Power BI、Looker Studio 等視覺化平台,每天都能自動產生最新報表嗎?這個流程就可以用 Zapier 完成。以下以「Google Sheets → Looker Studio」為例說明,步驟同樣適用於其他組合。

步驟一:準備資料來源

  • 確認 Google Sheet 已經建立好,欄位名稱要與報表需求對應(例如: URL, Title, Status)。
  • 若使用 Airtable 或 Notion,只需把資料同步到 Google Sheets,Zapier 目前支援這些服務。

步驟二:在 Zapier 建立 Zap

  1. 登入 Zapier 後點擊 Create Zap
  2. 在 Trigger 欄位選擇「Google Sheets」並設定為 New Spreadsheet Row(或是「Updated Spreadsheet Row」)。
  3. 連結您的 Google 帳號,並挑選剛才準備好的工作表。

步驟三:設定 Action

  • 選擇 Looker Studio(若無直接支援,可改為「Google Sheets」再用 Looker Studio 的資料來源)。
  • Create New RowUpdate Existing Row 作為動作,並把 Sheet 裡的欄位映射到報表字段。

步驟四:測試與啟用 Zap

  • 點擊 Test Trigger 檢查資料是否正確抓取。
  • 若結果沒問題,點選 Continue,再執行一次 Action 測試。
  • 最後開啟 Zap,從此每次新增或更新一筆資料,都會自動推送到 Looker Studio,報表即時刷新。

常見問題解決

問題 解答
為什麼新資料不立即顯示? Zapier 內部有 5 分鐘的緩衝,請稍候或手動觸發一次。
如何處理大量資料? 建議使用 Batch Update 或把工作表拆成多個 Sheet,再設定多個 Zap。

小結

透過 Zapier,你不需要寫任何程式碼,只要在幾個點擊之間就能把網站審核的數據自動送到可視化報表,省下大量手工整理時間。若想更進階,例如加入條件判斷或多步驟工作流,可以參考 Zapier 官方教學: https://zapier.com/learn/automation-tutorials/

進一步資源與範例

  • Zapier 官方教學https://zapier.com/learn/
  • Google Sheets 範本:可直接下載使用的範本,包含欄位對應說明。
  • Looker Studio 範例報表:示範如何把資料源連到圖表。

以下展示一些常用 Markdown 元素,方便你在文件或筆記中整理流程:

  • 清單

    • 項目一
    • 項目二
  • 程式碼區塊

範例 Python 程式碼

print('Hello, 世界')

  • 表格
標題1 標題2
資料A 資料B
  • 連結

Zapier 官方網站 讓你快速上手。

使用 Google Apps Script 整合多項審核結果

使用 Google Apps Script 整合多項審核結果

這 範例將示範如何利用 Google Apps Script 把來自不同網站審核工具(如 PageSpeed、SEO、可訪問性)的報告,匯總到一份 Google Sheet,並透過圖表視覺化。
你會學到:

  • 建立 Script 專案並設定觸發器
  • 讀取 API 回傳的 JSON
  • 動態更新工作表欄位
  • 用 Apps Script 畫圖表

步驟一:建立 Google Apps Script 專案

在 Google 雲端硬碟中選擇『新增』 → 『更多』 → 『Google Apps Script』。
將專案命名為 '多審核報告整合',並開啟 Code.gs 檔案。

步驟二:設定 OAuth 及 API 金鑰

依據各審核工具的官方文件取得 API key,例如 PageSpeed Insights 需要 Google Cloud Console 的 API 金鑰。
將金鑰暫存於 Script Properties:
function setKeys(){
const scriptProperties = PropertiesService.getScriptProperties();
scriptProperties.setProperty('PSI_KEY', 'YOUR_API_KEY');
}
執行一次 setKeys,並在授權畫面中允許存取。

步驟三:撰寫抓取函式

以下示範如何取得 PageSpeed Insights 及 Lighthouse 的分數:
function fetchPageSpeed(url){
const key = PropertiesService.getScriptProperties().getProperty('PSI_KEY');
const endpoint = 'https://www.googleapis.com/pagespeedonline/v5/runPagespeed';
const params = '?url=' + encodeURIComponent(url) + '&key=' + key;
const response = UrlFetchApp.fetch(endpoint + params);
return JSON.parse(response.getContentText());
}
function fetchSEOReport(domain){
// 假設使用免費 API,示範結構:
const endpoint = 'https://api.seo.example.com/report?domain=' + encodeURIComponent(domain);
const response = UrlFetchApp.fetch(endpoint, {headers:{'Accept':'application/json'}});
return JSON.parse(response.getContentText());
}

步驟四:寫入 Google Sheet

在 Spreadsheet 上建立兩張工作表: '原始資料' 與 '匯總報告'。
function writeData(url){
const ss = SpreadsheetApp.getActiveSpreadsheet();
const rawSheet = ss.getSheetByName('原始資料');
const summarySheet = ss.getSheetByName('匯總報告');
// 取得 PageSpeed 分數
const psiData = fetchPageSpeed(url);
const psiScore = psiData.lighthouseResult.categories.performance.score * 100;
// 取得 SEO 分數(假設回傳結構為 score)
const seoData = fetchSEOReport(new URL(url).hostname);
const seoScore = seoData.score;
// 寫入原始資料
rawSheet.appendRow([new Date(), url, psiScore, seoScore]);
// 更新匯總報告(簡易平均)
const rows = rawSheet.getRange(2,1,rawSheet.getLastRow()-1,4).getValues();
let totalPsi=0, totalSeo=0;
rows.forEach(r=>{totalPsi+=r[2]; totalSeo+=r[3]});
const avgPsi = totalPsi/rows.length;
const avgSeo = totalSeo/rows.length;
summarySheet.getRange('A1').setValue('平均 PageSpeed');
summarySheet.getRange('B1').setValue(avgPsi.toFixed(2));
summarySheet.getRange('A2').setValue('平均 SEO');
summarySheet.getRange('B2').setValue(avgSeo.toFixed(2));
}
執行 writeData('https://example.com') 可即時更新報表。

步驟五:自動化與視覺化

在 Apps Script 編輯器選擇『編輯』 → 『目前專案的觸發條件』,新增時間觸發器,例如每天凌晨 2 點執行 writeData
為了讓報告更直觀,可利用 Spreadsheet 的圖表功能:

  • 在 '匯總報告' 工作表插入折線圖,X 軸為日期,Y 軸為 PageSpeed 與 SEO 分數。
  • 在 Script 裡自動調整圖表範圍:
    function updateChart(){
    const ss = SpreadsheetApp.getActiveSpreadsheet();
    const chartSheet = ss.getSheetByName('匯總報告');
    const charts = chartSheet.getCharts();
    if(charts.length===0){
    const newChart = chartSheet.newChart()
    .setChartType(Charts.ChartType.LINE)
    .addRange(chartSheet.getRange('A1:B'+chartSheet.getLastRow()))
    .setPosition(5,4,0,0);
    chartSheet.insertChart(newChart.build());
    } else {
    charts[0].modify().addRange(chartSheet.getRange('A1:B'+chartSheet.getLastRow())).build();
    }
    }
    updateChart 加入同樣的時間觸發器,確保每次更新資料後圖表同步。

小結

透過上述程式,你能把多個審核工具的報告一次性抓取、整理並即時呈現在 Google Sheet 上;
如果你想加入更多指標,只需在 fetch* 函式中擴充 API 請求,或在 writeData 裡再加欄位即可。