Google Indexing API через Python
27.10.2022API індексування – це інтерфейс прикладного програмування , який дозволяє власникам сайтів повідомляти Google про додавання чи видалення сторінок. Це дозволяє Google миттєво індексувати будь-яку веб-сторінку. В основному він використовується для короткочасного вмісту, наприклад оголошень про роботу та статей новин.
Під час використання API індексування Google віддаватиме перевагу цим URL-адресам для сканування й індексування над іншими.
За допомогою API індексування можна:
- Оновлювати URL-адреси в індексі
- Видаляти URL-адреси з індексу
- Отримувати статус останнього запиту
- Надсилати пакетні запити, щоб зменшити кількість викликів API.
Щоб почати використовувати API індексування потрібно створити новий проект API в консолі розробника Google та дозволити використання Indexing API в бібліотеці.
Щоб API індексування працювало належним чином, потрібно надати право власності на електронну адресу облікового запису служби в центрі веб-майстрів. Для цього потрыбно перейти до Search Console та додати властивість, для якої потрыбно використовувати API індексування, або вибрати зі списку.

Далы потрыбно перейти до «Перевірених власників» і натиснути «Додати власника».

В поле введення ввестиобліковий запис служби. Це створена електронна пошта, що закінчується на «gserviceaccount.com». Її можна знайти на вкладці облікових даних .

Запуск API індексування на Python
$ pip install oauth2client httplib2Для публікації в API індексування за допомогою Python використовують використовувати бібліотеки oauth2client
, httplib2
і . json.
Щоб встановити їх за допомогою pip
потрібно :
$ pip install oauth2client httplib2
Код для Python
from oauth2client.service_account import ServiceAccountCredentials
import httplib2
import json
url = 'https://www.example.com/'
JSON_KEY_FILE = "credentials.json"
SCOPES = [ "https://www.googleapis.com/auth/indexing" ]
ENDPOINT = "https://indexing.googleapis.com/v3/urlNotifications:publish"
# Authorize credentials
credentials = ServiceAccountCredentials.from_json_keyfile_name(JSON_KEY_FILE, scopes=SCOPES)
http = credentials.authorize(httplib2.Http())
# Build the request body
print(url)
content = {}
content['url'] = url
content['type'] = "URL_UPDATED"
json_content = json.dumps(content)
response, content = http.request(ENDPOINT, method="POST", body=json_content)
result = json.loads(content.decode())
Джерело: https://www.jcchouinard.com/google-indexing-api-with-python/