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 件のクエリをクリック数の降順で並べ替えて表示
フィルタ演算子「次と等しい」はデフォルトの演算子なので省略されていることに注意してください。
コード
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 と rowLimit=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 }
すべてのデータを取得しています
すべての検索トラフィックに対してクエリを実行するをご覧ください。