Главная Статьи SEO

Search Console API и BigQuery: как построить надёжную SEO-аналитику

Поток SEO-данных из Google Search Console API и bulk export в BigQuery

Интерфейс Google Search Console удобен, чтобы быстро увидеть падение кликов, открыть страницу или проверить запрос. Но регулярный отчёт по десяткам разделов, многолетняя история и автоматические проверки требуют выгрузки. Здесь важно не смешивать два разных механизма: Search Console API отвечает на ограниченные запросы к данным, а bulk export ежедневно складывает большой набор строк в BigQuery для собственного SQL.

API не становится полным зеркалом Search Console только после перебора страниц ответа. Метод Search Analytics возвращает прежде всего верхние строки и ограничен внутренними правилами продукта. Bulk export ближе к полному набору доступных показателей, но не раскрывает текст редких анонимизированных запросов, начинает копить историю лишь после подключения и создаёт расходы на хранение и обработку в Google Cloud.

Правильная архитектура начинается с вопроса, а не с технологии. Для ежедневных итогов небольшого сайта может хватить API. Для крупного каталога, соединения периодов и стабильной витрины нужен BigQuery. Для диагностики отдельного URL остаются интерфейс и URL Inspection. Ни один способ не увеличивает позиции сам по себе: он лишь помогает сохранить данные, посчитать метрики без арифметических ошибок и вовремя заметить изменение.

Как выбрать интерфейс, API или BigQuery

Интерфейс Search Console подходит для исследования: сравнить два периода, поставить фильтр, открыть конкретный запрос и перейти к проверке URL. Он помогает человеку сформулировать гипотезу, но не является долговременным хранилищем и не должен превращаться в еженедельное копирование CSV вручную. Базовые отчёты и их смысл разобраны в руководстве по Google Search Console.

Search Analytics API полезен, когда нужен повторяемый небольшой или средний отчёт: ежедневные итоги по страницам, странам, устройствам и типам поиска, обновление собственной панели, контроль выбранного списка разделов. API бесплатен, но имеет квоты и ограничения данных. Он поддерживает фильтры и агрегации Search Console, а не произвольный SQL. Скрипт должен хранить состояние, повторять временные ошибки и не считать пустой ответ доказательством отсутствия спроса.

Bulk export выбирают, когда важна максимальная доступная детализация для большого свойства, ежедневная история без ручной выгрузки и анализ в хранилище. Search Console создаёт таблицы в BigQuery и добавляет новые данные раз в день. Команда сама решает, как долго их хранить, какие витрины строить и кто имеет доступ. За хранение и запросы может взиматься плата после бесплатного объёма.

Не обязательно выбирать один путь навсегда. Практичная схема использует интерфейс для расследования, API для точечных автоматизаций и BigQuery как стабильный слой больших данных. Однако две параллельные загрузки одной метрики требуют общего словаря. Если API считает страницы по одному фильтру, а SQL — по другому типу поиска, одинаковое название отчёта будет скрывать разные наборы.

Прямой экспорт из интерфейса остаётся полезным для разового вопроса: показать коллеге выбранный фильтр, проверить гипотезу до разработки или приложить небольшой срез к задаче. Подпишите файл property, диапазоном, типом поиска, часовым поясом и датой выгрузки. Без этого через неделю CSV выглядит как универсальная истина, хотя отражает конкретный экран. Если одно и то же ручное действие повторяется регулярно, опишите ожидаемый результат и только затем автоматизируйте его. Так API или SQL воспроизводит понятную бизнес-логику, а не случайную последовательность кликов аналитика.

Не путайте назначение: API извлекает доступные данные и управляет отдельными объектами Search Console. Он не является «кнопкой массовой индексации», а bulk export не исправляет технические проблемы сайта.

Как устроить доступ и ответственность

Сначала определите владельца Search Console property, владельца Cloud-проекта, администратора биллинга и потребителей отчёта. Для чтения API достаточно подходящего OAuth-доступа к свойству; секреты приложения нельзя хранить в репозитории или общей таблице. Для bulk export требуется владелец свойства Search Console, Cloud-проект с включёнными BigQuery API и Storage API, активным биллингом и правами для системной учётной записи экспорта.

Выдавайте минимально необходимые роли. Сервис, который загружает данные, не обязан управлять всем проектом, а аналитик не должен менять IAM. Отдельные окружения полезно разделить: тестовый запрос проверяется на ограниченном наборе дат, производственная витрина запускается по расписанию с лимитом обработанных байтов. Удаление ключа сотрудника после увольнения должно быть частью обычного процесса доступа.

Для нескольких сайтов задайте понятные имена проектов, наборов данных и представлений. Search Console позволяет выбрать имя dataset с обязательным префиксом, а для разных properties в одном проекте нужны разные наборы. Регион хранения выбирают до первого экспорта: встроенного простого переноса местоположения нет. Учтите требования организации, расположение соседних данных и будущие соединения.

Рядом с настройкой храните паспорт: property, тип собственности, проект, dataset, регион, дата запуска, ответственный, срок хранения, часовой пояс и аудитория. Это защищает от ситуации, когда счёт продолжает расти, а никто не знает, какой дашборд использует таблицу. Общая система ответственности полезно дополняет регламент SEO-мониторинга.

Проверяйте не только выдачу роли, но и рабочий доступ. Тестовый запрос от имени производственной учётной записи должен прочитать нужную таблицу и не иметь лишних административных прав. Для OAuth заранее определите, кто обновляет согласие приложения и что произойдёт при отзыве токена. Алерт об авторизации отделяйте от сообщения «нет данных»: иначе дашборд покажет спокойный ноль в день, когда загрузчик просто потерял доступ. Секреты ротируют по регламенту, а аварийное восстановление проверяют до увольнения единственного администратора.

Что возвращает Search Analytics API

Метод searchanalytics.query принимает свойство, диапазон дат, измерения, фильтры, тип поиска, способ агрегации и состояние данных. Ответ содержит ключи строк, клики, показы, CTR и среднюю позицию. Результаты обычно сортируются по кликам по убыванию; при группировке по дате — хронологически. Нулевые дни могут отсутствовать, поэтому календарь нужно строить отдельно и присоединять данные к нему.

В одном запросе rowLimit допускает от 1 до 25 000 строк, значение по умолчанию — 1 000. Продолжение получают через startRow. Но пагинация не отменяет главное ограничение: Google прямо предупреждает, что API не гарантирует все строки и возвращает верхние. В справке по выгрузке указана граница до 50 000 строк в день на тип поиска и property для performance-данных.

Поэтому цикл до пустой страницы означает только окончание доступного ответа, а не полный перебор всех запросов пользователей. На небольшом сайте разница может быть незаметна; на крупном каталоге длинный хвост окажется обрезан. Не восстанавливайте его вымышленным распределением. Для вопроса о полном доступном массиве после даты подключения используйте bulk export, а для исторического периода до подключения — API с явной оговоркой.

Квоты относятся не только к числу строк. Слишком тяжёлые запросы, частые обращения и нагрузка на пользователя или проект могут ограничиваться. Делите длинный период на дни, кэшируйте неизменившиеся результаты, используйте экспоненциальную паузу при временных ответах и фиксируйте последнюю успешно загруженную дату. Скрипт без идемпотентности легко создаёт дубли после повторного запуска.

Сохраняйте технический журнал без самих пользовательских фраз: время запроса, property, даты, измерения, фильтры, startRow, число полученных строк и код ответа. При ошибке авторизации не запускайте бесконечные повторы, при временном ограничении соблюдайте паузу, а при пустой странице завершайте именно текущую пагинацию. Контрольный тест должен повторно загрузить один день и получить тот же итог после замены партиции. Если он добавляет значения второй раз, проблема находится в вашей загрузке, а не в Search Console. Версию клиента и контракт полей проверяйте перед крупным обновлением.

Как работать с измерениями и датами

Каждое дополнительное измерение меняет зерно таблицы. Строка «страница × запрос × страна × устройство × дата» не равна строке «страница × дата». Нельзя усреднить уже рассчитанный CTR по строкам: итоговый CTR равен сумме кликов, делённой на сумму показов. Среднюю позицию тоже пересчитывают взвешенно по показам, если объединяют агрегаты.

Даты Search Console основаны на Pacific Time. Если отчёт бизнеса живёт по Москве, граница суток будет отличаться. Не подменяйте дату источника локальным timestamp загрузки. Храните data_date как дату Search Console, а при сравнении с GA4 объясняйте часовые зоны и разные точки измерения. Почему клики не равны сессиям, разобрано в статье о GA4 для SEO.

Режим dataState позволяет запросить финальные или свежие данные; свежий край может быть неполным. Для оперативного сигнала можно хранить preliminary-слой, но официальный отчёт строить после финализации. Не переписывайте молча число, уже отправленное руководителю: указывайте дату среза и статус. Почасовые данные требуют отдельного режима и осторожности с частичными часами.

Фильтры по запросу влияют на итоги из-за анонимизации и усечения. Сумма показанных запросов может не совпасть с общей строкой property. Сравнивайте одинаковые search type, страну, устройство, search appearance и агрегацию. Словарь сегментов лучше хранить рядом с методикой KPI SEO, чтобы два дашборда не называли «органикой» разные данные.

Что делают остальные методы API

Search Console API — это не только Performance. Sitemaps API позволяет получить список карт, отправить sitemap или удалить запись о ней из property. Это управление объявлением карты в Search Console, а не создание файла и не гарантия индексации URL. Сам XML должен отвечать успешно и содержать канонические допустимые адреса; основы описаны в статье о sitemap.xml.

URL Inspection API возвращает известное Google состояние индексирования указанного URL: покрытие, canonical и отдельные сведения о расширенных функциях. Он не запускает live test и не отправляет URL на индексацию. Квоты делают его инструментом выборочной диагностики, а не ежедневного полного обхода миллионов страниц. Формируйте выборку из важных шаблонов, новых URL и аномалий.

Sites API управляет списком properties и проверяет уровень доступа. Он помогает инвентаризировать аккаунт, но не заменяет управление правами в команде. Если property отсутствует, сначала проверьте точную форму URL-prefix или domain property и пользователя OAuth. Нормализация адреса особенно важна: https://example.com/ и sc-domain:example.com — разные идентификаторы.

Не путайте Search Console API с Google Indexing API. Последний официально предназначен для ограниченных типов контента, а не для произвольного ускорения обычных статей и карточек. Нормальный путь обнаружения — ссылки, sitemap и доступный ответ сервера. Практика проверки попадания URL в поиск собрана в материале об индексации сайта.

Как запустить bulk export

В Google Cloud создайте или выберите проект с биллингом, включите BigQuery API и BigQuery Storage API, затем выдайте системному principal экспорта роли BigQuery Job User и BigQuery Data Editor по официальной инструкции. В Search Console откройте настройки property, задайте project ID, имя dataset и местоположение. Проверяйте именно ID, а не отображаемое название или номер проекта.

Первый экспорт может появиться в течение 48 часов после успешной настройки и включает данные дня экспорта. История до подключения автоматически не загружается: для неё используют отчёты или API с их ограничениями. Поэтому включайте bulk export до того, как возникнет потребность в многолетнем разборе. Позднее восстановить отсутствующий длинный хвост запросов задним числом нельзя.

Данные будут накапливаться, пока экспорт работает и партиции не удаляются по вашей политике. Срок хранения можно задать после создания таблиц; документация рекомендует не короче 14 дней, иначе загрузка может попасть в истекающую партицию. Не меняйте схему созданных таблиц: добавление собственного столбца способно остановить экспорт. Собственные вычисления размещайте в отдельных views или витринах.

Остановка не удаляет существующие данные и может пропустить ещё один суточный цикл. Перенос региона не поддерживается как простое изменение настройки; потребуется остановка, копирование и новый запуск с риском разрыва. Заранее выберите место, бюджет и срок. Для длинной сезонности полезно связать хранилище с подходом из статьи о сезонности спроса.

Как читать таблицы и анонимизацию

Экспорт создаёт две основные performance-таблицы и журнал. searchdata_site_impression агрегирует данные на уровне property, searchdata_url_impression — на уровне URL, а ExportLog фиксирует успешные выгрузки в основные таблицы. Неудачные попытки не образуют полную историю в ExportLog, поэтому последний статус и уведомления Search Console остаются важны.

Поле data_date — дата данных, а не загрузки; таблицы разделены на партиции по дню. Кроме запроса и страницы доступны страна, устройство, тип поиска и признаки search appearance в соответствии со схемой. Значения могут расширяться, поэтому downstream-процесс должен спокойно принимать новые перечисления и не превращать неизвестный тип в ошибку всего отчёта.

Редкие запросы скрываются ради приватности. В таблице для такой строки используется is_anonymized_query, а текст query пуст или недоступен. Метрики анонимизированного сегмента можно учитывать в общих суммах, но раскрыть фразу, связать её с человеком или «угадать» по URL нельзя. Фильтр query != '' полезен для списка фраз, но уменьшает итог относительно всех показов.

Google предупреждает, что строки не обязаны быть уже окончательно объединены по выбранным ключам. Поэтому метрики всегда агрегируют через SUM, даже если комбинация выглядит уникальной. Простая сортировка исходных строк может выбрать только один фрагмент запроса. Для карты страниц используйте устойчивую нормализацию URL, но сохраняйте оригинал; подход к группировке раскрыт в карте релевантности.

Таблицы property и URL отвечают на разные вопросы. Первая удобна для общего тренда свойства и не должна механически соединяться со второй по предполагаемой странице. URL-таблица подходит для шаблонов, разделов и канонических адресов, но её сумма должна сравниваться с одинаковым зерном и фильтрами. Сохраните служебное поле источника в каждой витрине, чтобы график не переключился незаметно между уровнями. При миграции домена или протокола также отметьте границу properties: BigQuery не объединяет историю разных свойств автоматически, даже если бизнес считает их одним сайтом.

Архитектура данных Search Console через API и BigQuery Интерфейс служит ручной диагностике. API отдаёт ограниченные верхние строки для автоматизации. Bulk export ежедневно записывает две партиционированные таблицы и журнал в BigQuery. Из таблиц строится агрегированная витрина с контролем качества и стоимости. Три поверхности — три разных назначения Интерфейсфильтр · сравнениеручное расследование Search Analytics APIверхние строки · квотыточечная автоматизация Bulk exportежедневные партициибез исторического backfill BigQuery rawsite · URL · ExportLog Витрина и контрольSUM · даты · анонимизация · стоимость · алерты
Интерфейс помогает исследовать, API — автоматизировать ограниченную выборку, а BigQuery — хранить и пересчитывать ежедневный массив.

Как писать SQL и контролировать стоимость

Начинайте запрос с ограничения data_date. Партиционный фильтр позволяет BigQuery не читать ненужные дни. Затем выбирайте только используемые столбцы: колоночное хранилище считает обработанные данные по прочитанным колонкам. SELECT * для проверки одного показателя и многолетний диапазон без условия превращают маленькую задачу в дорогой скан.

SELECT
  url,
  SUM(clicks) AS clicks,
  SUM(impressions) AS impressions,
  SAFE_DIVIDE(SUM(clicks), SUM(impressions)) AS ctr
FROM `project.searchconsole.searchdata_url_impression`
WHERE data_date BETWEEN '2026-07-01' AND '2026-07-21'
  AND search_type = 'web'
GROUP BY url

LIMIT 100 уменьшает число возвращённых строк, но сам по себе не уменьшает объём прочитанных колонок. До запуска используйте оценку байтов или dry run, задавайте maximum bytes billed и бюджетные уведомления. При on-demand модели Google тарифицирует объём обработки; на дату статьи действует бесплатный месячный объём, но цена и валюта зависят от актуального прайс-листа. Не зашивайте сумму из старой статьи в финансовый прогноз.

Вычисляемые витрины создавайте отдельно от raw-таблиц: дневной итог property, URL-класс, запрос без анонимного текста, устройство и страна. Материализуйте только то, что действительно ускоряет регулярные отчёты. Кэшированные результаты могут не тарифицироваться как новый скан, но нельзя строить бюджет на предположении, что любой запрос попадёт в кэш.

Финансовый контроль включает хранение, запросы и работу инженера. Маленький проект часто остаётся в бесплатном уровне, большой каталог — нет. Укажите владельца бюджета, порог предупреждения и действие при превышении: остановить экспериментальный запрос, сократить диапазон или перейти к подготовленной витрине. Связь поисковых данных с бизнесом уместно строить по правилам сквозной аналитики, не пытаясь соединить анонимный запрос с человеком.

Для командной работы заведите опубликованные views с говорящими именами и описанием зерна. Исследователь может экспериментировать в личном наборе, но дашборд должен читать проверенную витрину с фиксированными фильтрами. Метки job помогают найти владельца дорогого запроса, а отдельные лимиты защищают производственное расписание от случайного полного скана. Периодически просматривайте фактические байты, а не только сумму счёта: бесплатный объём способен скрыть неэффективный SQL до роста данных. Оптимизация считается принятой лишь после dry run и сравнения результата, чтобы экономия не удалила нужный сегмент.

Как проверять полноту и сбои

Каждый день проверяйте максимальную data_date, число строк по таблицам и запись в ExportLog. Суточное время выгрузки может меняться, поэтому алерт ставят после разумного окна, а не ровно в полночь. Search Console повторяет временные сбои, но при устойчивой ошибке попытки конкретного дня прекращаются примерно через неделю, а длительная серия может остановить экспорт.

Сравнивайте totals витрины с итогами Search Console на одинаковом типе поиска, property и диапазоне. Сумма раскрытых query не обязана совпасть с общим итогом из-за анонимизации. API может быть ниже bulk export из-за верхних строк. Это ожидаемые различия, а не автоматическое доказательство поломки. Документируйте контрольные допуски для каждого сравнения.

Найдите дубли загрузки. Повторная задача API должна заменять партицию или использовать уникальный ключ, а не добавлять строки второй раз. В bulk-таблицах всегда применяйте SUM согласно рекомендациям Google. Проверяйте нулевые дни, неожиданный новый search type, резкую смену доли анонимного сегмента и изменение количества URL по шаблонам.

Отдельно сохраняйте историю конфигурации: права, схема витрин, SQL, дата релиза и business glossary. При падении трафика это позволяет разделить событие в поиске и ошибку загрузки. Практическое дерево причин есть в статье о падении трафика, а серверную картину обхода даёт анализ логов.

Свежий день не считайте окончательным только потому, что партиция появилась. Запишите момент загрузки и статус данных, затем разрешите отчёту пересчитать недавнее окно, если источник уточнился. Контрольная сумма по дню помогает заметить изменение, но не объясняет его: сравните число строк, клики, показы и долю анонимного сегмента. После повторной загрузки витрина должна заменить соответствующий период и сохранить дату пересчёта. Так корректировка источника не создаст дубль и не будет ошибочно объявлена новым ростом или падением.

Перед публикацией дашборда проведите приёмку с будущим пользователем. Для нескольких известных страниц вручную повторите фильтры в интерфейсе, объясните допустимые расхождения и покажите, где указаны дата обновления и зерно. Проверьте пустой период, новый тип поиска, URL без кликов и анонимный сегмент. График не должен соединять пропуск загрузки с нулём как обычный день. Рядом с показателем разместите короткое определение и владельца вопроса. Если команда не может воспроизвести число из сохранённого SQL и параметров, отчёт ещё не готов для решений, даже когда визуально выглядит убедительно.

Числовой пример витрины SEO

Рассмотрим один учебный день. Контрольная агрегация bulk export по тем же измерениям показывает 180 000 ненулевых комбинаций по всем типам поиска. Через API скрипт получает допустимый максимум 50 000 строк web, а также 18 000 image и 7 000 video: всего 50 000 + 18 000 + 7 000 = 75 000. Разница с контрольной витриной — 105 000 строк, или 105 000 / 180 000 × 100 = 58,33%. Сам API не раскрывает пропущенный хвост и без внешнего контроля не позволяет назвать его размер.

После подключения bulk export дневная URL-таблица содержит 2 400 000 сырых строк. Запрос без фильтра читает 28 дней, условно 67 200 000 строк: 2 400 000 × 28 = 67 200 000. Витрина выбирает семь нужных дней и пять колонок вместо двадцати. Если принять одинаковый средний размер колонок только для учебного расчёта, относительный объём чтения равен 7 / 28 × 5 / 20 = 0,0625, то есть 6,25% исходного.

СлойОбъёмОграничениеРешение
Search Analytics API: web50 000 строкВерхний доступный срезНе объявлять полной выборкой
API: image + video25 000 строкОтдельные типыХранить тип в ключе
Bulk raw за 28 дней67 200 000 строкСтоимость полного чтенияФильтр партиций
Рабочий диапазон7 дней, 5 из 20 колонок6,25% условного объёмаВитрина для отчёта
API всего75 000 строкНе полный long tailBulk для будущей истории

Предварительная оценка BigQuery показывает 320 ГБ для исходного запроса и 20 ГБ для ограниченного: 320 × 6,25% = 20. Экономия чтения — 300 ГБ, или 93,75%: (320 − 20) / 320 × 100. Это проверяемая арифметика примера, а не обещание конкретного счёта: реальные байты зависят от колонок, партиций, кластеризации и текущего тарифа.

Бизнес-вывод строят после проверки данных. Команда видит рост показов категории, но не приписывает его автоматизации. Она изучает страницы и запросы, сезонность, изменения сайта и качество трафика. Для оценки будущего диапазона пригодится сценарный прогноз SEO-трафика, где предположения отделены от факта.

Как поддерживать систему данных

Ежедневно контролируйте свежесть, статус экспорта, дубли и стоимость запланированных запросов. Еженедельно сверяйте одну property и несколько сегментов с интерфейсом. Ежемесячно проверяйте пользователей IAM, срок партиций, бюджет и потребителей витрин. Если отчёт никто не открывает, его расписание и хранение нужно пересмотреть, а не поддерживать по инерции.

Все метрики получают определение: property, search type, дата источника, измерения, фильтры, формула и обработка анонимных строк. CTR вычисляют из сумм, позицию — с указанной методикой, URL-классы — из версионируемых правил. Изменение классификатора запускается на тестовом периоде и сопровождается пересчётом либо отметкой разрыва ряда.

API-клиенты и SQL хранятся как код: review, тесты, журнал релизов и безопасные секреты. Для критичных витрин добавьте контрольную сумму по дням, лимит байтов и возможность повторно собрать период из raw. Приоритет задач определяйте по влиянию и надёжности данных; практический подход есть в материале о приоритизации SEO.

Не превращайте хранилище в систему слежения. Search Console уже защищает редкие запросы анонимизацией; не пытайтесь обойти это через соединение с пользовательскими идентификаторами. Ограничьте доступ к сырым таблицам, агрегируйте данные для редакторов и руководителей, задайте срок хранения по реальной задаче. Хорошая аналитика отвечает на рабочий вопрос и честно показывает границы наблюдаемости.

Удаление тоже проектируйте заранее. Срок партиций должен покрывать сезонный анализ, пересчёт витрин и время реакции на сбой, но бессрочное хранение не является целью само по себе. Перед сокращением периода проверьте, какие отчёты читают raw, выгрузите только необходимый архив и задокументируйте необратимый разрыв. Для доступа используйте группы ролей, регулярно удаляйте неактивных участников и записывайте, кто может видеть запросы и URL. Так стоимость, безопасность и аналитическая ценность рассматриваются вместе, а не становятся тремя несвязанными задачами разных отделов.

Чек-лист Search Console data pipeline

  • Интерфейс, API и bulk export имеют разные роли
  • Property, тип поиска, дата и зерно записаны в словаре
  • API-ответ не называется полной таблицей запросов
  • Анонимизированные фразы не восстанавливаются догадкой
  • Исторический период до bulk export отмечен отдельно
  • SQL агрегирует строки и ограничивает партиции и колонки
  • Dry run, maximum bytes billed и бюджетные алерты включены
  • Свежесть, ExportLog, дубли и права проверяются регулярно

Официальные источники

Главный вывод

Search Console API подходит для ограниченной автоматизации, но возвращает верхние строки и имеет квоты. Bulk export ежедневно сохраняет более полный доступный массив в BigQuery, не раскрывая текст анонимизированных запросов и не загружая прошлую историю до подключения. Надёжная система фиксирует зерно и даты, агрегирует строки, ограничивает партиции, контролирует стоимость и сбои. Она улучшает качество решений, но не гарантирует позиции или трафик.

Частые вопросы

Чем Search Console API отличается от bulk export?
API отвечает на запросы с фильтрами и подходит для умеренных автоматизаций, но возвращает верхние строки и ограничен квотами. Bulk export раз в день добавляет большой набор performance-данных в BigQuery, где команда пишет собственный SQL и оплачивает использование сверх бесплатного уровня.
Можно ли получить через API все поисковые запросы?
Нет. Google прямо указывает, что Search Analytics API не гарантирует все строки и возвращает верхние. Кроме того, редкие запросы скрываются ради приватности. Пагинация забирает доступные страницы ответа, но не превращает их в полный список пользовательских фраз.
Загрузит ли BigQuery историю до даты подключения?
Нет. Первый bulk export появляется после настройки и начинает регулярное накопление данных с текущего периода. Для более ранних дат остаются интерфейс и API с их ограничениями. Поэтому экспорт лучше включить заранее, если нужна длительная собственная история.
Почему query в BigQuery бывает пустым?
Редкие запросы анонимизируются для защиты приватности. В таблице это отмечается полем is_anonymized_query, а текст фразы не раскрывается. Метрики такого сегмента можно учитывать в общих итогах, но восстанавливать запрос по странице или другим данным нельзя.
Уменьшает ли LIMIT стоимость SQL-запроса?
LIMIT уменьшает число строк результата, но сам по себе не сокращает прочитанные колонки. Для экономии ограничивайте data_date по партициям, выбирайте только нужные поля, делайте dry run и задавайте maximum bytes billed. Стоимость проверяйте по актуальному прайс-листу Google Cloud.
Можно ли через Search Console API отправлять URL на индексацию?
URL Inspection API возвращает известное Google состояние URL, но не является командой индексации и не запускает live test. Sitemaps API управляет записью карты сайта. Обнаружение обычных страниц по-прежнему зависит от доступных ссылок, sitemap и корректных ответов сервера.