如何使用正則表達式充分利用 Google Search Console API

已發表: 2022-11-02

Google Search Console 是一個了不起的工具,它可以直接從 Google 為真實用戶提供寶貴的搜索數據。 雖然圖表和表格易於使用,但大部分數據無法從 UI 訪問。

獲取這些隱藏數據的唯一方法是使用 API 並提取所有可用的有價值的搜索數據——如果你知道怎麼做的話。 這可以通過正則表達式實現。

PayPal 公司 Honey 的產品增長副總裁 Eric Wu 在 SMX Advanced 上發表講話時說,這是使用正則表達式最大化 Google Search Console API 的方法。

使用 GSC 診斷 SEO 問題

在一個經歷停滯或下降增長或核心更新下降的網站上工作?

大多數 SEO 專業人士求助於 Google Search Console (GSC) 來診斷此類問題。

(或者如果資源允許,您甚至可以使用 Ryte 之類的付費工具或構建自己的平台。)

對於 SEO 社區來說幸運的是,不乏可用於 GSC 分析的 Looker Studio 儀表板(以前稱為 Google Data Studio),包括:

  • Aleyda Solis 的免費儀表板,它使用 GSC 數據輕鬆識別最近幾天來自 Google 核心更新的潛在排名變化。
  • Google 的搜索流量監控儀表板,現在可以提取 Discover 和 Google News 流量數據。
  • Hannah Butler 的 Search Console Explorer 工作室。 (如果您想親自操作 GSC 數據并快速獲得見解,您可以使用 Butler 的 Search Console Explorer 表。)

儀表板允許 SEO 查看不同趨勢的概覽,而不是使用 GSC 並進行多次點擊以獲取您需要的數據。

但是,如果您正在分析企業網站,您可能會遇到一些障礙。

  • Looker Studio 和 Google 表格都加載緩慢,尤其是在處理大型網站時。
  • GSC 的界面有 1,000 行的導出限制。
  • GSC 有一個巨大的抽樣問題。 根據 Similar.ai 的說法,企業 SEO 團隊錯過了 90% 的 GSC 關鍵字。 如果你知道如何提取數據,你實際上可以獲得 14 倍的關鍵詞。

克服 GSC 的抽樣問題

Explorer for Search 是另一種可用於 GSC 分析的工具。 來自 Noah Learner 和 Two Octobers 的團隊,它使用 GSC 的 API 使用數據管道構建,然後將數據輸出到 BigQuery(基本上繞過 Google Sheets 並下載 CSV 文件),然後使用 Data Studio 可視化信息。

有了這個,您可以確信您可以訪問幾乎所有的數據。

由於 GSC 的抽樣問題,仍然存在一個警告,特別是對於具有許多不同類別的大型電子商務網站。 GSC 不一定會顯示來自這些目錄的所有數據。

在進行各種測試以從 GSC API 中獲取最多數據後,Similar.ai 團隊發現了一種縮小 GSC 抽樣差距的方法。

他們發現,通過在 GSC 儀表板中添加更多子目錄作為不同的配置文件,您可以提取更多數據,因為 Google 會在較低級別為您提供更多信息。

相似的ai關閉gsc採樣間隙

例如,如果您正在查看 example.com/televisions,並且您在 GSC 個人資料中添加“televisions”作為子目錄,Google 將只為您提供該子目錄的關鍵字和點擊信息。

通過添加許多不同的子目錄,您可以提取更多信息。

這解決了採樣問題,但您可以通過使用正則表達式獲得更多數據。

使用正則表達式獲取更多 GSC 數據

正則表達式或正則表達式是理解數據的強大工具。

2021 年 4 月,谷歌為 GSC 添加了正則表達式支持——為 SEO 提供了更多方式來分割有機搜索數據。

很多時候,除非你能理解,否則數據是沒有用的。 正則表達式有助於從 GSC 的豐富數據中提取可操作的見解。

但儘管它可能很強大,但正則表達式可能很難學習。

了解和深入研究正則表達式的最佳地點是 Google 在 GitHub 上的官方文檔。 (Google 在其產品中使用 RE2,這是一種正則表達式。)

雖然 regex 可用於各種不同的編程語言,但您幾乎可以在任何地方找到它,即使是那些正在修改 .htaccess 文件的人。

在接下來的幾節中,是利用 GS​​C 的正則表達式的用例。

正則表達式信息查詢

在查看 GSC 中的實際信息搜索查詢時,您通常需要了解:

  • 人們實際上是如何訪問您的網站的?
  • 他們在提取什麼問題?

從一次性的角度來看這些事情,在 GSC 中可能會很困難。

你總是在搜索“what”、“how”、“why”和“when”等詞。

有幾種方法可以減少使用正則表達式提取信息查詢的繁瑣。

Daniel K. Cheung 分享了一個正則表達式字符串,該字符串將顯示所有包含“what”、“how”、“why”和“when”的查詢,這些查詢要么獲得點擊,要么獲得印象:

  • "what|how|why|when"

Steve Toth 分享的這個正則表達式字符串將前面的例子提升了一個檔次:

  • ^(who|what|where|when|why|how)[" "]

如果要捕獲以“誰”、“什麼”、“哪裡”、“何時”、“為什麼”和“如何”開頭然後是空格的基於問題的查詢,則可以使用此字符串。

當您正在尋找任何會引發問題的單詞時,這是一個很好的列表:

  • 是, 可以, 不能, 可以, 不能, 做過, 沒有, 做, 做, 不, 如何, 如果, 是, 不是, 應該, 不應該, 是, 不是,是,不是,什麼,何時,何地,誰,誰,誰,為什麼,會,不會,不會,不會

將所有這些都放入正則表達式形式將如下所示:

  • ^(are|can|can't|could|couldn't|did|didn't|do|does|doesn't|how|if|is|isn't|should|shouldn't|was|wasn't|were|weren't|what|when|where|who|whom|whose|why|will|won't|would|wouldn't)\s

在這個 178 個字符的字符串中:

  • 您有插入符號 ( ^ ),它告訴您查詢需要以這個詞開頭:
  • 單詞用豎線( | )而不是逗號分隔。
  • 所有單詞都用括號括起來。
  • 有一個反斜杠和“s”( \s )表示單詞後面的空格。

這很好,但也可能會變得乏味。

下面,Wu 簡化了之前的單詞列表,使其更適合正則表達式且更短,非常適合複製和粘貼。 以這種方式維護它也有助於提高效率。

正則表達式壓縮詞

第一列是普通單詞,第二列是壓縮的正則表達式。

例如,單詞“can”使用壓縮版本can('t)? .

問號表示括號內的任何內容都是可選的。 壓縮語法允許您涵蓋“can”和“can't”這兩個詞。

更有趣的是,您可以使用 can/could't、should/should't 和 would/would't 來執行此操作,其中單詞的-ould部分是公共基礎,例如(c|sh|w)ould(n't)? . 這個簡短的字符串涵蓋了所有六種情況。

雖然簡化了長長的單詞列表會降低字符串的可讀性,但很棒的是它更適合正則表達式字段並允許您更輕鬆地複制粘貼。

  • ^(are|can('t)?|(c|sh|w)ould(n't)?|did(n't)?|do(es)?(n't)?|how|if|is(n't)?|was(n't)?|were(n't)?|wh(at|en|ere|y)who(m|se)?|will|won't)\s

如果你更進一步,你可以進一步壓縮它。 在這種情況下,吳將字符數從 135 個字符減少到 113 個字符。

  • ^(are|can('t)?|how|if|wh(at|en|ere|y)|who(m|se)?|will|won't|((c|sh|w)ould|did(n't)?|do(es)?|was|is|were)(n't)?)\s

正則表達式會變得非常複雜。 如果您從其他人那裡得到一個正則表達式字符串,並且想消除正在做什麼的歧義,您可以使用 Regexper 來幫助您將其可視化。

下面您將看到不同正則表達式字符串版本的比較。 維護第一個更容易,顯然更難維護和閱讀最後一個。

但有時字符數確實很重要,特別是當你有更長的正則表達式時。

根據 Google 搜索倡導者 Daniel Waisberg 的說法,GSC 的正則表達式過濾器限制為 4,096 個字符。

這似乎有點。 但是,如果您有一個電子商務網站並且必須添加域名、子域或更長的目錄,那麼您很可能會達到該限制。

正則表達式品牌查詢

另一個在 GSC 中可能開始達到正則表達式字符限制的實例是當您將其用於品牌查詢時。

當您考慮一個人可能鍵入的品牌名稱的所有不同類型的拼寫錯誤時,您很快就會遇到 4,096 個字符數。 例如:

  • aamaung, damsung, mamsang, 三星, samsun g, samsunb, samsund, samsund, samsunh, samsunt …

這就是理解正則表達式有幫助的地方。 使用此字符串,您可以捕獲品牌名稱“samsung”以及拼寫錯誤:

  • (s+|a|d|z)[az\s]{1,4}m?[az\s]{1,6}(m|u|n|g|t|h|b|v)

很多時候,人們會拼錯單詞的中間部分。 但總的來說,它們的格式和長度是正確的,您可以通過這種方式處理您的語法。

對於品牌查詢拼寫錯誤,請考慮以下事項:

  • 構成品牌查詢的主要字母
  • 輔音
  • 圍繞硬輔音的字母。

紅色是人們在輸入品牌名稱時通常不會錯過的硬輔音。 這些是構成該特定品牌的主要字母。 對於“samsung”,開頭是“s”,中間是“m”,最後是“n”和“g”。

鍵盤上這些主要輔音周圍的藍色字母是人們通常打錯的字母。 在示例中,在“s”周圍,您會看到“a”、“d”和“z”。 (雖然國際鍵盤的佈局不同,但概念仍然相同。)

上面的正則表達式字符串捕獲了“samsung”的所有可能變體。

這裡的另一個主要技巧是[az\s]{1,4}

在正則表達式形式中,這基本上是說,“我想匹配任何字母“a”到“z”,或者一個空格,一到四次。

這捕獲了在品牌查詢過程中可能發生的所有那些奇怪的拼寫錯誤——一個人可能會多次按下同一個鍵或意外按下空格鍵。

此外,品牌名稱有一定的長度(“三星”有七個字符)。 人們可能最終不會輸入 20-50 個字符。

所以在這個正則表達式中,我們猜測在“samsung”中的“s”和“m”之間,有人會打錯1-4個字符。 然後從“m”到最後的“g”,他們會打錯 1-6 個字符,包括空格。

添加所有這些可以讓您全面捕獲品牌查詢的許多變體。

另一件需要注意的是,品牌名稱可能出現在查詢的不同部分。

所以我們需要確保品牌名稱本身被捕獲。 它應該是:

  • 在查詢開始時。
  • 在查詢的中間(因此被空格包圍)。
  • 或在查詢結束時。

正則表達式如下:

  • (^|\s)(s+|a|d|z)[az\s]{1,4}m?[az\s]{1,6}(m|u|n|g|t|h|b|v)(\s|$)

這將捕獲品牌名稱“samsung”位於開頭、中間或結尾的所有查詢。

  • 字符串開頭 = ^
  • 被空格包圍= \s
  • 字符串結束 = $

JC Chouinard 的帖子,Google Search Console 中的正則表達式 (RegEx),更深入地探討了正則表達式示例。

正則表達式和 GSC API 的實際應用

當 Wu 和他的團隊與在核心更新後遇到流量下降的客戶合作時,正則表達式非常有用。

在查看了電子商務網站的不同問題後,他們發現問題存在於某些產品詳細信息頁面中。

他們需要分割頁麵類型以在 GSC 中進行分析。 但這是一項複雜的任務,因為美國和國際產品的 URL 結構不同。

該網站的國際產品 URL 包括語言和國家/地區代碼,而美國產品 URL 沒有。

即使使用正則表達式語法也很棘手,因為字母和破折號存在於產品標籤、類別和子類別中。 此外,他們需要過濾掉國際產品 URL 以僅捕獲美國頁面。

為了獲得所有美國產品登陸 + 詳細信息頁面(不是i18n 頁面),他們提出了以下正則表達式字符串:

包括: /([^/]+/){1,2}p?

排除: /[a-zA-Z]{2}|[a-zA-Z]{2}-[a-zA-Z]{2}/

這是一個細分:

該團隊希望匹配類別、子類別和所有產品,因此它們包括:

  • 任何不是斜線的字符 = [^/]+
  • 1 或 2 個目錄 = /){1,2}
  • 有時後面跟著一個產品 slug = p?

插入符號 ( ^ ) 通常表示字符串的開頭。 但是當它在括號內時(如[^/] ),它表示否定(即,“在此框中沒有任何內容”)。

所以這個字符串/([^/]+/){1,2}p? 意思是“我想要任意數量的不是斜杠的字符,前導斜杠(表示目錄),有時後跟字母 'p'(產品 slug 的前綴)。”

同時,團隊不想匹配同樣包含字母和破折號的國家和語言組合,因此他們排除了:

  • 任何 2 個字母的目錄 = [a-zA-Z]{2}
  • 2 個字母 + 2 個字母語言國家組合 = [a-zA-Z]{2}-[a-zA-Z]{2}

由於所有可能的組合,他們自己創建一個正則表達式來匹配所有語言和國家代碼將是乏味的,因此他們無法像信息查詢那樣處理這種情況(其中排除了每種單一類型的組合)。

但即使在創建了這些正則表達式字符串之後,他們也遇到了問題。

在 Google Search Console 中,只有一個字段可以粘貼正則表達式字符串。 您必須選擇匹配正則表達式不匹配正則表達式- 您不能同時使用兩者。

這就是 GSC API 派上用場的地方,因為它允許加入正則表達式字符串。

在 Google Search Console API 文檔中,有一個Try it now鏈接。  

單擊後,它將打開一個控制台,允許您選擇一個站點並通過 Web 視圖發​​出 API 請求。

但為了更好地管理 API 查詢,Wu 建議在桌面上使用 Postman 或 Paw(Mac 原生)。

Postman 允許您創建查詢並將其保存以備後用。 如果您可以訪問其他網站,則不必每次都創建新查詢。 您只需使用變量更改站點名稱,然後發出多個請求。

另一方面,爪子更容易瀏覽和使用。

要訪問 API,您需要獲取 API 密鑰。 (這是來自 Chouinard 的有用教程。)

獲得此信息後,您將獲得您的客戶端 ID 和客戶端機密,您將在 Postman 或 Paw 中將其添加到您的 OAuth 2.0 身份驗證中。

從那裡,您將能夠使用您的普通帳戶登錄。

Wu 主要使用 Paw 中的正則表達式字符串發出 GSC API 請求。 在界面中間輸入查詢。

來自 Google 的響應類似於 GSC API 網絡視圖的響應。 然後可以導出數據進行處理。

由於數據採用 JSON 格式,因此信息可能很混亂且難以閱讀。

為此,您可以使用名為 JQ 的免費開源命令行 JSON 處理器來漂亮地打印信息。

在您將數據放入電子表格之前,這些數據並不是那麼有用。 管道輸入您從 Paw 導出到 JQ 的文件。 打開它,然後遍歷每一行——保存每個元素,以便您可以將它們輸出到 CSV。

在這裡,您需要轉換浮動的點擊次數和展示次數(有小數位的數字)。 兩者都需要轉換為與 CSV 兼容的字符串。

然後 JQ 將輸出以下更簡單的格式。

接下來,您將使用 Dasel 獲取此格式,然後將其轉換為 CSV。

這是最終結果。

讓 Wu 的團隊感到驚奇的是,他們能夠使用 Google Search Console API 和正則表達式來:

  • 過濾掉所有國際查詢,只查看他們遇到主要問題的美國。
  • 確定網站出現問題的日期。

觀看:充分利用 Google Search Console API

以下是吳的 SMX 高級演示的完整視頻。