自然搜尋結果 API:如何解析標題、URL、摘要和排名位置

了解如何解析來自 SERP API 的自然搜尋結果,包括標題、URL、摘要、排名位置、網域名稱、查詢上下文、URL 規範化以及排名變更。

自然搜尋結果 API:如何解析標題、URL、摘要和排名位置
Cecilia Hill
最後更新於
7 分鐘閱讀

自然搜尋結果仍然是大多數搜尋資料工作流的核心。AI 答案、廣告、Local Pack、Shopping 卡片和影片結果會改變頁面佈局,但 organic results 仍然是內容可見度、競品追蹤、市場研究與 SEO 監控中最穩定的資料訊號之一。

如果你正在建立排名追蹤工具、搜尋監控系統、AI Agent、研究資料管線或競品情報儀表板,第一個問題通常很直接:

我們應該從自然搜尋結果中提取哪些資料?

實用答案是:先從 titles、URLs、snippets 和 positions 開始。

這四個欄位構成了 organic search data 的基本骨架。它們告訴你出現了什麼、出現在哪裡、如何被描述,以及可見度如何。

什麼是 Organic Results API?

Organic Results API 是一種搜尋資料 API,用來從搜尋結果頁中返回結構化的自然搜尋結果。你不需要人工打開搜尋頁複製連結,而是透過 API 取得這些欄位:

欄位

含義

Title

搜尋結果中可點擊的標題

URL

實際目標頁面

Displayed URL

搜尋結果中展示的 URL

Snippet

標題下方的簡短描述

Position

organic ranking position

Domain

網站網域

Search query

使用的查詢詞

Location

搜尋地區

Device

Desktop 或 mobile

Timestamp

資料收集時間

目標不是單純收集搜尋頁,而是把搜尋可見度轉成可以儲存、比較、篩選和分析的結構化資料。

為什麼 title、URL、snippet 和 position 很重要?

自然搜尋結果看起來很簡單,但每個欄位回答的是不同問題。

欄位

回答的問題

Title

這個頁面如何被呈現?

URL

哪個頁面實際排名?

Snippet

搜尋結果如何描述它?

Position

這個結果有多可見?

對 SEO 團隊來說,這些欄位可用於排名與內容監控。對產品團隊來說,它們能顯示哪些競品出現在重要查詢中。對 AI 團隊來說,它們可以為 Agent 和 RAG 工作流提供即時搜尋上下文。對內容團隊來說,它們能揭示文章如何被搜尋引擎展示和摘要。

一條搜尋結果就像一個很小的門店。Title 是招牌,snippet 是銷售話術,URL 是入口,position 是門店所在的街角。

1. 解析 title

Title 是自然搜尋結果中可點擊的標題。

例如:

{
  "title": "Best Project Management Software for Small Teams"
}

Title 能幫你理解頁面在搜尋結果中的定位。它可能與頁面的 <title> 一致,也可能被搜尋引擎改寫。

應該收集 title,因為它能回答:

問題

為什麼重要

預期標題是否被展示?

發現 title rewrite

競品標題如何寫?

支援內容定位

Top results 常出現哪些詞?

理解搜尋意圖語言

標題偏商業還是教育?

判斷查詢意圖

不要假設 HTML <title> 和搜尋結果 title 永遠相同。搜尋引擎可能會根據查詢、頁面內容和上下文改寫標題。

可用欄位包括:

欄位

範例

title

Best CRM Software in 2026

title_length

25

contains_brand

true

contains_query_term

true

detected_intent

comparison

SEO 監控來說,title 變化是早期訊號。即使排名沒有變,title 改變也可能影響點擊率。

2. 解析 URL

URL 告訴你哪個頁面真正獲得排名。

例如:

{
  "url": "https://example.com/blog/best-project-management-tools"
}

這看起來很基本,但非常重要。某個網域可能排名了,但排名的可能不是你希望的頁面。分類頁可能取代文章頁,競品比較頁可能超過產品頁,本地頁面也可能只在特定城市出現。

有用欄位包括:

欄位

範例

url

完整目標 URL

domain

example.com

path

/blog/best-tools

protocol

https

url_type

blog、product、category、documentation

is_homepage

false

canonical_group

標準化頁面分組

URL 解析特別適合這些場景:

場景

範例

競品追蹤

哪些競品頁面經常排名

內容內耗

同站多個頁面競爭同一查詢

落地頁監控

產品頁還是文章頁在排名

國際 SEO

不同國家 URL 是否出現

文件可見度

docs 頁是否排名開發者查詢

解析 URL 時應該做標準化。去掉不必要的 tracking parameters,拆分 domain 和 path,並謹慎地把相似 URL 分組。

例如:

https://example.com/blog/serp-api?utm_source=newsletter

可以標準化為:

https://example.com/blog/serp-api

但不要盲目刪除所有參數。有些參數會控制語言、篩選條件或頁面狀態。

3. 解析 snippet

Snippet 是 title 和 URL 下方的簡短描述。

例如:

{
  "snippet": "Compare project management tools for small teams, including pricing, features, integrations, and use cases."
}

Snippet 很有價值,因為它展示了搜尋引擎如何針對特定查詢摘要一個頁面。

應該收集 snippet,用來理解:

問題

為什麼重要

使用者看到什麼訊息?

影響點擊行為

是否提到重要功能?

衡量內容匹配度

是否展示價格、日期或主張?

適合監控

Snippet 是否因查詢而變?

分析意圖匹配

競品如何被描述?

支援定位研究

Snippet 可以支持這些工作流:

工作流

Snippet 的作用

SEO 優化

看目標詞是否出現

品牌監控

發現錯誤或過時描述

競品研究

比較競品描述方式

AI 搜尋準備

為 Agent 提供乾淨上下文

內容刷新

找到日期過舊或信息弱的頁面

有用欄位包括:

欄位

範例

snippet

主要可見描述

snippet_length

156

contains_date

true

contains_price

false

mentioned_entities

CRM、small business

snippet_language

en

Snippet 不一定穩定。同一頁可能保持相同排名,但在不同查詢或地區顯示不同 snippet。這正是它適合做搜尋意圖分析的原因。

4. 解析 position

Position 表示結果在自然搜尋列表中的位置。

例如:

{
  "position": 3
}

Position 是大家最關心的排名欄位,但它需要被清楚定義。

常見 position 類型包括:

類型

含義

Organic position

只在自然搜尋結果中的排名

Absolute position

在整個 SERP 頁面元素中的位置

Page number

搜尋結果頁碼

Pixel position

螢幕上的視覺位置

Above-the-fold status

是否出現在首屏

大多數 Organic Results API 關注的是 organic position。也就是說,即使上方有廣告、AI 答案或其他 SERP features,第一條自然結果仍然是 position 1。

這很有用,但不完整。Organic position 1 仍然可能被廣告、AI Overviews、Local Pack 或 Shopping results 推到很下面。

更好的做法是同時收集:

欄位

作用

position

自然搜尋排名

page

頁碼上下文

absolute_position

整頁位置

above_fold

視覺曝光

serp_features_above

解釋曝光損失

現在的搜尋頁已經不是整齊排列的十條藍色連結,而更像一個擁擠車站:招牌、廣告、地圖、卡片和答案框都在搶注意力。

一個簡單的 organic result schema

一條乾淨的 organic result 記錄可以長這樣:

{
  "query": "best project management software",
  "search_engine": "google",
  "country": "US",
  "language": "en",
  "device": "desktop",
  "collected_at": "2026-06-25T09:00:00Z",
  "organic_results": [
    {
      "position": 1,
      "title": "Best Project Management Software of 2026",
      "url": "https://example.com/project-management/best-software",
      "domain": "example.com",
      "displayed_url": "example.com/project-management",
      "snippet": "Compare the best project management tools based on pricing, features, integrations, and team size."
    }
  ]
}

這個 schema 已經足以支撐很多第一版 SEO 工具、監控儀表板和 AI 搜尋工作流。

之後可以增加:

額外欄位

用途

favicon

UI 展示

rich_snippet

評分、價格、日期

sitelinks

品牌可見度

thumbnail

視覺結果追蹤

result_type

Organic、news、video、forum

content_category

Blog、product、docs、review

第一版不要過度設計。先收集最可信的欄位。

如何在工作流中解析 organic results

典型流程可以分六步。

Step 1:定義查詢詞

先決定要監控的關鍵字或搜尋意圖。

查詢類型

範例

產品類別

best SERP API

對比查詢

SerpApi alternatives

問題查詢

how to track Google rankings

開發者意圖

search results API Python

品牌查詢

TalorData SERP API

Step 2:設定搜尋參數

搜尋結果會因國家、語言、裝置和地區而改變。

每次都應保存:

參數

範例

Search engine

Google

Country

United States

Language

English

Device

Desktop

Location

New York

Page depth

Top 10 或 top 100

沒有上下文,排名比較會變得混亂。

Step 3:請求結構化資料

API 應該返回比原始 HTML 更容易解析的結構化資料。例如,TalorData 的 SERP API 支援 Google 和其他主要搜尋引擎的即時 SERP 資料,提供 JSON / HTML 輸出、地理定位能力,並可用於 SEO monitoring、competitor tracking、AI agents 和 RAG workflows。立即免費試用>>

實際價值在於,你可以專注分析 organic results,而不是從零維護容易壞掉的頁面解析器。

Step 4:標準化欄位

標準化 title、URL、domain、snippet 和 position。

例如:

from urllib.parse import urlparse, urlunparse, parse_qsl, urlencode

TRACKING_PARAMS = {"utm_source", "utm_medium", "utm_campaign", "utm_term", "utm_content"}

def normalize_url(url: str) -> str:
    parsed = urlparse(url)
    query_pairs = [
        (k, v) for k, v in parse_qsl(parsed.query)
        if k not in TRACKING_PARAMS
    ]
    clean_query = urlencode(query_pairs)
    return urlunparse((
        parsed.scheme,
        parsed.netloc.lower(),
        parsed.path.rstrip("/"),
        "",
        clean_query,
        ""
    ))

def parse_organic_result(item: dict) -> dict:
    url = item.get("url", "")
    parsed = urlparse(url)

    return {
        "position": item.get("position"),
        "title": item.get("title", "").strip(),
        "url": normalize_url(url),
        "domain": parsed.netloc.lower(),
        "snippet": item.get("snippet", "").strip()
    }

這種小型清洗層,能讓後續分析更可靠。

Step 5:保存快照

不要只保存最新結果。每次採集都要帶時間戳保存。

這樣才能追蹤:

變化

範例

排名變化

Rank 5 到 rank 2

URL 替換

文章頁被產品頁取代

Title 變化

搜尋引擎改寫標題

Snippet 變化

新功能出現在摘要中

競品進入

新競品進入 top 10

搜尋資料有了記憶,才真正有分析價值。

Step 6:建立提醒與報告

有了結構化快照,就可以建立提醒。

常見提醒包括:

提醒

含義

目標 URL 跌出 top 10

可見度下降

競品進入 top 3

競爭風險

Snippet 不再包含核心功能

訊息漂移

錯誤頁面排名

內容內耗

Title 明顯變化

CTR 風險

週報可以包含排名變化、新增 URL、丟失 URL、主要競品、snippet 變化和內容機會。

常見解析錯誤

錯誤 1:把 displayed URL 當成 destination URL

Displayed URL 可能被縮短、格式化或簡化。應該單獨保存真正的目標 URL。

錯誤 2:忽略查詢上下文

Title 和 snippet 必須放在 query、country、language 和 device 中理解。

錯誤 3:認為 position 等於可見度

Organic position 1 不一定代表視覺上最靠前。上方可能有很多 SERP features。

錯誤 4:過度清洗 URL

刪除所有參數可能會破壞語意。有些參數控制語言、篩選條件或頁面狀態。

錯誤 5:不保存歷史資料

沒有快照,就無法解釋排名何時變化、哪個 URL 替代了它、之前展示了什麼 snippet。

結語

解析 organic results 本身不複雜,但要做好,需要穩定的方法。

Title 告訴你頁面如何被呈現。URL 告訴你哪個頁面真正排名。Snippet 告訴你搜尋引擎如何描述這個頁面。Position 告訴你它在自然搜尋列表中的可見度。

這些欄位合在一起,就是 SEO monitoring、competitor intelligence、AI agent search、content audit 和 market research 的資料基礎。

先建立乾淨 schema。保留查詢上下文。謹慎標準化 URL。保存歷史快照。最後圍繞變化做報告,而不是只看單次排名。

Organic result data 看起來像樸素的管道工程,但管道做得好,整棟搜尋情報房子才不會漏水。

立即開展您的數據業務

加入全球最強大的代理網絡

免費試用