URL'leri Toplu Olarak Google Dizinine Göndermek ve Site Dizinini Kontrol Etmek İçin Bir Sistem Nasıl Oluşturulur
Bu yazımızda sistemi nasıl oluşturduğumuzu, hangi adımları izlediğimizi detaylı bir şekilde anlatacağız ve çalışan kod örnekleri göstereceğiz.
Giriş
Her web sitesi sahibi, sayfalarının indekslenmesini takip etmek ve yeni URL'leri Google arama dizinine hızla eklemek zorundadır. Son derece rekabetçi bir dijital ortamda, yeni içeriklerin veya ürün sayfalarının Google botları tarafından keşfedilmesi için haftalar beklemek yerine, arama sonuçlarında hızlıca görünmesi çok önemlidir.
İndeksleme durumunu manuel olarak kontrol etmek ve Google Search Console üzerinden bağlantılar göndermek, özellikle yüzlerce ürüne sahip çevrimiçi mağazalar veya düzenli içerik yayınlayan bloglar için hızla tekrarlayan ve zaman alıcı bir görev haline gelir.
Bu süreci Google araçlarını kullanarak otomatikleştirdik. Bağlantıları toplu olarak dizine göndermek için Google İndeksleme API'sini, sayfaların arama sonuçlarında olup olmadığını kontrol etmek için ise Google Özel Arama API'sini kullanıyoruz. Bu yaklaşım şunları sağlar:
-
yeni sayfaların toplu indekslenmesini basitleştirir;
-
hangi sayfaların arama sonuçlarında yer aldığını ve hangilerinin olmadığını anında kontrol eder;
-
SEO faaliyetlerinin etkinliğini izler.
1. Google Proje ve Hizmet Hesabı Oluşturma
İlk adım, API'lerle çalışmak için bir hesap hazırlamaktır:
-
Google Cloud Console'da Proje Oluşturma
-
console.cloud.google.com adresine gidin ve yeni bir proje oluşturun (örneğin,
example-index). - link .
-


2. Hizmet Hesabı Oluşturma
IAM & Yönetim → Hizmet Hesapları bölümünde yeni bir hizmet hesabı oluşturun.
-
Bir isim verin (örneğin,
vitaminator-com), -
Sahiprolünü seçin

Ardından, hiçbir şey belirtmenize gerek olmayan bir pencere açılacak, sadece Tamamlandı düğmesine tıklayın.

JSON Anahtarı Oluşturma ve İndirme
Hizmet hesabını oluşturduktan sonra, JSON formatında bir anahtar oluşturun. Bu anahtar şunları içerir:
-
client_email— hizmet hesabının e-posta adresi, -
private_key— özel anahtar, -
kimlik doğrulama için diğer veriler.



Anahtar örneği:
{
"type": "service_account",
"project_id": "example-index",
"private_key_id": "abc123",
"private_key": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n",
"client_email": "example@example-index.iam.gserviceaccount.com",
...
}
2. Google İndeksleme API'sini Etkinleştirme
API'ler & Hizmetler → Kütüphane bölümünde Indexing API'yi bulun ve projeniz için etkinleştirin. burada

Google Dizinine URL Göndermek için Node.js Scripti
Kimlik doğrulama için JWT ile Node.js ve googleapis kütüphanesini kullandık.
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('Kimlik doğrulama hatası:', 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('Gönderme hatası:', err);
console.log('✅ Google İndeks API yanıtı:\n', body);
});
});
Scripti çalıştırdıktan sonra her URL Google dizinine gönderilir. Yanıt örneği:
{
"urlNotificationMetadata": {
"url": "https://vitaminator.com.ua/product/bluebonnet-nutrition-120"
}
}
Özel Arama API'si ile İndeksleme Kontrolü
Bir URL'nin dizinde olup olmadığını kontrol etmek için:
Özel Arama Motoru (CSE) Oluşturma:
Bu bağlantı üzerinden oluşturun - burada
-
Siteyi girin
example.com, -
Aramayı yalnızca bu alan adına sınırlandırın.


API Anahtarı Alma (arama motoru kimliği).
https://console.cloud.google.com/apis/credentials


-
Hata mesajında belirtilen bağlantıyı takip edin:
https://console.cloud.google.com/projectselector2/apis/api/customsearch.googleapis.com/overview?pli=1&inv=1&invt=Ab5_kg&supportedpurview=project -
Bu proje için API'yi Etkinleştir seçeneğine tıklayın.
Sonuç olarak, şunlara sahip olmalısınız:
API Anahtarı = AIzaSyAk3234234234d-gZAk8wmJE4IGFo_w8
CX = e35e2de1234566c5
Google'da indekslemeyi kontrol etmek için script:
const fs = require('fs');
const axios = require('axios');
const urls = fs.readFileSync('urls.txt').toString().split('\n');
const apiKey = 'SİZİN_API_ANAHTARINIZ';
const cx = 'SİZİN_CX_KODUNUZ';
(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}` }
});
const status = resp.data.items && resp.data.items.length > 0 ? '✅ İndekslenmiş' : '❌ İndekslenmemiş';
console.log(`${url} — ${status}`);
fs.appendFileSync('index-check-results.txt', `${url} — ${status}\n');
// Sınırı aşmamak için 1 saniye duraklama
await new Promise(r => setTimeout(r, 1000));
} catch (e) {
console.error('Kontrol hatası:', e.response?.data || e.message);
}
}
})();
Sınırlar ve Kotalar
-
Google İndeksleme API'si — varsayılan olarak günde 200 istek.
-
Özel Arama API'si — ücretsiz kota olarak günde 100 istek.
-
Sınırları aşmamak için:
-
istekler arasında duraklamalar kullanın,
-
URL'leri gruplara ayırın,
-
Google Cloud Console üzerinden kota artışı talep edebilirsiniz.
-
tamamen otomatik bir süreç oluşturduk:
-
URL'leri Google dizinine gönderme,
-
her sayfanın indekslenmesini kontrol etme,
-
sonuçları bir dosyaya kaydetme,
-
diğer sistemlerle entegrasyon imkanı (CMS, Telegram botu, Google Sheets).
Bu, SEO süreçlerini hızlandırır, zaman kazandırır ve indeksleme takibini şeffaf hale getirir.
Tüm API'ler ve anahtarlar alındıktan sonra
Sadece elde edilen anahtarları eklemeniz gereken hazır bir arşiv hazırladık
İndirme bağlantısı - burada
İndeksleme Kontrolü ve Google'a URL Gönderme Scripti için Kurulum ve Kullanım Talimatları
Gereksinimler
-
Node.js kurulumu (sürüm 18+).
Buradan indirin: https://nodejs.org/.
Kurulumdan sonra kontrol edin: -
Google Cloud Console hesabı.
-
İndeksleme API'sini etkinleştirme.
-
Hizmet Hesabı oluşturma ve JSON anahtarını indirme.
-
Özel Arama API'sini etkinleştirme ve siteniz için bir arama motoru (CSE) oluşturma.
-
Kurulum
-
Arşivi uygun bir klasöre çıkarın.
Örneğin: