查詢 Google 搜尋分析資料

您可以對 Google 搜尋資料執行查詢,瞭解房源在 Google 搜尋結果中出現的頻率、查詢內容、來自電腦或智慧型手機等等。你可以利用搜尋結果改善資源的搜尋成效,例如:

  • 查看特定時間內的搜尋流量變動、流量來源,以及哪些搜尋查詢最常帶出你的資源。
  • 瞭解哪些查詢來自於智慧型手機的使用者,並藉此改善行動裝置的曝光效果。
  • 查看哪些網頁獲得的 Google 搜尋結果點閱率最高 (和最低)。

系統會使用 searchanalytics.query() 方法公開搜尋查詢資料。query() 方法會顯示 Search Console 中成效報表的所有可用資料。執行任何查詢前,建議您 參閱搜尋分析報表說明文件,瞭解我們會公開哪些資料及其代表的意義。

本頁說明如何使用不同要求參數執行常見查詢。

開始使用

確認資料是否存在

執行查詢之前,請先測試該時間範圍內是否存在資料。省略篩選器、排序、資料列限制和其他參數 (開始日期、結束日期和日期除外),做為唯一的維度。

代碼

request = {
      'startDate': flags.start_date,
      'endDate': flags.end_date,
      'dimensions': ['date']
  }

輸出內容

python search_analytics_api_sample.py 'https://www.example.com/' '2015-05-01' '2015-05-15'
Available dates:
Keys                              Clicks         Impressions                 CTR            Position
2015-05-01                       22823.0            373911.0     0.0610385893969        8.1829472789
2015-05-02                       16075.0            299718.0     0.0536337490574       8.14173322924
2015-05-03                       18794.0            337759.0      0.055643224903       8.07772405769
2015-05-04                       31894.0            468076.0     0.0681385074219        7.4104611217
2015-05-05                       34392.0            482919.0      0.071216912153       7.20689805123
2015-05-06                       35650.0            484353.0     0.0736033430164       7.11683214515
2015-05-07                       33994.0            465812.0     0.0729779395979       6.91755472165
2015-05-08                       27328.0            413007.0     0.0661683700276       7.22172747677
2015-05-09                       16637.0            297302.0     0.0559599329974       8.01876206685
2015-05-10                       19167.0            332607.0     0.0576265682923       7.87882696395
2015-05-11                       35358.0            499888.0      0.070731843933       7.11701821208
2015-05-12                       35952.0            486583.0      0.073886675038       6.80677294521
2015-05-13                       34417.0            480777.0      0.071586203167       6.86552185317
2015-05-14                       32029.0            457187.0     0.0700566726525       6.92575904389
2015-05-15                       27071.0            415973.0     0.0650787430915       7.27105605412

嘗試其他日期

我們可以看到該段時間的資料,可以放心繼續。請務必先執行這項作業,再執行實際查詢。舉例來說,對不同範圍執行相同的查詢時,系統會傳回以下結果:

python search_analytics_api_sample.py 'https://www.example.com/' '2015-06-01' '2015-06-15'
Available dates:
Keys                              Clicks         Impressions                 CTR            Position
2015-06-01                       31897.0            468486.0     0.0680852789624       6.81207122518
2015-06-02                       32975.0            460266.0     0.0716433540605       6.62655942433
2015-06-03                       32779.0            459599.0     0.0713208688444       6.58126758326
2015-06-04                       30116.0            435308.0     0.0691831990223       6.71409668557
2015-06-05                       25188.0            380444.0     0.0662068530454       7.00998570092
2015-06-06                       14829.0            272324.0     0.0544535186028        7.6309910254
2015-06-07                       17896.0            318094.0      0.056260099216       7.56606223318
2015-06-08                       33377.0            487274.0     0.0684973957158       6.77552260125
2015-06-09                       33885.0            484241.0     0.0699754874123       6.70545451542
2015-06-10                       32622.0            466250.0     0.0699667560322       6.64417372654
2015-06-11                       31317.0            447306.0     0.0700124746818       6.61534832978
2015-06-12                       25932.0            393791.0      0.065852190629       7.15718998149
2015-06-13                       15451.0            275493.0     0.0560849095984       7.69994518917
2015-06-14                       18358.0            318193.0     0.0576945438775       7.34048517724

仔細觀察,您發現該資料到 14 日結束,但 15 日沒有任何資料。

建議您在任意形式編輯模式下使用 API Explorer 快速測試查詢 (按一下要求主體欄位側邊的下拉式箭頭,然後按一下「任意形式編輯器」)。

驗證有效日期範圍後,您就可以開始依其他維度分組、新增篩選器、資料列計數限制等等:

按點擊次數排序的前 10 大查詢 (遞減)

代碼

request = {
    'startDate': flags.start_date,
    'endDate': flags.end_date,
    'dimensions': ['query'],
    'rowLimit': 10
}

輸出內容

Top Queries:
Keys                              Clicks         Impressions                 CTR            Position
seo                               3523.0            270741.0     0.0130124362398       5.86615252215
hreflang                          3207.0              5496.0      0.583515283843       1.10080058224
robots.txt                        2650.0             23005.0      0.115192349489       4.30367311454
301 redirect                      2637.0              7814.0      0.337471205529         1.621192731
googlebot                         2572.0              6421.0      0.400560660333       1.15823080517
google seo                        2260.0             11205.0      0.201695671575       1.38295403838
google sitemap                    1883.0              4288.0      0.439132462687       1.21175373134
canonical url                     1882.0              3714.0      0.506731287022       1.12762520194
sitemap                           1453.0             22982.0       0.06322339222       3.78074144983

按點擊次數排序的前 10 名網頁 (遞減)

代碼

request = {
    'startDate': flags.start_date,
    'endDate': flags.end_date,
    'dimensions': ['page'],
    'rowLimit': 10
}

輸出內容

Top Pages:
Keys                              Clicks         Impressions                 CTR            Position
https://www.example.com/21       10538.0             62639.0      0.168233847922       3.63031019014
https://www.example.com/65        9740.0             82375.0      0.118239757208       5.61003945372
https://www.example.com/15        9220.0            128101.0     0.0719744576545       5.32300294299
https://www.example.com/41        8859.0            426633.0     0.0207649197319       1.62309057199
https://www.example.com/53        8791.0            829679.0     0.0105956641062       14.4941887164
https://www.example.com/46        7390.0             82303.0     0.0897901656076        5.7723290767
https://www.example.com/27        7169.0             64013.0      0.111992876447       4.98709637105
https://www.example.com/80        6047.0             84233.0     0.0717889663196       4.10592048247
https://www.example.com/9         5886.0             59704.0     0.0985863593729        4.0897594801
https://www.example.com/8         5043.0             66869.0     0.0754161120998       4.57651527614

印度的前 10 大查詢 (按點擊次數排序,遞減)

請注意,系統會省略篩選器運算子「equals」,因為這是預設運算子。

代碼

request = {
    'startDate': flags.start_date,
    'endDate': flags.end_date,
    'dimensions': ['query'],
    'dimensionFilterGroups': [{
         'filters': [{
              'dimension': 'country',
              'expression': 'ind'
          }]
      }],
      'rowLimit': 10
  }

輸出內容

Top queries in India:
Keys                              Clicks         Impressions                 CTR            Position
googlebot                          250.0               429.0      0.582750582751                 1.0
search console                     238.0             34421.0    0.00691438366114       1.00101682113
dns error                          189.0               850.0      0.222352941176       1.38470588235
google seo                         165.0               552.0      0.298913043478       1.04166666667
canonical url                      141.0               282.0                 0.5                 1.0
301 redirect                       132.0               557.0      0.236983842011       1.78276481149
google search console              126.0             16898.0    0.00745650372825       1.03929459108
robots.txt                         117.0              1046.0      0.111854684512        3.9206500956
canonical tag                      111.0               223.0      0.497757847534                 1.0

印度的前 10 大行動查詢 (按點擊次數排序)

代碼

request = {
    'startDate': flags.start_date,
    'endDate': flags.end_date,
    'dimensions': ['query'],
    'dimensionFilterGroups': [{
        'filters': [{
            'dimension': 'country',
            'expression': 'ind'
          }, {
            'dimension': 'device',
            'expression': 'MOBILE'
       }]
    }],
    'rowLimit': 10
}

輸出內容

Top mobile queries in India:
Keys                              Clicks         Impressions                 CTR            Position
search console                      26.0              1004.0     0.0258964143426       1.00298804781
dns error                           24.0               111.0      0.216216216216       1.27927927928
google seo                          18.0                69.0      0.260869565217       1.02898550725
eliminar                            16.0               134.0      0.119402985075                 1.0
googlebot                           11.0                24.0      0.458333333333                 1.0
404                                  9.0               214.0     0.0420560747664       8.64018691589
robots.txt                           9.0                40.0               0.225               4.025
google search console                8.0               438.0     0.0182648401826       1.04337899543
seo                                  8.0               111.0     0.0720720720721       4.96396396396

查詢資料列配量

您可以指定 (從零開始) 起始資料列編號和要傳回的資料列數量,藉此查詢特定的資料列部分。 如果指定無效的起始資料列編號,會傳回錯誤,但如果指定超過可用的列數,系統將傳回所有可用的資料列。

指定日期範圍內的前 11 到 20 筆行動查詢 (按點擊次數排序,遞減)

代碼

request = {
      'startDate': flags.start_date,
      'endDate': flags.end_date,
      'dimensions': ['query'],
      'dimensionFilterGroups': [{
          'filters': [{
              'dimension': 'device',
              'expression': 'mobile'
          }]
      }],
      'rowLimit': 10,
      'startRow': 10
  }

輸出內容

Top 11-20 Mobile Queries:
Keys                              Clicks         Impressions                 CTR            Position
dns error                         1220.0             15064.0        0.0809877854       3.13448726206
google seo                        1161.0              7923.0         0.146535403       2.31479556195
sitemap                            926.0             12478.0        0.0742106107        5.8130025067
googlebot                          903.0              7822.0         0.115443621        4.6910285792
robots.txt                         799.0             24868.0        0.0321296445       5.92759215963
404                                520.0             12777.0        0.0406981295       5.80352636506
seo                                506.0              2925.0         0.172991453       2.50413960996
search console                     487.0               981.0         0.496432212       1.00036102455
canonical url                      326.0              4087.0        0.0797651089       3.23664971157
301 redirect                       261.0              3165.0         0.082464455       3.63074363869

獲得超過 25,000 列資料

如果查詢含有超過 25,000 列的資料,您可以傳送多項查詢,每次再遞增 startRow 的值,一次要求一個批次的資料,要求 25,000 個資料列。 計算擷取的資料列數。如果您的資料列數少於要求的資料列數,就表示已擷取所有資料。 如果要求正好在資料邊界上結束 (例如有 25,000 列,而您要求 startRow=0 和 barLimit=25000),下次呼叫就會收到空白回應。

指定日期範圍內的前 1-25,000 筆行動查詢 (按點擊次數遞減排序)

代碼

request = {
      'startDate': flags.start_date,
      'endDate': flags.end_date,
      'dimensions': ['query'],
      'dimensionFilterGroups': [{
          'filters': [{
              'dimension': 'device',
              'expression': 'mobile'
          }]
      }],
      'rowLimit': 25000,
      'startRow': 0
  }

指定日期範圍內的前 25,001-50,000 筆行動查詢 (按點擊次數排序,遞減排序)

代碼

request = {
      'startDate': flags.start_date,
      'endDate': flags.end_date,
      'dimensions': ['query'],
      'dimensionFilterGroups': [{
          'filters': [{
              'dimension': 'device',
              'expression': 'mobile'
          }]
      }],
      'rowLimit': 25000,
      'startRow': 25000
  }

擷取所有資料

請參閱「查詢所有搜尋流量」一文。