• 16-05-2026, 15:42:30
    #1
    Bunu daha önce bilen varsa yoruma yazabilir mi işe yarıyor mu


    5 dk da bir İndexleme İndexnow xf eklentisini beş bin TL olarak görünce biraz ilkelde olsa cron ile çalışan bir proje yapay zekadan yardım alınmıştır

    1.1 Proje oluştur

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

    - Yeni proje oluştur
    - Örnek: "indexing-api"

    ---

    1.2 Indexing API aç

    https://console.cloud.google.com/api...googleapis.com

    - Enable bas

    ---

    1.3 Service Account oluştur

    https://console.cloud.google.com/iam...erviceaccounts

    - Create Service Account
    - İsim: "indexer"
    - Oluştur

    ---

    1.4 JSON indir

    - Service account → Keys
    - Add Key → JSON indir

    ---

    2. Search Console Yetki

    https://search.google.com/search-console

    SADECE DOMAIN PROPERTY

    Doğru:

    selectra.org.tr

    Yanlış:

    Yükleniyor


    selectra.org.tr
    ---

    Kullanıcı ekle

    JSON içinden:

    "client_email": "xenforo-indexer@proje.iam.gserviceaccount.com"

    Bunu:

    - Kullanıcı ekle
    - Yetki: TAM

    ---

    3. PHP Script (Index Gönderme)

    Sunucuda dosya oluştur:

    /public_html/indexing.php

    Kod:

    <?php

    $url = "https://site.com/konu/ornek";

    $data = json_encode([
    "url" => $url,
    "type" => "URL_UPDATED"
    ]);

    $ch = curl_init("https://indexing.googleapis.com/v3/u...ations:publish");

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Content-Type: application/json",
    "Authorization: Bearer " . getAccessToken()
    ]);

    $response = curl_exec($ch);
    curl_close($ch);

    echo $response;


    // TOKEN ALMA
    function getAccessToken() {

    $json = json_decode(file_get_contents(__DIR__ . '/service-account.json'), true);

    $header = json_encode([
    "alg" => "RS256",
    "typ" => "JWT"
    ]);

    $time = time();

    $payload = json_encode([
    "iss" => $json['client_email'],
    "scope" => "https://www.googleapis.com/auth/indexing",
    "aud" => "https://oauth2.googleapis.com/token",
    "iat" => $time,
    "exp" => $time + 3600
    ]);

    $base64UrlEncode = function ($data) {
    return rtrim(strtr(base64_encode($data), '+/', '-_'), '=');
    };

    $base64Header = $base64UrlEncode($header);
    $base64Payload = $base64UrlEncode($payload);

    $signature = '';
    openssl_sign(
    $base64Header . "." . $base64Payload,
    $signature,
    $json['private_key'],
    'SHA256'
    );

    $base64Signature = $base64UrlEncode($signature);

    $jwt = $base64Header . "." . $base64Payload . "." . $base64Signature;

    $ch = curl_init("https://oauth2.googleapis.com/token");

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([
    "grant_type" => "urn:ietfaramsauth:grant-type:jwt-bearer",
    "assertion" => $jwt
    ]));

    $response = json_decode(curl_exec($ch), true);
    curl_close($ch);

    return $response['access_token'];
    }

    ---

    4. JSON Dosyasını Yerleştir

    İndirilen JSON:

    /public_html/service-account.json

    ---

    5. Cron Kurulumu

    Hosting panel → Cron Jobs

    Komut:

    php /home/kullanici/public_html/indexing.php

    ---

    Zamanlama:

    */5 * * * *

    Her 5 dakikada çalışır

    ---

    6. Dinamik URL Gönderme (ÖNEMLİ)

    Statik değil, dinamik yap:

    $url = file_get_contents("https://site.com/sitemap.xml");

    veya

    veritabanından çek:

    SELECT last_post_url FROM xf_thread

    ---

    7. Başarılı Çıktı

    {
    "urlNotificationMetadata": {
    "url": "https://site.com/konu/ornek"
    }
    }

    ---

    ÖNEMLİ

    - Bu sistem index GARANTİ etmez
    - Sadece Google’a bildirir

    ---

    Öneriler

    - Yeni konu açılınca tetikle
    - Sitemap kullan
    - Search Console’dan da gönder

    ---

    SONUÇ

    ✔ API kuruldu
    ✔ JSON bağlandı
    ✔ PHP çalışıyor
    ✔ Cron otomatik gönderiyor

    Sistem hazır
  • 16-05-2026, 15:44:20
    #2
    Bir işe yaramıyor, api falan hikaye. Girip elle manuel yüklüyorsun, aradan günler geçiyor bir bakmışsın google kendi kendine silmiş indexleri. Valla akışına bıraktım, kendi indexlesin.
  • 16-05-2026, 15:53:25
    #3
    en güzeli sitenin kendisinin index alması bu yöntem ancak site eğer çok eski ise veya report edilen linkler az ise etkili oluyor

    bi dönem forumda bunu satanlara kızıp forumda php olarak paylaşmıştım bende ancak paylaşımlar pek yukarıda kalmadığından insanlara ulaşamıyor.
    • MrcExe
    MrcExe bunu beğendi.
    1 kişi bunu beğendi.
  • 16-05-2026, 16:38:36
    #4
    İndex Api konusunda eskiden hizmet sağlamış biri oalrak ve aktif olarak XenForo sektörüne hizmet veren biri olarak şunu diyebilirim ki İndex Api artık bir işe yaramıyor malesef ki çok fazla kullanıldı ve spam içerikler gönderildiği için googlenin bu servisi pek stabil çalışmıyor.

    Xenforo yeni sürümünde ise indexnow zaten var ek bir eklentiye ve ya geliştirme yapmaya gerek yok. XenForonun seosu yeterince güçlüdür içerikleriniz özgün olduğu sürece index alıyor. Ek seo eklentilerini kesinlikle tavsiye etmiyorum


    İyi forumlar
  • 16-05-2026, 16:40:12
    #5
    MrcExe adlı üyeden alıntı: mesajı görüntüle
    Bunu daha önce bilen varsa yoruma yazabilir mi işe yarıyor mu


    5 dk da bir İndexleme İndexnow xf eklentisini beş bin TL olarak görünce biraz ilkelde olsa cron ile çalışan bir proje yapay zekadan yardım alınmıştır

    1.1 Proje oluştur

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

    - Yeni proje oluştur
    - Örnek: "indexing-api"

    ---

    1.2 Indexing API aç

    https://console.cloud.google.com/api...googleapis.com

    - Enable bas

    ---

    1.3 Service Account oluştur

    https://console.cloud.google.com/iam...erviceaccounts

    - Create Service Account
    - İsim: "indexer"
    - Oluştur

    ---

    1.4 JSON indir

    - Service account → Keys
    - Add Key → JSON indir

    ---

    2. Search Console Yetki

    https://search.google.com/search-console

    SADECE DOMAIN PROPERTY

    Doğru:

    selectra.org.tr

    Yanlış:

    Yükleniyor


    selectra.org.tr
    ---

    Kullanıcı ekle

    JSON içinden:

    "client_email": "xenforo-indexer@proje.iam.gserviceaccount.com"

    Bunu:

    - Kullanıcı ekle
    - Yetki: TAM

    ---

    3. PHP Script (Index Gönderme)

    Sunucuda dosya oluştur:

    /public_html/indexing.php

    Kod:

    <?php

    $url = "https://site.com/konu/ornek";

    $data = json_encode([
    "url" => $url,
    "type" => "URL_UPDATED"
    ]);

    $ch = curl_init("https://indexing.googleapis.com/v3/u...ations:publish");

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Content-Type: application/json",
    "Authorization: Bearer " . getAccessToken()
    ]);

    $response = curl_exec($ch);
    curl_close($ch);

    echo $response;


    // TOKEN ALMA
    function getAccessToken() {

    $json = json_decode(file_get_contents(__DIR__ . '/service-account.json'), true);

    $header = json_encode([
    "alg" => "RS256",
    "typ" => "JWT"
    ]);

    $time = time();

    $payload = json_encode([
    "iss" => $json['client_email'],
    "scope" => "https://www.googleapis.com/auth/indexing",
    "aud" => "https://oauth2.googleapis.com/token",
    "iat" => $time,
    "exp" => $time + 3600
    ]);

    $base64UrlEncode = function ($data) {
    return rtrim(strtr(base64_encode($data), '+/', '-_'), '=');
    };

    $base64Header = $base64UrlEncode($header);
    $base64Payload = $base64UrlEncode($payload);

    $signature = '';
    openssl_sign(
    $base64Header . "." . $base64Payload,
    $signature,
    $json['private_key'],
    'SHA256'
    );

    $base64Signature = $base64UrlEncode($signature);

    $jwt = $base64Header . "." . $base64Payload . "." . $base64Signature;

    $ch = curl_init("https://oauth2.googleapis.com/token");

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([
    "grant_type" => "urn:ietfaramsauth:grant-type:jwt-bearer",
    "assertion" => $jwt
    ]));

    $response = json_decode(curl_exec($ch), true);
    curl_close($ch);

    return $response['access_token'];
    }

    ---

    4. JSON Dosyasını Yerleştir

    İndirilen JSON:

    /public_html/service-account.json

    ---

    5. Cron Kurulumu

    Hosting panel → Cron Jobs

    Komut:

    php /home/kullanici/public_html/indexing.php

    ---

    Zamanlama:

    */5 * * * *

    Her 5 dakikada çalışır

    ---

    6. Dinamik URL Gönderme (ÖNEMLİ)

    Statik değil, dinamik yap:

    $url = file_get_contents("https://site.com/sitemap.xml");

    veya

    veritabanından çek:

    SELECT last_post_url FROM xf_thread

    ---

    7. Başarılı Çıktı

    {
    "urlNotificationMetadata": {
    "url": "https://site.com/konu/ornek"
    }
    }

    ---

    ÖNEMLİ

    - Bu sistem index GARANTİ etmez
    - Sadece Google’a bildirir

    ---

    Öneriler

    - Yeni konu açılınca tetikle
    - Sitemap kullan
    - Search Console’dan da gönder

    ---

    SONUÇ

    ✔ API kuruldu
    ✔ JSON bağlandı
    ✔ PHP çalışıyor
    ✔ Cron otomatik gönderiyor

    Sistem hazır

    chatgpt'den paylaşırken bazı iconları düzeltseydin? yada yazıları düzenini yapsaydın.
  • 16-05-2026, 16:40:54
    #6
    bende bir forumdan aldım hocam
    Nookta adlı üyeden alıntı: mesajı görüntüle
    chatgpt'den paylaşırken bazı iconları düzeltseydin? yada yazıları düzenini yapsaydın.