Jak tworzyć raporty SEO z wykorzystaniem Google API

W artykule przedstawione zostaną praktyczne metody tworzenia raportów SEO z wykorzystaniem Google API. Dowiesz się, jak sprawnie połączyć się z usługami takimi jak Google Search Console i Google Analytics, a także w jaki sposób automatyzować proces gromadzenia danych przy pomocy skryptów w języku Python. Omówione zostaną kluczowe etapy integracji, analiza pozyskanych informacji oraz techniki wizualizacji w narzędziach takich jak Data Studio czy BigQuery.

Integracja Google Search Console API w raportach SEO

Pierwszym krokiem jest uzyskanie dostępu do Google Search Console poprzez API. W konsoli Google Cloud należy stworzyć projekt, włączyć usługę Search Console API oraz wygenerować poświadczenia (klucz JSON). Po zainstalowaniu biblioteki w Python wystarczy zaimportować moduły i wykonać autoryzację:

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

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

Dzięki temu w prosty sposób można wysyłać zapytania do API i otrzymywać dane o zapytaniach, stronach, kliknięciach, wyświetleniach, CTR oraz średniej pozycji.

Uzyskiwanie danych o widoczności

  • Pobranie listy zweryfikowanych witryn
  • Określenie zakresu dat i typów zapytań (web, image, video)
  • Filtrowanie fraz po określonych słowach kluczowych
  • Analiza trendów kliknięć i wyświetleń

Przykładowe zapytanie:

response = service.searchanalytics().query(
    siteUrl='https://twojadomena.pl',
    body={
        'startDate': '2023-01-01',
        'endDate': '2023-01-31',
        'dimensions': ['query', 'page'],
        'rowLimit': 1000
    }
).execute()

Otrzymane wyniki przetwarzamy i zapisujemy do ramki danych Pandas, co umożliwi dalszą analizę i eksport do plików CSV lub bezpośrednią wizualizację.

Wykorzystanie Google Analytics API do pogłębionej analizy ruchu

Połączenie z Google Analytics pozwala na uzupełnienie raportu o metryki takie jak liczba sesji, czas trwania sesji czy wskaźnik odrzuceń. W analogiczny sposób co wcześniej uzyskujemy klucz serwisowy i konfigurujemy dostęp.

Pobieranie danych z raportu

from googleapiclient.discovery import build

analytics = build('analyticsreporting', 'v4', credentials=credentials)
report = analytics.reports().batchGet(
    body={
        'reportRequests': [{
            'viewId': '123456789',
            'dateRanges': [{'startDate': '30daysAgo', 'endDate': 'today'}],
            'metrics': [{'expression': 'ga:sessions'}, {'expression': 'ga:bounceRate'}],
            'dimensions': [{'name': 'ga:sourceMedium'}, {'name': 'ga:landingPagePath'}]
        }]
    }
).execute()

Dane z odpowiedzi API zamieniamy na struktury tabelaryczne, dzięki czemu możemy łatwo porównać źródła ruchu organicznego z innymi kanałami, a także analizować efektywność konkretnych stron docelowych.

Automatyzacja procesów raportowania i wizualizacja danych

Aby zapewnić regularne dostarczanie raportów SEO bez ręcznej ingerencji, warto skorzystać z możliwości automatyzacji. Jednym z rozwiązań jest użycie Google Apps Script do harmonogramowania zadań lub skryptów uruchamianych na serwerze (cron).

Integracja z Google Sheets i Data Studio

  • Eksport surowych danych do arkusza Google Sheets przy pomocy API
  • Przetwarzanie i agregacja danych w arkuszu
  • Tworzenie raportu w Google Data Studio na podstawie arkusza
  • Ustawienie automatycznego odświeżania każdego dnia lub tygodnia

Dodatkowo można wykorzystać BigQuery do przechowywania dużych wolumenów danych SEO i przeprowadzać złożone zapytania SQL. Dzięki temu zyskujesz pełną elastyczność oraz wydajność przy analizie historycznych trendów.

Przykład automatyzacji w Pythonie

import schedule
import time

def generate_seo_report():
    # pobranie danych z API
    # zapis do BigQuery lub Google Sheets
    print('Raport wygenerowany')

schedule.every().monday.at("08:00").do(generate_seo_report)

while True:
    schedule.run_pending()
    time.sleep(60)

Dzięki takiemu podejściu można skupić się na interpretacji wyników i optymalizacji strategii SEO, zamiast na ręcznym zbieraniu danych. Kluczowe elementy to prawidłowa integracja, solidne testy skryptów oraz stały monitoring, który gwarantuje spójność i wiarygodność raportów.