1. Вступайте в наш Telegram чат: https://t.me/a_parser Нас уже 1500+ и мы растем!
    Скрыть объявление

Инструкция по использованию Google Indexing API

Инструкция по использованию Google Indexing API

  1. Support Alexander
    После выхода новой версии А-Парсер'а в которой была внедрена полноценная поддержка NodeJS модулей, открылись новые возможности, а именно работа с Google API.

    В данном примере рассмотрим работу с Indexing API, сервис позволяет владельцам сайтов напрямую уведомлять Google о добавлении или удалении страниц.
    Таким образом ваш сайт будет быстрее просканирован Google, что способствует повышению качества трафика.

    Google рекомендует использовать Indexing API вместо файлов Sitemap, так как сканирование роботом Googlebot с помощью Indexing API происходит раньше, чем через Sitemap.

    Что можно сделать с помощью Indexing API:
    • Обновление URL
    • Удаление URL
    • Получение статуса запроса

    И так приступим.
    Для начала нужно создать Сервисный аккаунт.
    Переходим на страницу и создаем проект. Или можно выбрать уже из существующих.

    [​IMG]


    Вводим название проекта и нажимаем Создать, по желанию можно изменить Идентификатор проекта.

    [​IMG]

    Когда проект создан, теперь можно создать сервисный аккаунт.


    [​IMG]

    Вводим название и описание аккаунта.


    [​IMG]

    Права доступа не обязательны, можно пропустить.

    [​IMG]
    На данной странице нужно Создать ключ.

    [​IMG]
    На боковой панели выбираем формат ключа – JSON. после создания ключа, нажимаем готово.

    [​IMG]
    Теперь нужно пройти проверку подтверждения сайта.
    Переходим в Google Search Console. Нажимаем Добавить ресурс.

    [​IMG]

    Выбираем Ресурс с Префиксом в URL, вводим свой домен, нажимаем продолжить.

    [​IMG]

    Дальше подтверждаем права собственности сайта любым удобный вам способ.

    [​IMG]

    После подтверждения выбираем наш ресурс, переходим в настройки и нажимаем Пользователи и разрешения.

    [​IMG]

    На странице Пользователи и разрешения нажимаем добавить пользователя.
    В поле адрес электронной почты нужно ввести почту своего сервисного аккаунта, его можно найти в закрытом ключе JSON, который был скачан при создания сервисного аккаунта.

    Открываем наш ключ в формате JSON и копируем адрес из поля client_email.
    Пример электронной почты: my-service-account@project-name.google.com.iam.gserviceaccount.com

    [​IMG]

    Нужно еще добавить владельца в Центре веб-мастеров.
    Нажимаем на три точки владельца и переходим в Управление владельцами ресурса.

    [​IMG]

    Нажимаем Добавить владельца, вводим наш email из файла ключей и продолжить.

    [​IMG]

    Мы создали сервисный аккаунт и подтвердили что являемся владельцами сайта.
    Теперь перейдем к самому парсеру.

    Для начала нужно запустить А-Парсер с параметром -newnode для полноценной работы модулей nodejs.
    Дальше нужно установить модуль googleapis в папку ./aparser/files

    Сам код достаточно простой и понятный.
    В init() считываем наш ключ JSON с помощью модуля fs.
    И передаем данные client_email, private_key для авторизации.

    Код:
     init() {
            let key = JSON.parse(fs.readFileSync('/files/client_secret.json').toString());
            client = new google.auth.JWT(key.client_email, null, key.private_key, ['https://www.googleapis.com/auth/indexing'], null);
        }
    В переменную token записываются данные авторизации.
    Отправляем запрос к Indexing API, в заголовках указываем токен (token.access_token) который был получен после авторизации, в тело запроса указываем json c полями url страницы и type отправленного уведомления.
    URL_UPDATED - обновить URL, URL_DELETED удалить URL.

    Код:
    let token = await client.authorize();
    // Отправляем запрос
    let response = yield this.request('POST', 'https://indexing.googleapis.com/v3/urlNotifications:publish', {}, {
                headers: {
                    "content-type": "application/json",
                    "authorization": `Bearer ${token.access_token}`
                },
                body: '{"url": "http://victim.in.ua/3565-nike-lunar-force-lf1-chorn-1070grn","type": "URL_UPDATED"}'                      
    });
           
    После успешного запроса получим ответ с уведомлением об обновлении или удалении страниц.
    Код:
    {
      "urlNotificationMetadata": {
        "url": "http://victim.in.ua/bomber",
        "latestUpdate": {
          "url": "http://victim.in.ua/bomber",
          "type": "URL_UPDATED",
          "notifyTime": "2020-02-14T16:40:28.399283362Z"
        }
      }
    }
    Готовый пресет Google Indexing API можно скачать в Каталоге.