Automatyczne-dodawanie-wielu-adresów-URL-do-Google-Search-Console-900x506

Automatyczne dodawanie wielu adresów URL do GSC

Zarówno podczas tworzenia nowej witryny oraz w trakcie jej rozbudowy zależy nam, aby zmiany zostały jak najszybciej zauważone przez roboty wyszukiwarek. Na rynku Polskim chodzi przede wszystkim o wyszukiwarkę Google. Oczywiście na samym początku warto przygotować plik sitemap.xml, który będzie zawierał wszystkie istotne podstrony w naszym serwisie i należy zgłosić go do Google Search Console. Nie zawsze jednak nasze nowe podstrony są szybko indeksowane. Częstą praktyką jest korzystanie z różnych zewnętrznych indekserów linków, które nie zawsze cechują się wysoką skutecznością. Jest jeszcze kilka różnych metod, które działają lepiej lub gorzej, są płatne lub darmowe. W tym artykule skupimy się na najbardziej skutecznym rozwiązaniu i całkowicie bezpłatnym.

Google Search Console – ręczne zgłaszanie linków?

Jednym z najskuteczniejszych rozwiązań mających na celu indeksacje linków z naszej witryny jest zgłoszenie ich przez narzędzie Google Search Console.

Jeszcze w 2018 roku mogliśmy korzystać z publicznego przesyłania adresów URL do indeksu (Submit URL), który został wycofany przez Google. Można było także zauważyć spadek skuteczności tej metody w perspektywie czasu.

Wracając natomiast do obecnej formy zgłaszania własnych adresów URL – jest to rozwiązanie skuteczne, ale bardzo niewygodne w przypadku, gdy chcemy zgłosić kilkadziesiąt lub kilkaset linków dziennie. Pierwszym problemem jest czas w którym musimy wkleić link, poczekać na przetworzenie treści przez Google, a następnie zaakceptować zgłoszenie. Przy większej ilości linków zaczyna pojawiać się Captcha, której rozwiązanie trwa czasami dłuższą chwilę.

 

Automatyczne zgłaszanie linków

 

Jeżeli chcemy zaoszczędzić czas, warto sprawdzić rozwiązanie, które oferuje nam Google. Wymaga to chwili konfiguracji, natomiast pozwoli nam robić to w pełni automatycznie w przyszłości. Rozwiązanie to Google Indexing API. Pewnie zastanawiacie się co na to Google?

Źródło: https://developers.google.com/search/apis/indexing-api/v3/quickstart

Myślę, że powyższy akapit rozwiewa większość wątpliwości i wyjaśnia różnicę w indeksacji pomiędzy mapą witryny, a interfejsem Indexing API.

Mając już potwierdzoną słuszność tego rozwiązania, zaczynamy konfigurację.

 

Konfiguracja Google Indexing API – Google Cloud Platform

 

Rozpoczynamy od stworzenia konta w Google Cloud Platform ( https://console.cloud.google.com/home/dashboard). Następnie wybieramy z bocznego menu „Strona główna” i klikamy w łącze „Utwórz”:

 

 

Po otwarciu nowego formularza, uzupełniamy pole „Nazwę projektu” i klikamy Utwórz. Warto zwrócić uwagę na nadany identyfikator projektu, z którego będziemy w przyszłości korzystać.

 

 

Po utworzeniu przechodzimy ponownie do menu i wybieramy Administracja > Konta Usługi

 

 

Wybieramy opcję UTWÓRZ KONTO USŁUGI

 

 

Wypełniamy pole Nazwa konta usługi i automatycznie uzupełni się kolejne pole. Następnie klikamy przycisk Utwórz.

 

 

Punkt drugi możemy pominąć i przechodzimy do punktu trzeciego wybierając przycisk UTWÓRZ KLUCZ. Wysunie nam się nowe okno w którym wybieramy domyślną opcję typu klucza JSON i wybieramy przycisk UTWÓRZ:

 

 

Po poprawnej operacji powinniśmy otrzymać następujący komunikat:

 

 

Dodatkowo na nasz komputer pobierze się automatycznie plik JSON, który stanowi klucz prywatny. Należy go przechowywać w bezpiecznym miejscu.

Po zamknięciu powyższego okna, klikamy przycisk GOTOWE. Teraz w zakładce Konta usługi mamy stworzony nasz klucz:

 

Google Cloud Platform – uruchomienie API

 

Aby uruchomić dostęp do API, przechodzimy na stronę https://console.developers.google.com/apis/library/indexing.googleapis.com i klikamy przycisk WŁĄCZ

 

Konfiguracja Google Indexing API – Google Search Console

 

Przechodzimy do naszego panelu Google Search Console w którym mamy zweryfikowaną domenę. Z menu bocznego wybieramy opcję Ustawienia > Użytkownicy i uprawnienia:

 

 

Następnie wybieramy opcję DODAJ UŻYTKOWNIKA.

Otrzymamy nowe okno modalne w którym musimy wpisać adres e-mail wygenerowany przez Google Cloud. Dostępny jest w zakładce Konta usługi, o którym pisałem wcześniej.

Wzór adresu e-mail: my-service-account@project-name.google.com.iam.gserviceaccount.com

 

 

Po wybraniu opcji DODAJ, wpisany adres e-mail znajdzie się na liście Użytkowników w Google Search Console.

Jeżeli chcemy zgłaszać linki dla więcej niż jednego serwisu, musimy powtórzyć operację nadania dostępów w Google Search Console.

UWAGA!

Warto dodać również dostępy do maila z Google Cloud Platform w dawnym GSC ( https://www.google.com/webmasters/verification/home). Często zdarza się, że podczas uruchamianie skryptu wyskakuje błąd autoryzacji, jeżeli dostępy nadaliśmy tylko poprzez nowe GSC.

 

Tworzenie skryptu

 

Jesteśmy już coraz bliżej końca. W ostatnim etapie konieczne będzie stworzenie programu, który będzie zgłaszał nam listę stron do wyszukiwarki Google. Uruchamiamy dowolny edytor kodu, może to być Visual Studio Code, Atom, Brackets.

1. Tworzymy folder w którym będą znajdowały się wymagane zasoby. Ja nazwę go GSC-API.
2. W tym folderze tworzymy następujące pliki:

lista_stron.txt (zwykły plik tekstowy – pusty)
gscAPI.py (plik w którym będzie znajdował się kod źródłowy)

3. Do folderu GSC-API kopiujemy plik (klucz prywatny), który pobrał nam się przy tworzeniu unikalnego klucza w Google Cloud Platform. Zmieniamy jego nazwę na service_account_file.json
4. Nasza struktura plików powinna wyglądać w następujący sposób:

5. Otwieramy plik lista_stron.txt i wklejamy linki, które chcemy żeby zostały zauważone i zaindeksowane / przeindeksowane po czym zapisujemy zmiany.

 

6. Teraz najważniejsze, czyli umieszczenie kodu źródłowego w pliku gscAPI.py

from oauth2client.service_account import ServiceAccountCredentials
import httplib2
import googleapiclient
import time
global urls
with open("lista_stron.txt") as f:
urls = f.readlines()
pass
i = 0
urls = ([s.strip('\n') for s in urls])
 
for urlindexing in urls:
 
SCOPES = ["https://www.googleapis.com/auth/indexing"]
ENDPOINT = "https://indexing.googleapis.com/v3/urlNotifications:publish"
 
# service_account_file.json is the private key that you created for your service account.
JSON_KEY_FILE = "service_account_file.json"
 
credentials = ServiceAccountCredentials.from_json_keyfile_name(
JSON_KEY_FILE, scopes=SCOPES)
 
http = credentials.authorize(httplib2.Http())
 
content = "{{\"url\": \"{0}\",\"type\": \"URL_UPDATED\"}}".format(urlindexing)
response, content = http.request(ENDPOINT, method="POST", body=content)
 
print(response)
print(content)

Do uruchomienia powyższego kodu będzie potrzebny Python (https://www.python.org/downloads/) oraz instalacja kilku bibliotek. Wymagania oraz proces ich instalacji znajdziemy na stronie https://github.com/googleapis/google-api-python-client.

W kodzie źródłowym zawarta jest pętla, która pozwoli zgłosić wszystkie linki jakie umieścimy w pliku lista_stron.txt. Dodatkowo w celu potwierdzenia zgłoszenia do GSC, wykorzystamy metodę print (response oraz content), która wyświetli nam status odpowiedzi.

7. Uruchamiamy skrypt wpisując w terminal: python gscAPI.py

Jeżeli wszystko poszło pomyślnie to otrzymamy kod odpowiedzi 200 i datę zgłoszenia danego adresu URL:

 

Ile linków dziennie możemy zgłosić za pomocą API?

Domyślnie ustawionym limitem jest 200 adresów URL w ciągu 24 godzin. Natomiast możemy przejść na stronę https://console.developers.google.com/apis/library/indexing.googleapis.com, wybieramy zakładkę LIMITY i klikamy w sekcji Publish requests na symbol ołówka.

 

 

Uruchomi nam się dodatkowe okno modalne, w którym klikamy w hiperłącze „podnieś limit”, po czym uzupełniamy formularz i go akceptujemy.

 

 

Gotowe! Właśnie stworzyliśmy skrypt, który pozwoli nam regularnie zgłaszać nowe lub zmienione podstrony/adresy w GSC.