Проблема

Команді SEO потрібні були дані про ефективність із Google Search Console, але вони були розкидані по 50 окремих акаунтах. Вивантажувати їх вручну було довго, легко було помилитися, а до моменту, коли хтось дивився на цифри, вони вже застарівали.

Що я зробив

Запланований пайплайн на Windmill, написаний на Python, який збирає дані Search Console з усіх 50 акаунтів через офіційний API і складає їх в одному місці в єдиному форматі.

Як це працює:

  • Один флоу, багато акаунтів. Флоу проходить по списку акаунтів і обробляє їх паралельними пакетами, тож додати чи прибрати акаунт — це зміна в один рядок.
  • Окремий доступ для кожного акаунта. У кожного акаунта свої збережені облікові дані, а кожен запит виходить через виділений проксі Bright Data цього акаунта.
  • Надійний збір. Пайплайн отримує запити, сторінки, кліки, покази, CTR і середню позицію за обраний період, обробляє пагінацію та ліміти API і повторює невдалі запити.
  • Один набір даних. Результати з усіх акаунтів нормалізуються й записуються в таблицю Grist.
  • Збої помітні. Якщо один акаунт видає помилку, решта продовжують працювати, а я отримую сповіщення з назвою акаунта та помилкою.

Результат

  • Дані з усіх 50 акаунтів збираються автоматично за розкладом, без ручного вивантаження.
  • Заощаджує команді понад 10 годин на тиждень.

Інструменти

Windmill, Python, Google Search Console API, Grist, проксі Bright Data (по одному на акаунт).

Деталі знеособлено. Клієнта не названо, а цифри наведено лише в обсязі, який було погоджено.