Google Indexing API umożliwia zgłaszanie zmian URL do Google, co może przyspieszyć indeksowanie nowych lub zaktualizowanych stron. Nie gwarantuje jednak natychmiastowego efektu i najlepiej działa dla treści o krótkim cyklu życia lub specjalnych typów zawartości (np. oferty pracy, transmisje na żywo). W praktyce konieczny jest odpowiedni zestaw uprawnień i konfiguracja, a także ograniczenia co do liczby powiadomień.
Co to jest i kiedy warto używać
- Umożliwia zgłoszenie zmian URL do indeksu Google.
- Najlepsze dla treści dynamicznych i specjalnych przypadków.
- Nie zastępuje standardowego indeksowania i nie gwarantuje natychmiastowego pojawienia się w wynikach.
- Najczęściej stosowany w połączeniu z tradycyjnymi metodami (sitemapy, crawlowanie).
Wymagania i przygotowanie
- Konto Google z dostępem do Search Console dla Twojej właściwości (strony/serwisu).
- Projekt w Google Cloud Platform z włączonym Google Indexing API (v3).
- Konto serwisowe z kluczem JSON, które będzie autoryzować żądania API.
- Udostępnienie konta serwisowego w Search Console z uprawnieniami właściciela lub pełnego użytkownika.
- Podstawowa implementacja klienta API w wybranym języku programowania (Python, Node.js, Java, itp.).
Krok po kroku: konfiguracja i autoryzacja
- Utwórz projekt w Google Cloud Console i włącz Indexing API (v3).
- Utwórz konto serwisowe i pobierz klucz w formacie JSON.
- Dodaj konto serwisowe jako użytkownika/ właściciela w Search Console dla swojej własności.
- Zainstaluj klienta API w wybranym języku (np. Python: google-api-python-client, google-auth).
- Wykonaj pierwsze powiadomienie URL, aby przetestować konfigurację.
Przykładowa implementacja (Python)
```python
from google.oauth2 import service_account
from googleapiclient.discovery import build
SCOPES = ['https://www.googleapis.com/auth/indexing']
SERVICE_ACCOUNT_FILE = 'PATH/TO/SERVICE_ACCOUNT.json'
credentials = service_account.Credentials.from_service_account_file(
SERVICE_ACCOUNT_FILE, scopes=SCOPES)
service = build('indexing', 'v3', credentials=credentials)
def notify_url(url, url_type='URL_UPDATED'):
body = {'url': url, 'type': url_type}
request = service.urlNotifications().publish(body=body)
response = request.execute()
return response
# Przykład użycia
notify_url('URL_TO_NOTIFY', 'URL_UPDATED')
```
- Używaj wartości URL_TO_NOTIFY jako zastępczego adresu konkretnej strony.
- Typ powiadomienia może być 'URL_UPDATED' lub 'URL_REMOVED'.
Dozwolone typy powiadomień
- URL_UPDATED – dla nowej lub zaktualizowanej strony.
- URL_REMOVED – dla usuniętej treści.
Jak wysyłać powiadomienia URL
- Wykonuj powiadomienia tylko dla stron, które rzeczywiście zmieniły zawartość lub funkcjonalność.
- Unikaj masowego wysyłania bez potrzeby; obserwuj limity i reakcje API.
- Sprawdzaj odpowiedzi API i logi błędów. W razie błędów dostosuj payload lub uprawnienia.
Najważniejsze limity i praktyczne wskazówki
- Dzienny limit żądań na jedną właściwość nie powinien być wykorzystywany do masowego zgłaszania. Przemyśl, które URL-e faktycznie wymagają szybkiej indeksacji.
- API nie zastępuje sitemap ani tradycyjnego crawlowania. Trzymaj je w zestawie narzędzi SEO.
- Upewnij się, że nie blokujesz indeksowania robotami (robots.txt) dla stron, które chcesz zgłaszać.
- Monitoruj odpowiedzi API i logi serwera; błędy mogą wskazywać na problemy z autoryzacją lub niepoprawne dane.
Potencjalne pułapki i najczęstsze błędy
- Brak uprawnień konta serwisowego w Search Console — nieudane zgłoszenia.
- Zbyt częste zgłaszanie bez rzeczywistej zmiany treści — prowadzi do nieefektywnego użycia limitów.
- Zgłaszanie stron z blokującym robots.txt — Google nie może ich zindeksować mimo powiadomienia.
- Nieprawidłowy format payloadu – upewnij się, że pola url i type są poprawnie sformatowane.
- Niewłaściwe zarządzanie kluczem serwisowym — zabezpiecz go i nie udostępniaj publicznie.
Monitorowanie i weryfikacja efektów
- Sprawdzaj w Google Search Console raporty o indeksowaniu i ewentualnych błędach.
- Obserwuj, które URL-e pojawiają się szybciej w wynikach po zgłoszeniu.
- Porównuj czas od publikacji do indeksowania dla stron, które zgłaszasz a tym, które nie były zgłaszane.