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ış:
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:ietf

arams

auth: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 Googlea bildirir
---

Öneriler
- Yeni konu açılınca tetikle
- Sitemap kullan
- Search Consoledan da gönder
---

SONUÇ
✔ API kuruldu
✔ JSON bağlandı
✔ PHP çalışıyor
✔ Cron otomatik gönderiyor
Sistem hazır