你的網站需要全身健檢!初探Google URL Inspection API

更新於 2024/08/29閱讀時間約 10 分鐘
2022年1月31日,Google搜尋中心發表新的API,叫URL Inspection API,讓開發人員可以批次健檢自家網站的網址,及時確認索引狀態,並進行偵錯與處理。

什麼樣的網站適合?

  • 每天都會生成千百個網址
  • 想針對大量網址做健檢
  • 相當重視即時搜尋成效
  • 想優化網站SEO

URL檢查工具是什麼?

當你發布一個網址,想確認Google大神有沒有注意到你的內容時,可以把這個網址丟進去查看,如果顯示勾勾,就代表祂已讀了,有人搜尋相關關鍵字時,你的網頁就會有效出現在搜尋結果中。

這支API還可以查出什麼資訊?

  • Google爬到的內容有哪些?
  • 檢索時間、檢索狀態、網頁擷取狀態
  • Google選到的標準網址是什麼?
  • 網頁是否適合用行動裝置瀏覽?
  • AMP網頁是否有效?
  • Google抓到的結構化資料長怎樣?
  • robots.txt 是否封鎖該頁面?
Google Search Console inspection的資訊有這些
但網址一個一個輸入太麻煩,加上我們時刻都會發布新報導,需要立即被檢索,此時這支API就大量、即時地呈現Google的檢索狀態。

串接步驟

我們這次是使用Python來串的!
1. 權杖設定
前往Google Cloud Platform建立專案,點選「啟用API和服務」並導入Google Search Console API。關於管理API金鑰,詳細中文資源可參考:JumpingCode 資料科學手記
這塊最麻煩的地方是要申請服務帳戶,以及OAth 2.0用戶端ID(Client ID),把服務帳戶的權限改為「完整」或「擁有者」,並新增金鑰,你會得到一個json檔,包含以下資料:(注意不可以外流)
2. 安裝Python套件
串接API必要套件
  • pip3 install --upgrade google-auth
  • pip3 install google-api-python-client==1.12.10
  • pip3 install requests
完成後就可以開始寫code串接哩!
1. 在資料夾中放入上述json檔,並新增一個py檔
from google.oauth2 import service_account
from google.oauth2.service_account import Credentials
from googleapiclient.discovery import build
2. 設定權杖
creds = 'key.json' #此處填入你的json檔名
scopes = ['https://www.googleapis.com/auth/webmasters',
'https://www.googleapis.com/auth/webmasters.readonly']
credentials = service_account.Credentials.from_service_account_file(creds, scopes=scopes)
service = build('searchconsole','v1', credentials=credentials)
3. 告訴API你要哪些資料,他就會回傳相對應的INSPECTION資料
#inspectionUrl = 你想檢索的網址;siteUrl = 主網站
request = {
  'inspectionUrl': 'https://www.cna.com.tw/news/afe/202203170150.aspx',
  'siteUrl': 'https://www.cna.com.tw/'
}
response = service.urlInspection().index().inspect(body=request).execute()
inspectionResult = response['inspectionResult']
print(inspectionResult)
測試沒問題後,就可以寫迴圈,抓你需要的資料嚕!

串接注意事項

  • 配額限制 每天 2,000 個查詢 每分鐘 600 個查詢
  • HTTP Error 500 批量呼叫API時,爬蟲不定期出現這則訊息並終止運作:
googleapiclient.errors.HttpError: <HttpError 500 when requesting https://searchconsole.googleapis.com/v1/urlInspection/index:inspect?alt=json returned "Internal error encountered.". Details: "Internal error encountered.">
意思是因為Google內部錯誤,它無法吐回我們請求的資料。我們就此問題到Search Console Community尋求協助,專家的回覆是:
我們難以避免這個問題,API閘道系統背後有約1000台伺服器在處理各種請求,若有其中1台出現問題,便會回傳Error 500,但下一次你送出請求時會送到其他伺服器,回傳有效的資料。
也就是說這樣的錯誤是隨機的,我們可以過幾秒再發送同樣的請求。後來我們用try else語法讓爬蟲偵測處理Error部分,待下次爬取時這個網址八成就會出現inspection結果了。

實驗發現

URL檢查工具在Crawled與Indexed相關的狀態,改變速度跟不上實際上的索引結果

年初時,我們初次實驗中我們蒐集到的索引狀態變化如下表,照定義以為要出現Indexed, not submitted in sitemapSubmitted and indexed,才有被索引,但實際用site:的方式去找,在Discovered的時候,已可找到該網頁,從sitemap發布網址後到被google索引的時間約2分鐘左右。
不過要特別注意URL is unknown to Google、Duplicate, submitted URL not selected as canonical這兩種狀態,因為前者代表真的是沒被Google建索引 更多狀態說明可以參考search console的指引:https://support.google.com/webmasters/answer/9012289?hl=zh-Hant
初次探索Inspection功能的結果
BUT!最近發現到就算出現了Indexed, not submitted in sitemap、Submitted and indexed這兩個狀態,“也不能保證已經被google索引了”,因此大家可能還是先用site:的方式去確認,哪個狀態下自己的網站已經是被索引會比較保險!
不變的是,Inspection呈現被索引的狀態,基本上是會比實際被索引的時間還要晚一些。

更新時間與爬蟲檢索頻率沒有絕對關係,且回報的檢索時間有問題

文章更新次數可能會影響爬蟲檢索次數,但也有更新多次沒被多次檢索的。
不過這次實驗沒有控制每筆資料查詢次數,且中間有修改過程式而暫停查詢、取消5分鐘休息時間等等,這些變因可能也影響資料完整。
另外,發現google提供的最後爬取時間,有反覆出現的狀況,資料可信度待議。

重複內容無法完全用canonical來避免

由於網站架構配置,有時會發布不同網址的重複內容,因應方式是改掉原網址的canonical換成新的網址,同時sitemap也會撤下原網址,放上新網址。
但事實上google已收錄過原網址,在檢索的過程中會判斷新網址為重複內容(Duplicate, submitted URL not selected as canonical),此時的canonical尚未發生作用,最後可能是爬蟲爬了原網址,接收到canonical訊息後,也把新的網址給收進去了。
但這讓我們反思,中間出現重複內容的狀態,是否會影響到網站評分?
為什麼無法完全以canonical設定來避免呢?google的John在 #AskGoogleWebmasters 節目裡曾說過canonical選擇的標準包含:
  • Canonical宣告網址
  • 轉址網址
  • 內部連結
  • sitemap裡面的URL
  • 有Https的URL
  • 網址結構比較好的URL
Google Search的大大John!推斷canonical應是僅供參考,實際上google還是自己有判斷
抓下來的資料除了用spreadsheet整理,也有人開了data studio的模板來把數據視覺化,比較好看,但這個是以Screaming Frog輸出的資料來設計的,如果是直接用api抓可能需要調一下格式!
以上大概就是我們實(ㄨㄢˊ)驗(ㄕㄨㄚˇ)的過程與發現。當時碰上PM要做某功能的SEO成效測試,加上可以增進編輯的寫Code技能,就進行了這套實驗,最後也成功幫網站抓出一些陳年老Bug。
根據Inspection API提供的結果,大家可以更好地研擬適合自家網站的SEO優化策略,如果你使用完有什麼新發現,也歡迎留言和我們分享!

參考資源

留言0
查看全部
avatar-img
發表第一個留言支持創作者!
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
而在這個資訊爆炸的時代,人們的搜尋習慣已經越來越多元。除了透過搜尋引擎之外,他們也會在社群媒體、論壇、部落格等平台上尋找資訊。 因此,要想讓你的品牌被更多人看見,就必須掌握多元的行銷技巧。今天,我們就來聊聊SEO(搜尋引擎優化),也就是如何讓你的網站或產品更容易出現在搜尋引擎的結果頁面中。
隨著數位時代的快速發展,擁有一個出色的網站已成為企業和個人成功的不可或缺之一。然而,僅僅擁有一個網站不足以保持競爭力。
當今世界,網路行銷已經變得比以往更關鍵。但是,你或許未曾思考過,你的網站設計是否具備勾勒出成功未來的潛力?本文將深入探討為何網頁設計在網路行銷中扮演著不可或缺的角色,以及如何確保它能夠成為你成功的關鍵。
Thumbnail
一天不用15元,也無需任何程式經驗,我會將手把手逐步教你使用WordPress創建自己的網站,無論你是一個部落客、小企業主還是想建立個人品牌,這個30天的計劃都將提供你所需的知識和技能! 每日小故事來囉~ 第四天:王國的黑暗影子 在艾倫和艾妮亞的冒險中,他們逐漸發現,這個魔法之國不僅充滿了魔法和
Thumbnail
重點精華整理: SEO軟體推薦前三名: SEMrush: ⭐⭐⭐⭐⭐ 分數: 98.7 【SEO軟體推薦】 Ahrefs: ⭐⭐⭐⭐⭐ 分數: 97.5 【SEO軟體推薦】 Moz: ⭐⭐⭐⭐⭐ 分數: 96.2 【SEO軟體推薦】 如何選擇合適的SEO軟體? 在介紹這三大神器之前,先來了
Thumbnail
現代的數位時代,網站已成為企業與個人展示形象、提供資訊與產品、吸引客戶、銷售等重要渠道。然而,僅僅擁有一個漂亮且功能齊全的網站並不足夠。 這就是為什麼做搜尋引擎優化(SEO)變得至關重要的原因。本文將探討為什麼你的網站需要做SEO,並解釋SEO對於網站成功的重要性。
Thumbnail
本文整理觀察4種狀況下,建議你要建立屬於自己的購物網站。從跟上數位時代的新手創業,再到通路平台不夠用,或是你想要開始建立或累積自己的會員,和打造自己的品牌形象,上述這些狀況都建議你要建立自己的購物網站,而且找到好的購物網站,絕對是能夠幫助你經營電商,事半功倍!
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
而在這個資訊爆炸的時代,人們的搜尋習慣已經越來越多元。除了透過搜尋引擎之外,他們也會在社群媒體、論壇、部落格等平台上尋找資訊。 因此,要想讓你的品牌被更多人看見,就必須掌握多元的行銷技巧。今天,我們就來聊聊SEO(搜尋引擎優化),也就是如何讓你的網站或產品更容易出現在搜尋引擎的結果頁面中。
隨著數位時代的快速發展,擁有一個出色的網站已成為企業和個人成功的不可或缺之一。然而,僅僅擁有一個網站不足以保持競爭力。
當今世界,網路行銷已經變得比以往更關鍵。但是,你或許未曾思考過,你的網站設計是否具備勾勒出成功未來的潛力?本文將深入探討為何網頁設計在網路行銷中扮演著不可或缺的角色,以及如何確保它能夠成為你成功的關鍵。
Thumbnail
一天不用15元,也無需任何程式經驗,我會將手把手逐步教你使用WordPress創建自己的網站,無論你是一個部落客、小企業主還是想建立個人品牌,這個30天的計劃都將提供你所需的知識和技能! 每日小故事來囉~ 第四天:王國的黑暗影子 在艾倫和艾妮亞的冒險中,他們逐漸發現,這個魔法之國不僅充滿了魔法和
Thumbnail
重點精華整理: SEO軟體推薦前三名: SEMrush: ⭐⭐⭐⭐⭐ 分數: 98.7 【SEO軟體推薦】 Ahrefs: ⭐⭐⭐⭐⭐ 分數: 97.5 【SEO軟體推薦】 Moz: ⭐⭐⭐⭐⭐ 分數: 96.2 【SEO軟體推薦】 如何選擇合適的SEO軟體? 在介紹這三大神器之前,先來了
Thumbnail
現代的數位時代,網站已成為企業與個人展示形象、提供資訊與產品、吸引客戶、銷售等重要渠道。然而,僅僅擁有一個漂亮且功能齊全的網站並不足夠。 這就是為什麼做搜尋引擎優化(SEO)變得至關重要的原因。本文將探討為什麼你的網站需要做SEO,並解釋SEO對於網站成功的重要性。
Thumbnail
本文整理觀察4種狀況下,建議你要建立屬於自己的購物網站。從跟上數位時代的新手創業,再到通路平台不夠用,或是你想要開始建立或累積自己的會員,和打造自己的品牌形象,上述這些狀況都建議你要建立自己的購物網站,而且找到好的購物網站,絕對是能夠幫助你經營電商,事半功倍!