Jak analizować dane z Search Console w Pythonie

W artykule przedstawione zostaną praktyczne sposoby analizowania danych z Search Console przy użyciu Pythonie. Skupimy się na krokach niezbędnych do uzyskania dostępu do API, przetwarzaniu i ich dalszej analizie, a także metodach wykorzystania wyników do poprawy pozycji w wyszukiwarkach. Przykłady zaprezentujemy krok po kroku, aby każdy specjalista SEO mógł wprowadzić automatyzację w swoje działania.

Łączenie z API Search Console w Pythonie

Pierwszym etapem pracy jest nawiązanie połączenia z Search Console za pomocą API. W tym celu wymagane jest przygotowanie odpowiedniego projektu w Google Cloud oraz uzyskanie pliku z danymi uwierzytelniającymi.

Instalacja niezbędnych bibliotek

  • google-auth
  • google-auth-oauthlib
  • google-auth-httplib2
  • google-api-python-client

Instalację można przeprowadzić poprzez polecenie pip:

  • pip install google-auth google-auth-oauthlib google-auth-httplib2 google-api-python-client

Konfiguracja dostępu

Po utworzeniu projektu w Google Cloud i włączeniu Search Console API należy pobrać plik JSON z danymi uwierzytelniającymi. Następnie w skrypcie Pythona można skorzystać z kodu:

from google.oauth2 import service_account
from googleapiclient.discovery import build

SCOPES = ['https://www.googleapis.com/auth/webmasters.readonly']
KEY_FILE = 'path/to/credentials.json'
credentials = service_account.Credentials.from_service_account_file(KEY_FILE, scopes=SCOPES)
service = build('searchconsole', 'v1', credentials=credentials)

W ten sposób uzyskujemy instancję klienta API, która umożliwia wysyłanie zapytań do Search Console.

Przetwarzanie i analiza danych

Gdy mamy już aktywne połączenie, możemy pobrać dane dotyczące wydajności witryny, czyli liczby wyświetleń, kliknięć, CTR oraz średniej pozycji w wynikach wyszukiwania.

Pobieranie raportu wydajności

Przykładowe wywołanie metody do pobrania danych za wybrany okres:

request = {
  'startDate': '2023-01-01',
  'endDate': '2023-12-31',
  'dimensions': ['query', 'page'],
  'rowLimit': 25000
}
response = service.searchanalytics().query(siteUrl='https://twojastrona.pl', body=request).execute()
rows = response.get('rows', [])
  • dimensions: określa zakres danych (np. zapytania, strony, kraje).
  • rowLimit: maksymalna liczba wierszy do pobrania.

Przygotowanie danych do analizy

Po pobraniu surowych wyników warto je przekształcić do formatu DataFrame z biblioteki pandas:

import pandas as pd

data = []
for row in rows:
    record = {
        'query': row['keys'][0],
        'page': row['keys'][1],
        'clicks': row['clicks'],
        'impressions': row['impressions'],
        'ctr': row['ctr'],
        'position': row['position']
    }
    data.append(record)

df = pd.DataFrame(data)

Teraz możemy skorzystać z możliwości pandas oraz bibliotek wizualizacyjnych, takich jak matplotlib czy seaborn, by tworzyć czytelne wykresy i tabele.

Przykładowe analizy

  • Analiza kluczowych słów o najwyższym potencjale – sortowanie po liczbie wyświetleń i CTR.
  • Wykrywanie stron z niską średnią pozycją, ale wysokim CTR.
  • Porównywanie wyników między okresami – wzrosty i spadki.

Wykorzystanie wyników analizy do optymalizacji SEO

Uzyskane raporty należy przełożyć na konkretne działania optymalizacyjne. Dzięki danym z Search Console w Pythonie można tworzyć dynamiczne zestawienia i raporty, które wspierają codzienną pracę SEO.

Identyfikacja szans

Wysoka liczba wyświetleń przy niskiej pozycji sugeruje, że warto zoptymalizować treści pod określone zapytania. Można wówczas poprawić meta tagi, nagłówki H1H3, a także dodać odpowiednie słowa kluczowe do treści.

Monitorowanie zmian

Automatyczne skrypty mogą codziennie pobierać dane i wysyłać powiadomienia, gdy nastąpi spadek pozycji o określony procent. Dzięki temu zespół SEO błyskawicznie reaguje na problemy techniczne lub zmiany w algorytmie Google.

  • Wysyłanie raportów e-mail z podsumowaniem najważniejszych wskaźników.
  • Integracja z systemem Slack lub Teams — błyskawiczne alerty.

Integracja z innymi narzędziami SEO

W praktyce warto łączyć dane z Search Console z wynikami z narzędzi takich jak Ahrefs, SEMrush czy Moz. Połączenie różnych źródeł umożliwia pełniejszy przegląd konkurencji i identyfikację dodatkowych możliwości rozwoju.

Przykład integracji z API Ahrefs

Można pobrać dane o backlinkach i zestawić je z liczbą wejść z wyników organicznych. W Pythonie taka integracja przebiega analogicznie – wczytujemy dane z obu API i łączymy je w jednym DataFrame.

Wizualizacja cross-platformowa

  • Dashboardy w Google Data Studio z wykorzystaniem BigQuery.
  • Interaktywne raporty w Tableau łączące różne źródła.

Dzięki automatyzacji i zastosowaniu skryptów w Pythonie, specjaliści SEO zyskują narzędzie pozwalające na bieżąco monitorować efektywność działań i podejmować decyzje oparte na twardych danych.