URL'leri Toplu Olarak Google Dizinine Göndermek ve Site Dizinini Kontrol Etmek İçin Bir Sistem Nasıl Oluşturulur

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:

  1. Google Cloud Console'da Proje Oluşturma

    1. console.cloud.google.com adresine gidin ve yeni bir proje oluşturun (örneğin, example-index). - link

Google'da proje oluşturma

Proje adı

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),

  • Sahip rolünü seçin  

 

Yapılandırma

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

Tamamlandı'ya 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 oluşturma

Anahtar oluşturma

 

JSON oluşturma

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

İndeksleme API'si ve proje için etkinleştirme

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.

Özel Arama Motoru

Özel Arama Motoru CX

 

API Anahtarı Alma  (arama motoru kimliği).

https://console.cloud.google.com/apis/credentials

API alma

API numarası

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

  1. Node.js kurulumu (sürüm 18+).
    Buradan indirin: https://nodejs.org/.
    Kurulumdan sonra kontrol edin:

     
    node -v npm -v
  2. 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

  1. Arşivi uygun bir klasöre çıkarın.

    Örneğin:

     
    cd ~/Desktop/ornek

    2. Bağımlılıkları yükleyin:

     
    npm install

    🔑 Anahtarların Yapılandırılması

    1. Hizmet Hesabı Anahtarı (İndeksleme API'si)

    • service_account.json dosyası — buraya Google hizmet hesabınızın JSON anahtarını ekleyin.

    • İçerik örneği:

     
    { "type": "service_account", "project_id": "vitaminor-index", "private_key_id": "abc123", "private_key": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n", "client_email": "your-service-account@project-id.iam.gserviceaccount.com" }

    ⚠️ Bu dosya kamuya açık olarak paylaşılmamalıdır, sadece sizin için.

    Özel Arama API Anahtarları

    chekindex.js dosyasını açın ve şu satırları değiştirin:

     
    const apiKey = "SİZİN_API_ANAHTARINIZ"; // Google API Anahtarı const cx = "SİZİN_CX_KODUNUZ"; // Özel Arama Motoru Kimliği

    kendi değerlerinizle.

    • API Anahtarı: Google Cloud Console → API'ler & Hizmetler → Kimlik Bilgileri üzerinden alınır.

    • CX: Özel Arama Motorunuzun ayarlarından alınır.


    📄 Dosyalar

    • urls.txt — kontrol edilecek ve dizine gönderilecek URL listesi.
      Her adres yeni bir satırda.

    • index.js — Google İndeks API'sine bağlantı gönderme scripti.

    • chekindex.js — Özel Arama API'si ile indeksleme kontrolü scripti.

    • index-check-results.txt — kontrol sonuçlarının otomatik olarak kaydedildiği dosya.

    Google Dizinine Bağlantı Gönderme

    Klasörden scripti çalıştırın, komut: 
     
    node index.js
    Yanıt örneği:✅ Google İndeks API yanıtı: { "urlNotificationMetadata": { "url": "https://vitaminator.com.ua/product/example" } }

    2. Bağlantıların İndekslenmesini Kontrol Etme

     
    node chekindex.js
    Sonuç örneği:

    https://vitaminator.com.ua/product/bluebonnet-nutrition-120 — ✅ İndekslenmiş

    https://vitaminator.com.ua/product/1000-tart-cherry-extract-solgar-90 — ❌ İndekslenmemiş

    Tüm sonuçlar index-check-results.txt dosyasına kaydedilir.

    Tamamlandı!

    Artık otomatik bir aracınız var:

    • sayfaları Google dizinine gönderme,

    • indekslenme kontrolü,

    • sonuçları bir dosyaya kaydetme.

     

    Brander ekibine, bu makalenin yazımında yardımcı olan ilham ve bazı materyaller için teşekkür ederiz.

Cookie
Verilerinizi önemsiyoruz ve deneyiminizi geliştirmek için çerezleri kullanmayı çok isteriz.