Як створити систему для масового надсилання URL до індексу Google та перевірки індексації сайтів
У цій статті ми детально пояснимо, як створили систему, які кроки виконали, та надамо робочі приклади коду.
Вступ
Кожен власник вебсайту, особливо ті, хто орієнтується на українську аудиторію, стикається з потребою моніторингу індексації сторінок та прискорення додавання нових URL до Google. У висококонкурентному середовищі, такому як ринок електронної комерції та контенту в Україні, критично важливо, щоб нові сторінки контенту чи продуктів з’являлися в результатах пошуку якомога швидше, замість того, щоб чекати тижні, поки пошуковий бот їх виявить.
Ручна перевірка індексації та надсилання посилань через Google Search Console швидко стає нудною та часозатратною задачею, особливо якщо ви керуєте інтернет-магазином із сотнями продуктів або блогом із регулярними публікаціями українською мовою.
Ми вирішили автоматизувати цей процес за допомогою інструментів Google. Для масового надсилання URL до індексу ми використали Google Indexing API, а для подальшої перевірки присутності сторінок у результатах пошуку — Google Custom Search API. Цей підхід дозволяє:
-
спростити масову індексацію нових сторінок для українських доменів;
-
миттєво перевіряти, які сторінки вже є в пошуку, а які ні, з геолокацією, специфічною для України;
-
моніторити ефективність зусиль із SEO на українському ринку.
1. Створення проєкту Google та сервісного акаунта
Перший крок — підготовка акаунта для використання API:
-
Створіть проєкт у Google Cloud Console
-
Перейдіть на console.cloud.google.com і створіть новий проєкт (наприклад,
ukraine-index
). - посилання .
-
2. Створіть сервісний акаунт
У розділі IAM & Admin → Service Accounts створіть новий сервісний акаунт.
-
Призначте ім’я (наприклад,
ukraine-site-ua
), -
Виберіть роль
Owner
З’явиться наступне вікно, де нічого не потрібно вказувати; просто натисніть кнопку Готово.
Створіть і завантажте JSON-ключ
Після створення сервісного акаунта згенеруйте ключ у форматі JSON. Він містить:
-
client_email
— електронна пошта сервісного акаунта, -
private_key
— приватний ключ, -
інші дані автентифікації.
Приклад ключа:
{
"type": "service_account",
"project_id": "ukraine-index",
"private_key_id": "abc123",
"private_key": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n",
"client_email": "example@ukraine-index.iam.gserviceaccount.com",
...
}
2. Увімкніть Google Indexing API
У розділі APIs & Services → Library знайдіть Indexing API
і увімкніть її для проєкту. тут
Скрипт Node.js для надсилання URL до індексу Google
Ми використовували Node.js та бібліотеку googleapis
для автентифікації через JWT. Для українських сайтів переконайтеся, що ваш домен верифіковано в Google Search Console для України (google.com.ua).
const fs = require('fs');
const { google } = require('googleapis');
const request = require('request');
const key = require('./service_account.json');
const jwtClient = new google.auth.JWT(
key.client_email,
null,
key.private_key,
['https://www.googleapis.com/auth/indexing']
);
const batch = fs.readFileSync('urls.txt').toString().split('\n');
jwtClient.authorize((err, tokens) => {
if (err) return console.error('Помилка автентифікації:', err);
const items = batch.map(url => ({
'Content-Type': 'application/http',
'Content-ID': '',
body: 'POST /v3/urlNotifications:publish HTTP/1.1\n' +
'Content-Type: application/json\n\n' +
JSON.stringify({ url, type: 'URL_UPDATED' })
}));
const options = {
url: 'https://indexing.googleapis.com/batch',
method: 'POST',
headers: { 'Content-Type': 'multipart/mixed' },
auth: { bearer: tokens.access_token },
multipart: items
};
request(options, (err, resp, body) => {
if (err) return console.error('Помилка надсилання пакету:', err);
console.log('✅ Відповідь Google Index API:\n', body);
});
});
Після запуску скрипта кожен лінк надсилається до індексу Google. Приклад відповіді:
{
"urlNotificationMetadata": {
"url": "https://example.com.ua/product/bluebonnet-nutrition-120"
}
}
Перевірка індексації за допомогою Custom Search API
Щоб перевірити, чи є URL в індексі, використовуйте параметри, специфічні для України, такі як gl=ua для геолокації:
Створіть персоналізовану пошукову систему (CSE):
Створіть тут - тут
-
Введіть сайт
example.com.ua
, -
Обмежте пошук лише цим доменом.
Отримайте ключ API (ідентифікатор пошукової системи).
https://console.cloud.google.com/apis/credentials
-
Перейдіть за посиланням із повідомлення про помилку:
https://console.cloud.google.com/projectselector2/apis/api/customsearch.googleapis.com/overview?pli=1&inv=1&invt=Ab5_kg&supportedpurview=project -
Натисніть Увімкнути API для цього проєкту.
Ви повинні отримати:
Ключ API = AIzaSyAk3234234234d-gZAk8wmJE4IGFo_w8
CX = e35e2de1234566c5
Скрипт для перевірки індексації в Google:
const fs = require('fs');
const axios = require('axios');
const urls = fs.readFileSync('urls.txt').toString().split('\n');
const apiKey = 'ВАШ_КЛЮЧ_API';
const cx = 'ВАШ_CX';
(async () => {
for (const url of urls) {
try {
const resp = await axios.get('https://www.googleapis.com/customsearch/v1', {
params: { key: apiKey, cx, q: `site:${url}`, gl: 'ua' }
});
const status = resp.data.items && resp.data.items.length > 0 ? '✅ Проіндексовано' : '❌ Не проіндексовано';
console.log(`${url} — ${status}`);
fs.appendFileSync('index-check-results.txt', `${url} — ${status}\n');
// Пауза на 1 секунду, щоб уникнути перевищення лімітів
await new Promise(r => setTimeout(r, 1000));
} catch (e) {
console.error('Помилка перевірки:', e.response?.data || e.message);
}
}
})();
Ліміти та квоти
-
Google Indexing API — 200 запитів на день за замовчуванням (застосовується глобально, включаючи українські сайти).
-
Custom Search API — безкоштовна квота 100 запитів на день; для більших обсягів використовуйте Site Restricted API, обмежену 10 сайтами.
-
Щоб уникнути перевищення лімітів:
-
Використовуйте паузи між запитами,
-
Розділяйте URL на партії,
-
Запитуйте збільшення квоти через Google Cloud Console.
-
Ми створили повністю автоматизований процес, придатний для українських сайтів:
-
Надсилання URL до індексу Google,
-
Перевірка індексації кожної сторінки з фокусом на Україну,
-
Збереження результатів у файл,
-
Можливість інтеграції з іншими системами (CMS, Telegram-бот, Google Sheets).
Це прискорює процеси SEO для українських сайтів, економить час і робить моніторинг індексації прозорим.
Після отримання всіх API та ключів
Ми підготували готовий до використання архів, куди потрібно лише вставити отримані ключі.
Посилання для завантаження - тут
Інструкції з встановлення та використання скрипта для перевірки індексації та надсилання URL
Вимоги
-
Встановлений Node.js (версія 18+).
Завантажте тут: https://nodejs.org/.
Після встановлення перевірте: -
Акаунт у Google Cloud Console, з верифікованим українським доменом у Google Search Console.
-
Увімкнено Indexing API.
-
Створено Сервісний акаунт і завантажено JSON-ключ.
-
Увімкнено Custom Search API і створено пошукову систему (CSE) для вашого сайту, з gl=ua для результатів, специфічних для України.
-
Встановлення
-
Розпакуйте архів у зручну папку.
Наприклад: