• 25-06-2024, 15:06:58
    #1
    Index API, web geliştiricilerine Google'ın arama dizinine hızlı erişim sağlar. Bu hizmet, yeni veya güncellenmiş içeriklerin hızlı bir şekilde indekslenmesini sağlar, böylece içerikler arama motorlarında daha çabuk görünür hale gelir. Özellikle sık güncellenen siteler için faydalıdır. Kurulum süreci Google Cloud ve Google Search Console üzerinden gerçekleştirilir ve gerekli yazılımlar ve komut satırı işlemleriyle tamamlanır. Adımları takip ederek, web sitenizin SEO performansını artırabilirsiniz.

    Google Cloud’da Hesap Oluşturma ve Proje Başlatma


    Google Cloud web sitesine gidin ve bir hesap oluşturun.
    Hesabınıza giriş yaptıktan sonra, ana sayfada bulunan Create Project seçeneği ile yeni bir proje başlatın.


    Sol menüden “APIs & Services” üstüne gelerek açılan ikinci menüden “Enabled APIs & Service” yazan yere tıklayın ve “ENABLE APIS AND SERVICES” bölümünden servisleri etkinleştirmeye başlayın.


    Arama sekmesinde “Web Search Indexing API” aratarak Indexing API’yi bulun ve etkinleştirin.



    Servis Hesabı Oluşturma


    Sol menüden “IAM & Admin > Service Accounts” bölümüne gidin.



    “CREATE SERVICE ACCOUNT” seçeneğine tıklayarak yeni bir servis hesabı oluşturun.



    Hesap detaylarını doldurun ve “owner” rolünü seçerek işlemleri tamamlayın.

    Google Search Console ile Entegrasyon


    Oluşturduğunuz servis hesabının e-posta adresini kopyalayın. Bu süreçte Google Cloud bölümünü kapatmayın. Google Search Console‘a giriş yapın ve web site mülkünüzü seçin. Ayarlar bölümünde bulunan “Kullanıcılar ve İzinler” bölümüne giderek, kopyaladığınız e-posta adresini ekleyin. (Bazen mail bulunamadı hatası alabilirsiniz. Ortalama 1-2 dakika bekleyiniz.)

    JSON Anahtarı Oluşturma


    Google Cloud’da, servis hesabı detaylarının yanındaki dikey üç noktaya tıklayın ve “Manage Key” seçeneğini belirleyin.



    “ADD KEY” seçeneği ile bir JSON anahtarı oluşturun ve bilgisayarınıza indirin.

    Gerekli Yazılımlar ve Dosyalar


    Daksil Indexle dosyasını indirmek için tıklayınız.
    NodeJS programını indirmek için tıklayınız.
    İndexle dosyasını masaüstüne çıkarınız ve NodeJS’i indirip kurulumunu gerçekleştiriniz.

    Kurulum ve Ayarlar


    Google Cloud üzerinden indirdiğiniz JSON dosyasının adını “service_account” olarak değiştirin ve masaüstüne çıkardığınız indexle dosyasının içerisine taşıyınız. indexle klasörünün içindeki url.txt dosyasına indekslenmemiş linklerinizi ekleyin. Toplam 200 link eklemesini yapınız linkler https:// şeklinde tam şekilde olmalıdır.

    Komut Satırı İşlemleri


    Bilgisayarınızda “Powershell” uygulamasını açın ve indexle klasörüne erişin.
    Bunu yapmanız için cd komutunu kullanabilirsiniz. Örneğin: cd “C:UsersAlişan TekinlerDesktopindexle” gibi masaüstünde yer alan indexle dosyanızın içine girmeniz gerekmektedir powershell üzerinden.
    Dosyaya eriştikten sonra aşağıda yer alınan kodları sırasıyla çalıştırmanız gerekmektedir. Bu ilgili kodlar indirdiğiniz indexle klasörünün içinde de yer almaktadır.
    npm install requests
    npm audit fix
    npm audit fix –force
    node index.js
    Son node index.js komutunu çalıştırdıktan sonra karşınıza eklediğiniz linklerin 200 OK olarak listelenmesi gerekmektedir. 400, 402, 404 gibi hatalar çıktığında lütfen makaleyi baştan sona tekrar okuyarak uygulamaya dikkat edin.

    Yorum yapmaktan çekinmeyin ☺
  • 23-11-2024, 21:30:57
    #2
    Niye kimse yorum yapmamış? Emeğinize sağlık
  • 25-11-2024, 14:57:25
    #3
    Tire adlı üyeden alıntı: mesajı görüntüle
    Niye kimse yorum yapmamış? Emeğinize sağlık
    Teşekkür ederim
  • 03-05-2025, 20:23:31
    #4
    tesekkurler hocam elıne koluna sağlık
  • 03-05-2025, 22:54:56
    #5
    Masaüstü uygulaması olsa içine birden fazla Gmail ekle yebileceğimiz süper olurdu

    200k site yaptım bunu göndermek amacım. Bakalım chatgptye yaptırabilecek miyim
  • 08-05-2025, 13:09:02
    #6
    dertliA adlı üyeden alıntı: mesajı görüntüle
    Masaüstü uygulaması olsa içine birden fazla Gmail ekle yebileceğimiz süper olurdu

    200k site yaptım bunu göndermek amacım. Bakalım chatgptye yaptırabilecek miyim
    Chat gpt çok hantal bir işi beceremiyor openai de deniyorum makale bile yazamıyor toplu. tek makale yazıp bırakıyor onunda eksik yazıyor 3000 Kelime üstü şu konular da makaleler oluştur diyorum saat veriyor sonra bakıyorum tek makale oluşturmuş Gmail veriyorum e-posta atarım diyor onu da atamıyor
    Not ücretli versiyonu kullanıyorum
  • 08-05-2025, 16:13:09
    #7
    moncen adlı üyeden alıntı: mesajı görüntüle
    Chat gpt çok hantal bir işi beceremiyor openai de deniyorum makale bile yazamıyor toplu. tek makale yazıp bırakıyor onunda eksik yazıyor 3000 Kelime üstü şu konular da makaleler oluştur diyorum saat veriyor sonra bakıyorum tek makale oluşturmuş Gmail veriyorum e-posta atarım diyor onu da atamıyor
    Not ücretli versiyonu kullanıyorum
    Ben, chatgpt ye indexing api botu yazdırdım. Linkleri veriyorsun gönderiyor günde 200 limiti var. Birden fazla gmaille JSON dosyası indirirseniz o kadar gönderilebiliyor.
  • 08-05-2025, 16:29:48
    #8
    dertliA adlı üyeden alıntı: mesajı görüntüle
    Ben, chatgpt ye indexing api botu yazdırdım. Linkleri veriyorsun gönderiyor günde 200 limiti var. Birden fazla gmaille JSON dosyası indirirseniz o kadar gönderilebiliyor.
    Tam olarak ne dediniz de yazdı hocam
    Bana da lazım İndex api
  • 08-05-2025, 16:52:37
    #9
    moncen adlı üyeden alıntı: mesajı görüntüle
    Tam olarak ne dediniz de yazdı hocam
    Bana da lazım İndex api
    öyle bir iki demeyle yazmıyor hocam. canından bezdirdim


    aşağıdaki kodu sitenizde ftp den bir klasör oluşturun indexle diye sonra içine bu kodu indexle.php diye kaydedin.

    <?php
    // Hata raporlamayı aç
    ini_set('display_errors', 1);
    error_reporting(E_ALL);
    
    // Google Service Account JSON dosyasını yükle
    $serviceAccountFile = 'service-account.json';
    
    // Google OAuth 2.0 Token almak için cURL ile kimlik doğrulaması
    function getAccessToken($serviceAccountFile) {
        // JSON dosyasını oku
        $credentials = json_decode(file_get_contents($serviceAccountFile), true);
    
        // OAuth 2.0 Token almak için gerekli parametreler
        $postData = [
            'grant_type' => 'urn:ietf:params:oauth:grant-type:jwt-bearer',
            'assertion' => generateJWT($credentials)
        ];
    
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, 'https://oauth2.googleapis.com/token');
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postData));
        $response = curl_exec($ch);
        curl_close($ch);
    
        $responseData = json_decode($response, true);
        return $responseData['access_token'];  // Erişim token'ı
    }
    
    // JWT oluşturma fonksiyonu
    function generateJWT($credentials) {
        $header = json_encode(['alg' => 'RS256', 'typ' => 'JWT']);
        $claimSet = json_encode([
            'iss' => $credentials['client_email'],
            'scope' => 'https://www.googleapis.com/auth/indexing',
            'aud' => 'https://oauth2.googleapis.com/token',
            'iat' => time(),
            'exp' => time() + 3600,
        ]);
    
        // JWT şifresini imzalamak için özel anahtarı kullan
        $privateKey = $credentials['private_key'];
        $jwtHeader = base64_encode($header);
        $jwtClaimSet = base64_encode($claimSet);
        $unsignedToken = $jwtHeader . '.' . $jwtClaimSet;
    
        $signature = '';
        openssl_sign($unsignedToken, $signature, $privateKey, OPENSSL_ALGO_SHA256);
        $jwtSignature = base64_encode($signature);
    
        return $unsignedToken . '.' . $jwtSignature;  // Tam JWT
    }
    
    // URL indeksleme isteğini gönder
    function indexUrl($accessToken, $url) {
        $apiUrl = 'https://indexing.googleapis.com/v3/urlNotifications:publish';
        $data = [
            'url' => $url,
            'type' => 'URL_UPDATED'
        ];
    
        $headers = [
            'Content-Type: application/json',
            'Authorization: Bearer ' . $accessToken
        ];
    
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $apiUrl);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
        $response = curl_exec($ch);
        curl_close($ch);
    
        return $response;
    }
    
    // Formdan gelen URL'leri işleme
    if ($_SERVER['REQUEST_METHOD'] === 'POST') {
        $urls = explode("\n", trim($_POST['urls']));  // URL'leri ayır
    
        $accessToken = getAccessToken($serviceAccountFile);  // Access Token al
    
        // Her URL için Google Indexing API'ye indeksleme isteği gönder
        foreach ($urls as $url) {
            $url = trim($url);
            if (!empty($url)) {
                $response = indexUrl($accessToken, $url);  // URL'yi indeksle
                echo "URL: $url <br> Yanıt: $response <br><br>";
            }
        }
    } else {
        echo "Lütfen URL'leri girin ve formu gönderin.";
    }
    ?>
    sonra aynı klasöre form.php diye dosya oluşturup içine aşağıdakini yapıştırın.

    <!DOCTYPE html>
    <html lang="tr">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>URL İndeksleme</title>
    </head>
    <body>
        <h2>Google'a URL İndeksleme</h2>
        <form action="indexle.php" method="POST">
            <label for="urls">URL'leri girin (her satıra bir URL):</label><br>
            <textarea name="urls" id="urls" rows="10" cols="50" placeholder="URL'leri buraya girin, her birini yeni satıra yazın..."></textarea><br><br>
            <input type="submit" value="İndeksle">
        </form>
    </body>
    </html>
    aynı klasörün içine googlenin verdiği indexing api dosyasının adını service-account.json yaparak koyun. hepsi bu


    tabi bu arada yukarda arkadaşın anlattığı gibi indexing api kurulumu yapmanız onun verdiği mail adresini webmaster toolsa eklemeniz lazım