

# 如何在固定的 Bing 關鍵字面板比較競爭對手出現情況

在一個固定的 Bing 查詢面板上，比較已檢查的競爭對手網域。使用相同的要求市場、語言和結果上限。每個有用查詢只把一個網域計一次。在另一欄保留其觀察到的最佳排名。結果是抽樣的搜尋出現情況。它不是市場佔有率。它也不是每位本地使用者的搜尋結果。

Actor 是託管的資料收集程式。Task 是已儲存的輸入預設。Actor 收集來源列。你在本文做這項比較。

## 你在比較甚麼

網域是你選擇要點算的網站主機。查詢面板是一份精確詞組的短清單。固定是指你在看到結果之前寫下該清單，之後不再更改。上限是你要求為一條精確查詢保留的最多結果數目。

自然結果是指該列不是付費廣告。對於自然結果列，isSponsored 是 false。出現是指該網域出現在該查詢所保留的樣本中。

not_seen_within_cap 是指查詢成功，而該網域在上限之內沒有出現。source_failed 是指該查詢的覆蓋範圍未知。不要把失敗的查詢存成零。unresolved_identity 是指你仍然不能把該主機連到該公司。該主機不是已知的缺席。

排名是該精確收集樣本中的次序。它不是每個人的排名。

## 設定 Bing 輸入

目前公開的 Google Search Scraper 組建是 1.0.15。此組建可以處理 Google、Bing、Brave 和 DuckDuckGo。這些步驟只接受 Bing。已儲存的 Task 是起步輸入。它不會替你做這項比較。

目前已儲存的輸入在下面。你會整份更換查詢清單和引擎清單。

```json
{
  "queries": ["competitor brand", "product category", "best product alternatives"],
  "engines": ["google", "bing", "brave", "duckduckgo"],
  "maxResultsPerExecutedQuery": 20,
  "country": "US",
  "language": "en",
  "safeSearch": true,
  "includeSponsoredResults": false
}
```

設定 Bing 輸入

第一次檢查時，使用一條預定詞組，並且只用 Bing。把上限設為 2。已核對的驗收檢查使用國家 US 和語言 en。safeSearch 為 true 會開啟安全搜尋篩選。includeSponsoredResults 為 false 是要求排除付費廣告。沒有擴展設定。不要加入頁數上限欄位。已核對的兩列先導測試剛好讀取一頁。

在執行此輸入之前，把 one intended phrase 這幾個字換成你的真實詞組。

```json
{
  "queries": ["one intended phrase"],
  "engines": ["bing"],
  "maxResultsPerExecutedQuery": 2,
  "country": "US",
  "language": "en",
  "safeSearch": true,
  "includeSponsoredResults": false
}
```

設定 Bing 輸入

對於之後的面板，為每條精確查詢選定同一個上限。保持相同的國家、語言、安全搜尋和贊助結果設定。之後的上限由你選擇。它不是隱藏欄位。國家和語言是所要求的設定。它們不能證明讀者住在何處。它們不保證有地圖結果或本地結果包。

## 閱讀一列結果

一列是一個引擎、一條查詢、一頁和一個位置的一個結果。Actor 可以在一次執行中保留多條查詢。它不會為世界上每個網站各做一列。

把列欄位當作來源證據使用：

- runId 是該次收集執行的 id。
- country 是所要求的國家。
- language 是所要求的語言。
- safeSearch 記錄安全搜尋篩選是開啟還是關閉。
- engine 是該列的搜尋引擎。
- executedQuery 是實際執行的精確詞組。
- page 是結果頁碼。
- rankOnPage 是該頁上的位置。
- rank 是收集樣本中的位置。
- title 是結果標題。
- canonicalUrl 是 Actor 清理後的地址。保持該字串不變。它不是從頁面 HTML 讀取的 canonical 標籤。它也不是原始連結的完整複本。
- resultDomain 是該地址的主機。
- snippet 是搜尋結果上的短文字。它不是從頁面取得的文字。它不能證明一項聲稱。
- isSponsored 在該列是付費廣告時為 true。
- 當該列是廣告時，advertiserDomain 是廣告主網站的主機名稱。
- observedAt 是收集時間。
- schemaVersion 是列格式的名稱。

如果一列的 isSponsored 為 true，不要把它計入自然排名。Actor 不會開啟目的地頁面。它不會移除所有額外的頁面文字。它不會核對引文。它不會為業務成功評分。它不會排程重複執行。與你的決定有關的頁面，由你開啟。

## 閱讀執行摘要

OUTPUT 是執行摘要。它與單一結果列不是同一樣東西。把一條查詢標為有用之前，先閱讀 OUTPUT。

- queriesRequested 是你送出的詞組數目。
- searchesCompiled 是已準備的搜尋數目。
- executionsPlanned 是已計劃的引擎執行數目。
- enginesSuccessful 是成功的引擎數目。
- enginesFailed 是失敗的引擎數目。
- pagesAttempted 是已嘗試的頁面數目。
- pagesParsed 是已讀取的頁面數目。
- resultsSaved 是已保留的結果列數目。
- engineStatusCounts 按引擎把狀態分組。
- engineResultCounts 按引擎把已保留的列分組。
- queryResultCounts 按查詢把已保留的列分組。
- stopReason 說明執行為何停止。

一次目前的 Bing 對照使用詞組 Python asyncio documentation，並使用 US 和 en。它返回兩個直接的 docs.python.org URL。引擎是 bing。已執行的查詢是同一詞組。兩列都是第 1 頁。排名是 1 和 2。每列都有 observedAt。OUTPUT 報告一個成功的引擎、一個已讀取的頁面，以及 stopReason result_caps_reached。

該對照顯示，Bing 對 URL、排名和收集時間的支援有限。它不是競爭對手面板測試。它沒有驗證 Google、Brave 或 DuckDuckGo。它沒有驗證每個運算子、每個國家，也沒有驗證重複的排名測試。一條失敗的 Google 路徑有重新導向連結，其最終頁面並不清楚。不要把那些連結當作已接受的頁面地址。

成功並達到上限的查詢可以支持 not_seen_within_cap。失敗的查詢不可以。上限或空白結果並不表示你看過整個索引。

## 進行比較

1. 先選擇一個目標市場和一種語言。選擇你需要作出的網站決定。寫下查詢清單。寫下競爭對手清單。在你看到誰出現之前做這些事。看到結果之後，不要增加或刪除查詢。看到結果之後，不要增加或刪除公司。
2. 開啟每家公司目前的公開網站。在執行之前寫下精確的主機規則。說明子網域是否計算在內。名稱相近的網誌、目錄或聯盟網站不會自動就是該公司。這項身分核對由你負責。Actor 不會驗證公司。如果主機仍然不清楚，標為 unresolved_identity。不要把該格當作已知的缺席。
3. 先用上面的 Bing 輸入執行一條詞組。使用 maxResultsPerExecutedQuery 2。使用你要求的國家和語言。已核對的驗收檢查只用了 US 和 en。把 safeSearch 設為 true。把 includeSponsoredResults 設為 false。沒有頁數上限欄位，也沒有擴展欄位。該項檢查可行之後，執行完整的固定清單。每條精確查詢使用同一個上限。保持相同的市場設定。
4. 保留每一列有用的列。儲存地址、引擎、排名和 observedAt。為每條已計劃的查詢閱讀 OUTPUT。如果查詢失敗，覆蓋範圍未知。如果查詢成功，而一個已知網域在上限之內缺席，標為 not_seen_within_cap。不要用零填入失敗的查詢。
5. 製作一份按競爭對手與查詢的表。只使用 present、not_seen_within_cap、source_failed 或 unresolved_identity。同一個網域在同一條查詢中有多個已接受的頁面，仍然只計一次出現。保留頁面列。那些列顯示哪個地址和排名支持該格。不要按標題合併列。不要捨棄一條不同的查詢字串。
6. 把每個已知網域的 present 查詢數目除以有用查詢數目。有用查詢是在相同上限和設定下成功的查詢。同時報告你計劃了多少條查詢。這個分數不是全部搜尋的佔有率。它不是搜尋量。它不是廣告需求。它不是顧客需求。如果很多已計劃的查詢失敗，不要給出面板比較，或把它標為部分。不要隱藏失敗的查詢。
7. 在該網域有出現的每條查詢上，保留每個網域的最佳自然排名。條件平均是只把那些最佳排名求平均。網域沒有被看到的查詢要除外。不要把缺席的排名填成零。不要把它填成上限加一。不要把缺席的排名當作你看過它來求平均。present 查詢數目不同的網域，可以單因為這個原因而看起來較強或較弱。本文比較各查詢之間的出現情況。它不會[跨多日追蹤一個排名](/zh-Hant/articles/%E5%8F%AF%E6%AF%94%E8%BC%83%E7%9A%84-bing-%E9%97%9C%E9%8D%B5%E5%AD%97%E6%8E%92%E5%90%8D%E5%BF%AB%E7%85%A7/)。
8. 檢視缺口。然後選擇你要閱讀的頁面。在此樣本中缺席的網域，之後仍可能出現。它可能在另一條查詢出現。它可能對另一個人出現。此表不顯示一個頁面為何出現。它不預測流量或銷售。這個 Bing 方法不聲稱有 Google 結果，也不聲稱有另一個國家的結果。

## 虛構的演算示例

本節所有數值都是虛構。它們不是產品結果。面板是固定的 Bing、國家 US、語言 en、只含自然結果，以及前五名上限。公司網域是 A、B 和 C。主機規則計算精確的公司主機。子網域只在同一個公司主機上才計算。同名網誌不計算。這則虛構中沒有主機是 unresolved_identity。

已計劃的查詢是 Q1、Q2、Q3 和 Q4。Q1、Q2 和 Q3 成功。Q4 在來源失敗。以下是頁面觀察。

| 查詢 | 網域 | 頁面 | 最佳自然排名 | 其他自然排名 | 狀態 |
| --- | --- | --- | --- | --- | --- |
| Q1 | A | 1 | 2 | 4 | present |
| Q1 | B | 1 | 1 | 無 | present |
| Q1 | C | 1 | 無 | 無 | not_seen_within_cap |
| Q2 | A | 1 | 無 | 無 | not_seen_within_cap |
| Q2 | B | 1 | 2 | 無 | present |
| Q2 | C | 1 | 3 | 無 | present |
| Q3 | A | 1 | 3 | 無 | present |
| Q3 | B | 1 | 1 | 無 | present |
| Q3 | C | 1 | 無 | 無 | not_seen_within_cap |
| Q4 | A | 無 | 無 | 無 | source_failed |
| Q4 | B | 無 | 無 | 無 | source_failed |
| Q4 | C | 無 | 無 | 無 | source_failed |

A 在 Q1 有兩個頁面，排名是 2 和 4。那兩個頁面仍然只是一次 Q1 出現。它們不會把 A 從 2/3 改成 3/3。

三條查詢有用。四條查詢已計劃。出現表在下面。

| 網域 | Q1 | Q2 | Q3 | Q4 | 在有用查詢上的出現 |
| --- | --- | --- | --- | --- | --- |
| A | present | not_seen_within_cap | present | source_failed | 2/3 |
| B | present | present | present | source_failed | 3/3 |
| C | not_seen_within_cap | present | not_seen_within_cap | source_failed | 1/3 |

最佳自然排名只使用有出現的查詢。

| 網域 | 最佳排名 | 條件平均 | 納入平均的查詢數目 |
| --- | --- | --- | --- |
| A | 2 和 3 | 2.5 | 2 |
| B | 1、2 和 1 | 4/3，約 1.33 | 3 |
| C | 3 | 3 | 1 |

A 的條件平均是 (2 + 3) / 2 = 2.5。B 的條件平均是 (1 + 2 + 1) / 3 = 4/3，約 1.33。C 的條件平均是 3 / 1 = 3。這些平均使用的查詢數目並不相同。它們不能取代出現表。它們不表示一個網域在每次搜尋都勝出。

每個 not_seen_within_cap 格止於前五列自然結果。它不是在整個索引中缺席。

Q4 對 A、B 和 C 都是 source_failed。該格是未知。它不是已知的缺席。不要說 B 在 4 條查詢中的 3 條有出現。不要把 3/3 稱為全部四條已計劃查詢的覆蓋。兩個計數都要保留：四條已計劃，三條有用。這裡的面板聲稱只覆蓋三條成功的查詢。如果太多已計劃的查詢失敗，不要給出比較，或把它標為部分。

## 下一步行動

在你要求的市場中，於一條查詢上檢查一個競爭對手網域，並記錄來源連結和一個有範圍限制的出現狀態。從 [Google Search Scraper](https://apify.com/chronometrica/google-search-scraper) Actor 和已儲存的 [Competitor SERP Research](https://apify.com/chronometrica/google-search-scraper/examples/competitor-serp-research) Task 開始。在使用較大的面板之前，把該 Task 改成只用 Bing、一條真實詞組，以及一個小上限。

## 來源與延伸閱讀

- [Google Search Scraper](https://apify.com/chronometrica/google-search-scraper)
- [Competitor SERP Research Task](https://apify.com/chronometrica/google-search-scraper/examples/competitor-serp-research)
- [如何檢查你是否在一個關鍵字上有排名](https://www.reddit.com/r/SEO/comments/1d5kve4/how_to_check_if_you_ranked_on_a_keyword/)
- [監察特定關鍵字排名的工具](https://www.reddit.com/r/SEO/comments/1dybuk8/any_tools_to_just_monitor_specific_keyword_ranking/)