Google Search Console API - automatyzacja raportów i analiz SEO
Google Search Console to kopalnia danych SEO, ale interfejs webowy ma ograniczenia. API pozwala pobierać dane programowo, tworzyć custom raporty i automatyzować monitoring. Poznaj jak wykorzystać GSC API do zaawansowanej analizy.
Krótka odpowiedź
Możliwości Google Search Console API
Search Analytics API:
- Dane o wydajności wyszukiwania
- Kliknięcia, wyświetlenia, CTR, pozycja
- Filtry: frazy, strony, kraje, urządzenia, daty
- Dane do 16 miesięcy wstecz
- Max 25,000 wierszy na request
URL Inspection API:
- Status indeksowania URL-a
- Informacje o crawlowaniu
- Mobile usability
- Rich results status
- Limit: 2,000 requestów dziennie
Sitemaps API:
- Lista sitemap
- Status i błędy
- Ostatnia data crawla
Co API NIE daje:
- Real-time data (opóźnienie 2-3 dni jak w UI)
- Dane historyczne >16 miesięcy
- Niektóre raporty dostępne tylko w UI
- Index Coverage w pełnej formie
Konfiguracja dostępu do API
1. Google Cloud Console:
- Utwórz projekt: console.cloud.google.com
- Włącz "Search Console API"
- Utwórz OAuth 2.0 credentials
2. Autoryzacja OAuth:
- Typ: Web application lub Desktop app
- Autoryzuj użytkownika z dostępem do property w GSC
- Uzyskaj access token i refresh token
3. Service Account (dla automatyzacji):
- Utwórz Service Account w Cloud Console
- Pobierz klucz JSON
- Dodaj email Service Account jako użytkownika w GSC
Python quickstart:
```python
from google.oauth2 import service_account
from googleapiclient.discovery import build
SCOPES = ['https://www.googleapis.com/auth/webmasters.readonly']
credentials = service_account.Credentials.from_service_account_file(
'service-account.json', scopes=SCOPES)
service = build('searchconsole', 'v1', credentials=credentials)
```
Alternatywy no-code:
- Google Data Studio (Looker Studio) - native connector
- Supermetrics
- API Connector for Google Sheets
Praktyczne zastosowania API
Automatyczne raporty tygodniowe:
- Pobierz dane za ostatni tydzień
- Porównaj z poprzednim tygodniem
- Wyślij email z summary
Alerty na spadki:
- Monitoruj kluczowe frazy codziennie
- Alert gdy pozycja spada o >X pozycji
- Lub gdy ruch spada o >X%
Analiza long-tail:
- Pobierz wszystkie frazy (25k limit per request)
- Analizuj frazy z niskim CTR przy wysokiej pozycji
- Znajdź content opportunities
Integracja z innymi źródłami:
- Połącz z GA4 (konwersje per keyword)
- Połącz z CRM (revenue per organic traffic)
- Custom dashboards w Looker Studio
Bulk URL Inspection:
- Sprawdź status indeksowania setek URL-i
- Znajdź strony nieindeksowane
- Automatyczne alerty na błędy
Przykład: top keywords report:
```python
request = {
'startDate': '2024-01-01',
'endDate': '2024-01-31',
'dimensions': ['query'],
'rowLimit': 1000
}
response = service.searchanalytics().query(
siteUrl='https://example.com',
body=request
).execute()
```
Limity i best practices
Limity API:
- Search Analytics: 1,200 queries/min (per user)
- URL Inspection: 2,000 requests/day (per property)
- Sitemaps: 1,200 queries/min
- 25,000 rows max per request
Paginacja dla dużych zbiorów:
- Używaj startRow dla paginacji
- Iteruj po 25k wierszy
Optymalizacja requestów:
- Agreguj dane gdzie możliwe
- Cachuj wyniki (dane są statyczne przez 2-3 dni)
- Batch requests gdy możliwe
Przechowywanie danych historycznych:
- GSC trzyma 16 miesięcy
- Regularnie eksportuj do własnej bazy
- BigQuery lub PostgreSQL dla analiz
Obsługa błędów:
- Rate limiting (429) - exponential backoff
- Auth errors (401) - refresh token
- Quota exceeded (403) - poczekaj lub podnieś limit
Alternatywne narzędzia:
- searchconsole R package
- gsc-exporter (Python)
- Search Analytics for Sheets (add-on Google)
- Screaming Frog (GSC integration)