Шаг 066. Соединяем страницы, краулинг и GSC

sqlГлава 5. JOIN: связываем таблицы

Что делаем

Соединяем страницы, краулинг и GSC

Зачем SEO-специалисту

Теперь мы видим и техническое состояние, и спрос из поиска в одном отчете.

Код. Вставьте 1 в 1

SELECT p.url,
       cp.status_code,
       cp.robots_status,
       SUM(g.impressions) AS impressions,
       SUM(g.clicks) AS clicks
FROM pages AS p
JOIN crawl_pages AS cp ON cp.page_id = p.page_id
LEFT JOIN gsc_daily AS g ON g.page_id = p.page_id
GROUP BY p.page_id, p.url, cp.status_code, cp.robots_status
ORDER BY impressions DESC;

Построчный разбор: что делает, для чего и как работает

Строка 1: SELECT p.url, — Начинает запрос и перечисляет колонки или выражения, которые нужно вывести.
Строка 2: cp.status_code, — Продолжает текущую SQL-команду: задает колонку, выражение, условие или значение.
Строка 3: cp.robots_status, — Продолжает текущую SQL-команду: задает колонку, выражение, условие или значение.
Строка 4: SUM(g.impressions) AS impressions, — Считает сумму числовых значений, например показов или кликов.
Строка 5: SUM(g.clicks) AS clicks — Считает сумму числовых значений, например показов или кликов.
Строка 6: FROM pages AS p — Указывает основную таблицу или источник данных для запроса.
Строка 7: JOIN crawl_pages AS cp ON cp.page_id = p.page_id — Соединяет текущие данные с другой таблицей по условию ON.
Строка 8: LEFT JOIN gsc_daily AS g ON g.page_id = p.page_id — Соединяет текущие данные с другой таблицей по условию ON.
Строка 9: GROUP BY p.page_id, p.url, cp.status_code, cp.robots_status — Группирует строки, чтобы можно было считать суммы, средние и количества.
Строка 10: ORDER BY impressions DESC; — Сортирует результат, чтобы важные строки оказались выше или ниже.

Что должно получиться

Вы увидите SEO-отчет, где каждая строка — страница с техданными и GSC.

Если появилась ошибка

Проверьте, что вы работаете в файле seo_lab_from_zero.db, скопировали блок полностью и не потеряли точку с запятой в конце SQL-команды.