После выхода новой версии А-Парсер'а в которой была внедрена полноценная поддержка NodeJS модулей, открылись новые возможности, а именно работа с Google API.
В данном примере рассмотрим работу с Indexing API, сервис позволяет владельцам сайтов напрямую уведомлять Google о добавлении или удалении страниц.
Таким образом ваш сайт будет быстрее просканирован Google, что способствует повышению качества трафика.
Google рекомендует использовать Indexing API вместо файлов Sitemap, так как сканирование роботом Googlebot с помощью Indexing API происходит раньше, чем через Sitemap.
Что можно сделать с помощью Indexing API:
- Обновление URL
- Удаление URL
- Получение статуса запроса
И так приступим.
Для начала нужно создать Сервисный аккаунт.
Переходим на страницу и создаем проект. Или можно выбрать уже из существующих.
Вводим название проекта и нажимаем Создать, по желанию можно изменить Идентификатор проекта.
Когда проект создан, теперь можно создать сервисный аккаунт.
Вводим название и описание аккаунта.
Права доступа не обязательны, можно пропустить.
На данной странице нужно Создать ключ.
На боковой панели выбираем формат ключа – JSON. после создания ключа, нажимаем готово.
Теперь нужно пройти проверку подтверждения сайта.
Переходим в Google Search Console. Нажимаем Добавить ресурс.
Выбираем Ресурс с Префиксом в URL, вводим свой домен, нажимаем продолжить.
Дальше подтверждаем права собственности сайта любым удобный вам способ.
После подтверждения выбираем наш ресурс, переходим в настройки и нажимаем Пользователи и разрешения.
На странице Пользователи и разрешения нажимаем добавить пользователя.
В поле адрес электронной почты нужно ввести почту своего сервисного аккаунта, его можно найти в закрытом ключе JSON, который был скачан при создания сервисного аккаунта.
Открываем наш ключ в формате JSON и копируем адрес из поля client_email.
Пример электронной почты: my-service-account@project-name.google.com.iam.gserviceaccount.com
Нужно еще добавить владельца в Центре веб-мастеров.
Нажимаем на три точки владельца и переходим в Управление владельцами ресурса.
Нажимаем Добавить владельца, вводим наш email из файла ключей и продолжить.
Мы создали сервисный аккаунт и подтвердили что являемся владельцами сайта.
Теперь перейдем к самому парсеру.
Для начала нужно запустить А-Парсер с параметром -newnode для полноценной работы модулей nodejs.
Дальше нужно установить модуль googleapis в папку ./aparser/files
Сам код достаточно простой и понятный.
В init() считываем наш ключ JSON с помощью модуля fs.
И передаем данные client_email, private_key для авторизации.
В переменную token записываются данные авторизации.Код: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); }
Отправляем запрос к 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"}' });
Готовый пресет Google Indexing API можно скачать в Каталоге.Код:{ "urlNotificationMetadata": { "url": "http://victim.in.ua/bomber", "latestUpdate": { "url": "http://victim.in.ua/bomber", "type": "URL_UPDATED", "notifyTime": "2020-02-14T16:40:28.399283362Z" } } }
-
Вступайте в наш Telegram чат: https://t.me/a_parser Нас уже 2600+ и мы растем!Скрыть объявление
Инструкция по использованию Google Indexing API
Инструкция по использованию Google Indexing API