В свое время я столкнулся с небольшой проблемой как выгружать свои поисковые запросы из Search Console. На эту тему есть пару статей в SEO блогах (serpstat, netpeak, 2steps, searchengines), но по их инструкции у меня ничего не вышло. И только после того как я совместил их наработки, я получил рабочий вариант.
Установка R и R Script
Содержание
Для начала нам нужно установить «R» и «R Script» себе на компьютер. Скажу сразу, пк у меня на Windows 10 на macOS, может не работать, не проверял.
Запуск R Studio и парсинг ключей из Search console
Запускаем R Studio и создаем R Script (Ctrl+Shift+N)



В поле «Console» загружаем первую часть скрипта.



Скрипт — Часть 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | # Load packages.
# Load packages.
if(!("pacman" %in% installed.packages())) {install.packages("pacman")}
packages_load <- c('googleAuthR', 'dplyr')
pacman::p_load(packages_load, character.only = TRUE)
pacman::p_loaded()
packages_temp <- c('searchConsoleR')
packages_temp <- packages_temp[!packages_temp %in% pacman::p_library()]
if(length(packages_temp) > 0) pacman::p_install(packages_temp,
character.only = TRUE)
rm(packages_load, packages_temp)
# Set a propety to fetch keywords data.
site <- 'https://site.com/'
# Set a number of days for analysis.
# The data will be fetched for a period
# from (current date - (lookback_window + 3))
# to (current date - 3)
# because of Google Search Console limits.
lookback_window <- 30*16
# Set a local directory where CSV file with keywords data will be exported.
export_path <- 'C:/Users/User/SEO'
# Authenticate R in browser.
# Authentication is asked with every run of this script.
# To use saved credentials comment new_user = TRUE
# in the code below.
searchConsoleR::scr_auth(
new_user = TRUE
) |
Поля которые мы правим
1 2 3 | site <- 'https://наш сайт/' lookback_window <- 30*16 export_path <- 'C:/Users/User/.../Путь где мы сохраним наши данные' |
Нажимаем «Enter». Запустится скрипт и запросит Search code






Даем доступ и копируем наш Search code в Console нашего R Script



Добавляем и нажимаем «Enter». После этого добавляем вторую версию нашего скрипта.
Скрипт — Часть 2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | # Use export_path to set a working directory.
# Use export_path to set a working directory.
setwd(export_path)
# Get keywords data from Google Search Console by day.
rez <- c((lookback_window + 3):3) %>%
lapply(., function(x){
date <- Sys.Date() - x
print(date)
searchConsoleR::search_analytics(siteURL = site,
startDate = date,
endDate = date,
searchType = 'web',
rowLimit = 5000,
aggregationType = 'byPage',
dimensions = c('query', 'date')
)
}) %>%
dplyr::bind_rows(.)
# Aggregate keywords data by query.
rez_aggr <- rez %>%
group_by(query) %>%
summarise(clicks = sum(clicks),
impressions = sum(impressions)) %>%
ungroup(.) %>%
arrange(-clicks)
# Calculate number of queries by day.
stats_by_date <- rez %>%
group_by(date) %>%
summarise(count = n())
# Download keywords data as CSV file in export_path directory.
write.csv(x = rez,
file = paste0('search_analytics_', Sys.Date(), '.csv'),
row.names = FALSE)
# Download aggregated keywords data as CSV file in export_path directory.
write.csv(x = rez_aggr,
file = paste0('search_analytics_aggr_', Sys.Date(), '.csv'),
row.names = FALSE) |
Запустится наш сприпт.



Начинаем парсить данные с Search console
Примечание: Сам скрипт может отрабатывать долго, т.к. он по дням делает запросы за последние 16 месяцев.



После окончания парсинга, мы получим вот такой результат в R Studio. И два файла с текущей датой в нашей папке.



Работа с полученными данными
В фале search_analytics_20YY-MM-DD, мы получим ключи их ctr и позицию по дням. (query,»date»,»clicks»,»impressions»,»ctr»,»position»)



В фале search_analytics_aggr_20YY-MM-DD, мы увидим наши ключи, клики и общее количество показов за выбранный нами период. (query,»clicks»,»impressions»)



Как использовать эти данные уже решать вам 😊
Если вам понравился материал ставьте ➕➕➕




