Для ускорения индексации существуют разные инструменты, помимо дефолтного sitemap.xml, можно добавить автоматическую отправку новой ссылки в поисковые системы, в этой статье мы рассмотрим два примера: Google Index API и Yandex IndexNow

Yandex

Как и в Bing, используется удобный протокол IndexNow, для того чтобы API приняла ссылку, необходимо сгенерировать рандомный ключ и поместить его на сервер:
IndexNow | Bing Webmaster Tools

Ключ вида: be7dc003835e410797c70ed0ee62930d
Должен храниться: https://yourdomain.cc/be7dc003835e410797c70ed0ee62930d.txt

Теперь можно отправлять ссылки списком на адрес https://yandex.com/indexnow

js = {
'host': 'yourdomain.cc',
'key': 'be7dc003835e410797c70ed0ee62930d',
'keyLocation': 'https://yourdomain.cc/be7dc003835e410797c70ed0ee62930d.txt,
'urlList':[
'https://yourdomain.cc/mynewpage.html',
'https://yourdomain.cc/fastindex.html',
]
}

r = requests.post('https://yandex.com/indexnow', headers={'Content-Type': 'application/json', 'charset': 'utf-8'}, json=js)
print(r.content)


Если всё правильно, в ответ получим {'success':true}

По собственному опыту скажу, Яндекс реагирует очень быстро, буквально на следующую минуту Бот посещает полученные страницы, поэтому этот способ, наверное, даже быстрее, чем делать индексацию по Метрике, RSS фиду и т.д.

Google

В Гугле, в отличии от Bing и Yandex нет протокола IndexNow, поэтому организовать отправку новых страниц немного сложнее, для этого понадобится следующее:
Создаем новый проект в Гугл Клауд: https://console.cloud.google.com/projectcreate

Create
Create

Создаем сервисный аккаунт:

Create Service Account
Create Service Account
Во втором шаге выбираем роль Owner!
Во втором шаге выбираем роль Owner!
Копируем Email - testid@...gserviceaccount.com, он понадобиться далее в GSC
Копируем Email - testid@...gserviceaccount.com, он понадобиться далее в GSC

Создаем новый ключ и скачиваем его в формате JSON.

Также, необходимо добавить созданный сервисный аккаунт как Owner в Google Search Console:

При добавлении указываем Email сервисного аккаунта.
При добавлении указываем Email сервисного аккаунта.

Теперь можно отправлять страницы на индексацию через API.
Python функция, которую я использую, для удобства в PasteBin: pastebin.com/raw/rp8MxeaK

(В теории, можно отправлять по несколько ссылок сразу, кто подскажет как, тому + в карму, но я отправляю по одной, вообще, лимит 200 ссылок в день, но по моему опыту Гугл и эти 200 ссылок не охотно индексирует, может у Вас будет получше результат, пишите в комментарии.)

При первом запросе может появиться ошибка: {\n "error": {\n "code": 403,\n "message": "Web Search Indexing API has not been used in project 559582583376 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/indexing.googleapis.com/overview?project=559582583376 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.",\n "status": "PERMISSION_DENIED"

В таком случае нужно посетить указанную ссылку и нажать Enable.

Если всё правильно, Гугл ответит примерно так:

b'{\n "urlNotificationMetadata": {\n "url": "https://yourdomain.cc/fastindex.html/",\n "type": "URL_UPDATED",\n "notifyTime": "2024-08-11T19:22:32.866322520Z"\n }\n }\n}\n'

На этом у меня всё, спасибо за внимание.

Комментарии (2)


  1. VirRus77
    11.08.2024 22:15

    А при чем тут "Примеры на Python"?


    1. sea256 Автор
      11.08.2024 22:15

      Ну для отправки ссылки в Яндекс и в Гугл есть код, написанный на Python

      А "примеры", потому что можно реализовать по разному, к примеру, через urllib вместо requests и т.д.